dcadec: skip QMF on unused channels
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 29 Oct 2012 04:21:47 +0000 (05:21 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 29 Oct 2012 04:21:47 +0000 (05:21 +0100)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/dcadec.c

index 42f1eed..d35cc3f 100644 (file)
@@ -1442,6 +1442,7 @@ static int dca_filter_channels(DCAContext *s, int block_index)
     for (k = 0; k < s->prim_channels; k++) {
 /*        static float pcm_to_double[8] = { 32768.0, 32768.0, 524288.0, 524288.0,
                                             0, 8388608.0, 8388608.0 };*/
+        if(s->channel_order_tab[k] >= 0)
         qmf_32_subbands(s, k, subband_samples[k],
                         s->samples_chanptr[s->channel_order_tab[k]],
                         M_SQRT1_2 / 32768.0 /* pcm_to_double[s->source_pcm_res] */);