summaryrefslogtreecommitdiffstats
path: root/libhb/hb.c
diff options
context:
space:
mode:
Diffstat (limited to 'libhb/hb.c')
-rw-r--r--libhb/hb.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/libhb/hb.c b/libhb/hb.c
index 0e3e9e572..90e6916ff 100644
--- a/libhb/hb.c
+++ b/libhb/hb.c
@@ -300,16 +300,15 @@ void hb_ff_set_sample_fmt(AVCodecContext *context, AVCodec *codec)
}
}
-// Libav can decode DTS-ES 6.1 (5.1 core + XCh extension)
-// but we don't support 6.1 (and incorrectly assume 7.0)
-// request 6 channels to disable XCh processing in Libav
-int hb_ff_dts_request_5point1( AVCodecContext *c )
+// Libav can decode DTS-ES 6.0/6.1 (5.0/5.1 core + XCh extension)
+// but we don't support 6.0/6.1 (and incorrectly assume 5.1/7.0)
+// request channels-1 to disable XCh processing in Libav
+int hb_ff_dts_disable_xch( AVCodecContext *c )
{
if( ( c->codec_id == CODEC_ID_DTS ) &&
- ( c->channels == 7 ) &&
- ( c->channel_layout & ( AV_CH_BACK_CENTER|AV_CH_LOW_FREQUENCY ) ) )
+ ( c->channel_layout & ( AV_CH_LAYOUT_5POINT0|AV_CH_BACK_CENTER ) ) )
{
- c->request_channels = c->channels = 6;
+ c->request_channels = --c->channels;
c->channel_layout &= ~AV_CH_BACK_CENTER;
return 1;
}