diff options
author | Rodeo <[email protected]> | 2012-02-01 22:50:26 +0000 |
---|---|---|
committer | Rodeo <[email protected]> | 2012-02-01 22:50:26 +0000 |
commit | f193c9e172af839d920180e59c9c5dc28125fe82 (patch) | |
tree | 506df3a392073e42b00709ec371319be6b4167f0 /libhb/stream.c | |
parent | 29b5e839a306b41279935fa13a41aee9d256c7a0 (diff) |
Use libdca to decode DTS-ES audio. While the Libav DTS decoder gives us an extra channel, we can't do anything with it for the time being.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4430 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/stream.c')
-rw-r--r-- | libhb/stream.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/libhb/stream.c b/libhb/stream.c index b89836b14..93167ba92 100644 --- a/libhb/stream.c +++ b/libhb/stream.c @@ -3847,23 +3847,17 @@ static int probe_dts_profile( hb_pes_stream_t *pes ) } switch (info.profile) { + /* When we improve handling of channels > 5.1, we should move + * DTS_ES down to use libav for decode */ case FF_PROFILE_DTS: + case FF_PROFILE_DTS_ES: case FF_PROFILE_DTS_96_24: pes->codec = HB_ACODEC_DCA; pes->stream_type = 0x82; pes->stream_kind = A; break; - case FF_PROFILE_DTS_ES: - pes->stream_type = 0; - pes->stream_kind = A; - break; - case FF_PROFILE_DTS_HD_HRA: - pes->stream_type = 0; - pes->stream_kind = A; - break; - case FF_PROFILE_DTS_HD_MA: pes->stream_type = 0; pes->stream_kind = A; @@ -4909,8 +4903,11 @@ static void add_ffmpeg_audio( hb_title_t *title, hb_stream_t *stream, int id ) { audio->config.in.codec = HB_ACODEC_AC3; } + /* When we improve handling of channels > 5.1, we should move + * DTS_ES down to use libav for decode */ else if ( codec->codec_id == CODEC_ID_DTS && ( codec->profile == FF_PROFILE_DTS || + codec->profile == FF_PROFILE_DTS_ES || codec->profile == FF_PROFILE_DTS_96_24 ) ) { audio->config.in.codec = HB_ACODEC_DCA; @@ -4918,8 +4915,7 @@ static void add_ffmpeg_audio( hb_title_t *title, hb_stream_t *stream, int id ) else { if ( codec->codec_id == CODEC_ID_DTS && - ( codec->profile == FF_PROFILE_DTS_ES || - codec->profile == FF_PROFILE_DTS_HD_MA || + ( codec->profile == FF_PROFILE_DTS_HD_MA || codec->profile == FF_PROFILE_DTS_HD_HRA ) ) { audio->config.in.codec = HB_ACODEC_DCA_HD; |