Mercurial > libavcodec.hg
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; }