diff rdft.c @ 10408:8fd8f6c1cdcc libavcodec

Add support for hardcoded ff_sin_* tables.
author reimar
date Thu, 15 Oct 2009 18:04:55 +0000
parents 57acce8b1380
children 63910f7ba293
line wrap: on
line diff
--- a/rdft.c	Thu Oct 15 17:55:51 2009 +0000
+++ b/rdft.c	Thu Oct 15 18:04:55 2009 +0000
@@ -27,6 +27,7 @@
  */
 
 /* sin(2*pi*x/n) for 0<=x<n/4, followed by n/2<=x<3n/4 */
+#if !CONFIG_HARDCODED_TABLES
 SINTABLE(16);
 SINTABLE(32);
 SINTABLE(64);
@@ -40,7 +41,8 @@
 SINTABLE(16384);
 SINTABLE(32768);
 SINTABLE(65536);
-FFTSample * const ff_sin_tabs[] = {
+#endif
+SINTABLE_CONST FFTSample * const ff_sin_tabs[] = {
     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,9 +65,11 @@
 
     s->tcos = ff_cos_tabs[nbits-4];
     s->tsin = ff_sin_tabs[nbits-4]+(trans == RDFT || trans == IRIDFT)*(n>>2);
+#if !CONFIG_HARDCODED_TABLES
     for (i = 0; i < (n>>2); i++) {
         s->tsin[i] = sin(i*theta);
     }
+#endif
     return 0;
 }