[FFmpeg-cvslog] r22167 - trunk/libavcodec/binkaudio.c

pross subversion
Wed Mar 3 10:51:56 CET 2010


Author: pross
Date: Wed Mar  3 10:51:56 2010
New Revision: 22167

Log:
Perform coefficient transformations in Bink Audio DCT decoder (issue1770)

Modified:
   trunk/libavcodec/binkaudio.c

Modified: trunk/libavcodec/binkaudio.c
==============================================================================
--- trunk/libavcodec/binkaudio.c	Wed Mar  3 10:44:30 2010	(r22166)
+++ trunk/libavcodec/binkaudio.c	Wed Mar  3 10:51:56 2010	(r22167)
@@ -125,7 +125,7 @@ static av_cold int decode_init(AVCodecCo
     if (CONFIG_BINKAUDIO_RDFT_DECODER && avctx->codec->id == CODEC_ID_BINKAUDIO_RDFT)
         ff_rdft_init(&s->trans.rdft, frame_len_bits, IRIDFT);
     else if (CONFIG_BINKAUDIO_DCT_DECODER)
-        ff_dct_init(&s->trans.dct, frame_len_bits, 0);
+        ff_dct_init(&s->trans.dct, frame_len_bits, 1);
     else
         return -1;
 
@@ -211,8 +211,11 @@ static void decode_block(BinkAudioContex
             }
         }
 
-        if (CONFIG_BINKAUDIO_DCT_DECODER && use_dct)
+        if (CONFIG_BINKAUDIO_DCT_DECODER && use_dct) {
+            coeffs[0] /= 0.5;
             ff_dct_calc (&s->trans.dct,  coeffs);
+            s->dsp.vector_fmul_scalar(coeffs, coeffs, s->frame_len / 2, s->frame_len);
+        }
         else if (CONFIG_BINKAUDIO_RDFT_DECODER)
             ff_rdft_calc(&s->trans.rdft, coeffs);
     }



More information about the ffmpeg-cvslog mailing list