diff options
author | Måns Rullgård <mans@mansr.com> | 2010-01-13 16:46:39 +0000 |
---|---|---|
committer | Måns Rullgård <mans@mansr.com> | 2010-01-13 16:46:39 +0000 |
commit | 2ef21b91796fb7c614b12141a3b1e18fbec72c8a (patch) | |
tree | 219c21640d6bc6363a5dc678f23ea3570397d10a | |
parent | 95dff4aceda3fa8013908cfe8b50355662ba90f2 (diff) | |
download | ffmpeg-2ef21b91796fb7c614b12141a3b1e18fbec72c8a.tar.gz |
AAC: Reduce depth of vlc_spectral tables to 2
Up to 6% faster overall on i7, no change on A8.
Originally committed as revision 21191 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavcodec/aac.c | 32 | ||||
-rw-r--r-- | libavcodec/aac.h | 2 |
2 files changed, 17 insertions, 17 deletions
diff --git a/libavcodec/aac.c b/libavcodec/aac.c index 1341258a7f..b47b58e291 100644 --- a/libavcodec/aac.c +++ b/libavcodec/aac.c @@ -508,17 +508,17 @@ static av_cold int aac_decode_init(AVCodecContext *avccontext) avccontext->sample_fmt = SAMPLE_FMT_S16; avccontext->frame_size = 1024; - AAC_INIT_VLC_STATIC( 0, 144); - AAC_INIT_VLC_STATIC( 1, 114); - AAC_INIT_VLC_STATIC( 2, 188); - AAC_INIT_VLC_STATIC( 3, 180); - AAC_INIT_VLC_STATIC( 4, 172); - AAC_INIT_VLC_STATIC( 5, 140); - AAC_INIT_VLC_STATIC( 6, 168); - AAC_INIT_VLC_STATIC( 7, 114); - AAC_INIT_VLC_STATIC( 8, 262); - AAC_INIT_VLC_STATIC( 9, 248); - AAC_INIT_VLC_STATIC(10, 384); + AAC_INIT_VLC_STATIC( 0, 304); + AAC_INIT_VLC_STATIC( 1, 270); + AAC_INIT_VLC_STATIC( 2, 550); + AAC_INIT_VLC_STATIC( 3, 300); + AAC_INIT_VLC_STATIC( 4, 328); + AAC_INIT_VLC_STATIC( 5, 294); + AAC_INIT_VLC_STATIC( 6, 306); + AAC_INIT_VLC_STATIC( 7, 268); + AAC_INIT_VLC_STATIC( 8, 510); + AAC_INIT_VLC_STATIC( 9, 366); + AAC_INIT_VLC_STATIC(10, 462); dsputil_init(&ac->dsp, avccontext); @@ -989,7 +989,7 @@ static int decode_spectrum_and_dequant(AACContext *ac, float coef[1024], int len = off_len; do { - const int index = get_vlc2(gb, vlc_tab, 6, 3); + const int index = get_vlc2(gb, vlc_tab, 8, 2); unsigned cb_idx; if (index >= cb_size) { @@ -1009,7 +1009,7 @@ static int decode_spectrum_and_dequant(AACContext *ac, float coef[1024], int len = off_len; do { - const int index = get_vlc2(gb, vlc_tab, 6, 3); + const int index = get_vlc2(gb, vlc_tab, 8, 2); unsigned nnz; unsigned cb_idx; uint32_t bits; @@ -1033,7 +1033,7 @@ static int decode_spectrum_and_dequant(AACContext *ac, float coef[1024], int len = off_len; do { - const int index = get_vlc2(gb, vlc_tab, 6, 3); + const int index = get_vlc2(gb, vlc_tab, 8, 2); unsigned cb_idx; if (index >= cb_size) { @@ -1054,7 +1054,7 @@ static int decode_spectrum_and_dequant(AACContext *ac, float coef[1024], int len = off_len; do { - const int index = get_vlc2(gb, vlc_tab, 6, 3); + const int index = get_vlc2(gb, vlc_tab, 8, 2); unsigned nnz; unsigned cb_idx; unsigned sign; @@ -1079,7 +1079,7 @@ static int decode_spectrum_and_dequant(AACContext *ac, float coef[1024], int len = off_len; do { - const int index = get_vlc2(gb, vlc_tab, 6, 3); + const int index = get_vlc2(gb, vlc_tab, 8, 2); unsigned nzt, nnz; unsigned cb_idx; uint32_t bits; diff --git a/libavcodec/aac.h b/libavcodec/aac.h index 3472a6163d..89f988f64e 100644 --- a/libavcodec/aac.h +++ b/libavcodec/aac.h @@ -37,7 +37,7 @@ #include <stdint.h> #define AAC_INIT_VLC_STATIC(num, size) \ - INIT_VLC_STATIC(&vlc_spectral[num], 6, ff_aac_spectral_sizes[num], \ + INIT_VLC_STATIC(&vlc_spectral[num], 8, ff_aac_spectral_sizes[num], \ ff_aac_spectral_bits[num], sizeof( ff_aac_spectral_bits[num][0]), sizeof( ff_aac_spectral_bits[num][0]), \ ff_aac_spectral_codes[num], sizeof(ff_aac_spectral_codes[num][0]), sizeof(ff_aac_spectral_codes[num][0]), \ size); |