From 8d9969febdcec59fee453888ed0bb6a64adf7679 Mon Sep 17 00:00:00 2001 From: Rodeo Date: Mon, 3 Sep 2012 12:37:16 +0000 Subject: Audio improvements. New supported samplerates: 8, 11.025, 12, 16 kHz. Now 8, 11.025, 12, 16, 22.05, 24, 42, 44.1, 48 Khz are supported. Unsupported samplerates are sanitized to the closest samplerate for all encoders. Samplerates < 32 kHz are now forbidden for AC3 encoding (sanitized to 32 kHz). Most AC3 decoders don't support such samplerates. New upmixing: 3.0 (Front Left, Right & Center) can now be upmixed to 5.1 to preserve the center channel. New mixdowns: 6.1 (Front Left, Right & Center, Surround Left, Right & Center, LFE) 7.1 (Front Left, Right & Center, Surround Left & Right, Rear Left & Right, LFE) -> available to Vorbis & FLAC encoders for compatible input channel layouts 7.1 (Front Left, Right & Center, Front Left & Right of Center, Surround Left & Right, LFE) -> available to AAC encoders (ca_aac, ca_haac, faac) for compatible input channel layouts Mono (Left Only): Stereo to Mono by discarding the Right channel Mono (Right Only): Stereo to Mono by discarding the Left channel -> available to all encoders for non-Dolby Stereo input The "6-channel discrete" mixdown becomes "5.1 Channels". New bitrates: 960 - 1536 Kbps. This lets users work around poor audio quality in crappy encoders by throwing more bits at them. Bitrate limits have been re-worked and re-tested for all encoders. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4930 b64f7644-9d1e-0410-96f1-a4d463321fa5 --- macosx/HBAudioController.m | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'macosx/HBAudioController.m') diff --git a/macosx/HBAudioController.m b/macosx/HBAudioController.m index 235e39f43..b9b80bd53 100644 --- a/macosx/HBAudioController.m +++ b/macosx/HBAudioController.m @@ -90,9 +90,9 @@ NSString *HBMixdownChangedNotification = @"HBMixdownChangedNotification"; if ([anAudio enabled]) { NSString *prefix = [NSString stringWithFormat: @"Audio%d", counter + 1]; - NSNumber *sampleRateToUse = (0 == [[[anAudio sampleRate] objectForKey: keyAudioSamplerate] intValue]) ? - [[anAudio track] objectForKey: keyAudioInputSampleRate] : - [[anAudio sampleRate] objectForKey: keyAudioSamplerate]; + NSNumber *sampleRateToUse = ([[[anAudio sampleRate] objectForKey: keyAudioSamplerate] intValue] == 0 ? + [[anAudio track] objectForKey: keyAudioInputSampleRate] : + [[anAudio sampleRate] objectForKey: keyAudioSamplerate]); [aDict setObject: [[anAudio track] objectForKey: keyAudioTrackIndex] forKey: [prefix stringByAppendingString: @"Track"]]; [aDict setObject: [[anAudio track] objectForKey: keyAudioTrackName] forKey: [prefix stringByAppendingString: @"TrackDescription"]]; @@ -345,7 +345,7 @@ NSString *HBMixdownChangedNotification = @"HBMixdownChangedNotification"; [dict setObject:[NSNumber numberWithFloat:0.0] forKey:@"AudioTrackGainSlider"]; } - // map legacy passthru mixdowns + // map legacy mixdowns key = [dict objectForKey: @"AudioMixdown"]; if ([key isEqualToString: @"AC3 Passthru"] || [key isEqualToString: @"DTS Passthru"] || @@ -353,6 +353,10 @@ NSString *HBMixdownChangedNotification = @"HBMixdownChangedNotification"; { [dict setObject: @"None" forKey: @"AudioMixdown"]; } + else if ([key isEqualToString: @"6-channel discrete"]) + { + [dict setObject: @"5.1 Channels" forKey: @"AudioMixdown"]; + } // If our preset wants us to support a codec that the track does not support, instead // of changing the codec we remove the audio instead. -- cgit v1.2.3