]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/rdft.c
Indeo 5 decoder
[ffmpeg] / libavcodec / rdft.c
index 01aef872c2c3ddfa5ec9533a1f9c0cb8d5698eec..d6f82a7c7e148e14c42da56cbdac15ec03a41402 100644 (file)
@@ -43,6 +43,7 @@ SINTABLE(32768);
 SINTABLE(65536);
 #endif
 SINTABLE_CONST FFTSample * const ff_sin_tabs[] = {
+    NULL, NULL, NULL, NULL,
     ff_sin_16, ff_sin_32, ff_sin_64, ff_sin_128, ff_sin_256, ff_sin_512, ff_sin_1024,
     ff_sin_2048, ff_sin_4096, ff_sin_8192, ff_sin_16384, ff_sin_32768, ff_sin_65536,
 };
@@ -63,8 +64,9 @@ av_cold int ff_rdft_init(RDFTContext *s, int nbits, enum RDFTransformType trans)
     if (ff_fft_init(&s->fft, nbits-1, trans == IRDFT || trans == RIDFT) < 0)
         return -1;
 
-    s->tcos = ff_cos_tabs[nbits-4];
-    s->tsin = ff_sin_tabs[nbits-4]+(trans == RDFT || trans == IRIDFT)*(n>>2);
+    ff_init_ff_cos_tabs(nbits);
+    s->tcos = ff_cos_tabs[nbits];
+    s->tsin = ff_sin_tabs[nbits]+(trans == RDFT || trans == IRIDFT)*(n>>2);
 #if !CONFIG_HARDCODED_TABLES
     for (i = 0; i < (n>>2); i++) {
         s->tsin[i] = sin(i*theta);