summaryrefslogtreecommitdiffstats
path: root/libhb/stream.c
diff options
context:
space:
mode:
authorRodeo <[email protected]>2011-09-09 02:37:16 +0000
committerRodeo <[email protected]>2011-09-09 02:37:16 +0000
commita25b6621a54eef55fffbfe9d2cfb4987327e3434 (patch)
treee067d9e73f6a1775acd9d9e73f78691b0547bb1a /libhb/stream.c
parentc3c4a5b9ed6baa30f35d5701148b2a755b98817f (diff)
libhb: work around the lack of 6.1 support for DTS sources
libhb doesn't support 6.1 sources and assumes they're 7.0 instead. This breaks downmixing. Libav can decode the DTS-ES 6.1 core of DTS-HD 6.1 audio tracks; tell it to not process the additional channel so that such tracks can be re-encoded correctly. See https://reviews.handbrake.fr/r/200/ for more information. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4209 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/stream.c')
-rw-r--r--libhb/stream.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libhb/stream.c b/libhb/stream.c
index adc42b622..517e29ee4 100644
--- a/libhb/stream.c
+++ b/libhb/stream.c
@@ -3308,6 +3308,12 @@ static void add_ffmpeg_audio( hb_title_t *title, hb_stream_t *stream, int id )
AVDictionaryEntry *tag;
int layout;
+ // DTS: work around lack of 6.1 support in libhb
+ if( hb_ff_dts_request_5point1( codec ) )
+ {
+ hb_deep_log( 2, "add_ffmpeg_audio: found DTS-ES 6.1, requesting 5.1 core" );
+ }
+
// scan will ignore any audio without a bitrate. Since we've already
// typed the audio in order to determine its codec we set up the audio
// paramters here.