aacdec: use a scale of 2 in the LTP MDCT rather than doubling the coefficient
authorJustin Ruggles <justin.ruggles@gmail.com>
Tue, 26 Apr 2011 19:30:19 +0000 (15:30 -0400)
committerJustin Ruggles <justin.ruggles@gmail.com>
Wed, 27 Apr 2011 16:39:37 +0000 (12:39 -0400)
table values from the spec.

libavcodec/aacdec.c
libavcodec/aacdectab.h

index bcc277c..cbaecf9 100644 (file)
@@ -593,7 +593,7 @@ static av_cold int aac_decode_init(AVCodecContext *avctx)
 
     ff_mdct_init(&ac->mdct,       11, 1, 1.0);
     ff_mdct_init(&ac->mdct_small,  8, 1, 1.0);
-    ff_mdct_init(&ac->mdct_ltp,   11, 0, 1.0);
+    ff_mdct_init(&ac->mdct_ltp,   11, 0, 2.0);
     // window initialization
     ff_kbd_window_init(ff_aac_kbd_long_1024, 4.0, 1024);
     ff_kbd_window_init(ff_aac_kbd_short_128, 6.0, 128);
index 64c2a1c..23a7868 100644 (file)
 #include <stdint.h>
 
 /* @name ltp_coef
- * Table of the LTP coefficient (multiplied by 2)
+ * Table of the LTP coefficients
  */
 static const float ltp_coef[8] = {
-     1.141658,    1.393232,    1.626008,    1.822608,
-     1.969800,    2.135788,    2.2389202,   2.739066,
+    0.570829, 0.696616, 0.813004, 0.911304,
+    0.984900, 1.067894, 1.194601, 1.369533,
 };
 
 /* @name tns_tmp2_map