]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/dcadsp.c
avcodec/dca: clear X96 channels if nothing was decoded
[ffmpeg] / libavcodec / dcadsp.c
index 787d7b827a5989e0c293f97c46ae3f16a4bb69b9..09faee51fb1157388c36a68c3361fbe4d90c9ba3 100644 (file)
@@ -84,13 +84,13 @@ static void lfe_fir_float_c(float *pcm_samples, int32_t *lfe_samples,
     }
 }
 
-static void lfe_fir1_float_c(float *pcm_samples, int32_t *lfe_samples,
+static void lfe_fir0_float_c(float *pcm_samples, int32_t *lfe_samples,
                              const float *filter_coeff, ptrdiff_t npcmblocks)
 {
     lfe_fir_float_c(pcm_samples, lfe_samples, filter_coeff, npcmblocks, 0);
 }
 
-static void lfe_fir2_float_c(float *pcm_samples, int32_t *lfe_samples,
+static void lfe_fir1_float_c(float *pcm_samples, int32_t *lfe_samples,
                              const float *filter_coeff, ptrdiff_t npcmblocks)
 {
     lfe_fir_float_c(pcm_samples, lfe_samples, filter_coeff, npcmblocks, 1);
@@ -390,8 +390,8 @@ av_cold void ff_dcadsp_init(DCADSPContext *s)
     s->decode_hf     = decode_hf_c;
     s->decode_joint  = decode_joint_c;
 
-    s->lfe_fir_float[0] = lfe_fir1_float_c;
-    s->lfe_fir_float[1] = lfe_fir2_float_c;
+    s->lfe_fir_float[0] = lfe_fir0_float_c;
+    s->lfe_fir_float[1] = lfe_fir1_float_c;
     s->lfe_x96_float    = lfe_x96_float_c;
     s->sub_qmf_float[0] = sub_qmf32_float_c;
     s->sub_qmf_float[1] = sub_qmf64_float_c;
@@ -410,4 +410,7 @@ av_cold void ff_dcadsp_init(DCADSPContext *s)
     s->dmix_scale_inv = dmix_scale_inv_c;
 
     s->assemble_freq_bands = assemble_freq_bands_c;
+
+    if (ARCH_X86)
+        ff_dcadsp_init_x86(s);
 }