]> granicus.if.org Git - handbrake/commitdiff
Use more correct check to detect 6.0/6.1 input.
authorRodeo <tdskywalker@gmail.com>
Wed, 1 Feb 2012 00:09:17 +0000 (00:09 +0000)
committerRodeo <tdskywalker@gmail.com>
Wed, 1 Feb 2012 00:09:17 +0000 (00:09 +0000)
The old check didn't cause any issues in practice, but wasn't 100% correct.

git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4429 b64f7644-9d1e-0410-96f1-a4d463321fa5

libhb/decavcodec.c
libhb/hb.c

index 3c88be7ed36e56f73a0b5d81f61d595ce3403aac..fd58c5c285c3a395c6c6aaa0e6fe956dafd2a048 100644 (file)
@@ -215,7 +215,7 @@ static int decavcodecaInit( hb_work_object_t * w, hb_job_t * job )
     }
     else if( ( !pv->context->channels || !pv->context->channel_layout ) &&
              ( w->audio->config.in.codec == HB_ACODEC_DCA_HD ) &&
-             ( ( w->audio->config.in.channel_layout & HB_INPUT_CH_LAYOUT_3F2R ) == HB_INPUT_CH_LAYOUT_3F2R ) )
+             ( ( w->audio->config.in.channel_layout & ~HB_INPUT_CH_LAYOUT_HAS_LFE ) == HB_INPUT_CH_LAYOUT_3F2R ) )
     {
         /* XXX: when we are demuxing the stream ourselves, it seems we have no
          * channel count/layout info in the context until we decode audio for
index 90e6916ff0744afd2bf336adf6a5d325e2c5b9b3..31456784f5ca699322a30e6d27b2d5e906ca8ece 100644 (file)
@@ -306,7 +306,7 @@ void hb_ff_set_sample_fmt(AVCodecContext *context, AVCodec *codec)
 int hb_ff_dts_disable_xch( AVCodecContext *c )
 {
     if( ( c->codec_id == CODEC_ID_DTS ) &&
-        ( c->channel_layout & ( AV_CH_LAYOUT_5POINT0|AV_CH_BACK_CENTER ) ) )
+        ( ( c->channel_layout & ~AV_CH_LOW_FREQUENCY ) == ( AV_CH_LAYOUT_5POINT0|AV_CH_BACK_CENTER ) ) )
     {
         c->request_channels = --c->channels;
         c->channel_layout &= ~AV_CH_BACK_CENTER;