diff options
-rw-r--r-- | libavcodec/aac_tablegen.c | 2 | ||||
-rw-r--r-- | libavcodec/aac_tablegen.h | 5 | ||||
-rw-r--r-- | libavcodec/aac_tablegen_decl.h | 2 | ||||
-rw-r--r-- | libavcodec/aaccoder.c | 1 | ||||
-rw-r--r-- | libavcodec/aacenc.c | 4 | ||||
-rw-r--r-- | libavcodec/aacenc.h | 2 |
6 files changed, 9 insertions, 7 deletions
diff --git a/libavcodec/aac_tablegen.c b/libavcodec/aac_tablegen.c index 33a179f51e..2d13211d45 100644 --- a/libavcodec/aac_tablegen.c +++ b/libavcodec/aac_tablegen.c @@ -33,5 +33,7 @@ int main(void) WRITE_ARRAY("const", float, ff_aac_pow2sf_tab); + WRITE_ARRAY("const", float, ff_aac_pow34sf_tab); + return 0; } diff --git a/libavcodec/aac_tablegen.h b/libavcodec/aac_tablegen.h index bf71e59cb5..8b223f972e 100644 --- a/libavcodec/aac_tablegen.h +++ b/libavcodec/aac_tablegen.h @@ -30,12 +30,15 @@ #else #include "libavutil/mathematics.h" float ff_aac_pow2sf_tab[428]; +float ff_aac_pow34sf_tab[428]; av_cold void ff_aac_tableinit(void) { int i; - for (i = 0; i < 428; i++) + for (i = 0; i < 428; i++) { ff_aac_pow2sf_tab[i] = pow(2, (i - POW_SF2_ZERO) / 4.0); + ff_aac_pow34sf_tab[i] = pow(ff_aac_pow2sf_tab[i], 3.0/4.0); + } } #endif /* CONFIG_HARDCODED_TABLES */ diff --git a/libavcodec/aac_tablegen_decl.h b/libavcodec/aac_tablegen_decl.h index 5105dae483..ef86f85e1f 100644 --- a/libavcodec/aac_tablegen_decl.h +++ b/libavcodec/aac_tablegen_decl.h @@ -28,9 +28,11 @@ #if CONFIG_HARDCODED_TABLES #define ff_aac_tableinit() extern const float ff_aac_pow2sf_tab[428]; +extern const float ff_aac_pow34sf_tab[428]; #else void ff_aac_tableinit(void); extern float ff_aac_pow2sf_tab[428]; +extern float ff_aac_pow34sf_tab[428]; #endif /* CONFIG_HARDCODED_TABLES */ #endif /* AVCODEC_AAC_TABLEGEN_DECL_H */ diff --git a/libavcodec/aaccoder.c b/libavcodec/aaccoder.c index 5bdba46b92..17b14d6381 100644 --- a/libavcodec/aaccoder.c +++ b/libavcodec/aaccoder.c @@ -39,6 +39,7 @@ #include "aac.h" #include "aacenc.h" #include "aactab.h" +#include "aac_tablegen_decl.h" /** Frequency in Hz for lower limit of noise substitution **/ #define NOISE_LOW_LIMIT 4500 diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c index f05f51b571..a3c31de684 100644 --- a/libavcodec/aacenc.c +++ b/libavcodec/aacenc.c @@ -58,7 +58,6 @@ av_log(avctx, AV_LOG_WARNING, __VA_ARGS__); \ } -float ff_aac_pow34sf_tab[428]; static const uint8_t swb_size_1024_96[] = { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 8, 8, 8, 8, @@ -855,9 +854,6 @@ static av_cold int aac_encode_init(AVCodecContext *avctx) ff_aac_tableinit(); - for (i = 0; i < 428; i++) - ff_aac_pow34sf_tab[i] = sqrt(ff_aac_pow2sf_tab[i] * sqrt(ff_aac_pow2sf_tab[i])); - avctx->initial_padding = 1024; ff_af_queue_init(avctx, &s->afq); diff --git a/libavcodec/aacenc.h b/libavcodec/aacenc.h index 966c70889e..42104552eb 100644 --- a/libavcodec/aacenc.h +++ b/libavcodec/aacenc.h @@ -95,8 +95,6 @@ typedef struct AACEncContext { } buffer; } AACEncContext; -extern float ff_aac_pow34sf_tab[428]; - void ff_aac_coder_init_mips(AACEncContext *c); #endif /* AVCODEC_AACENC_H */ |