Mercurial > libavcodec.hg
changeset 10877:9ad6c1c4455c libavcodec
AAC: Reduce depth of vlc_spectral tables to 2
Up to 6% faster overall on i7, no change on A8.
author | mru |
---|---|
date | Wed, 13 Jan 2010 16:46:39 +0000 |
parents | 03d8758218d2 |
children | a8620b001ed3 |
files | aac.c aac.h |
diffstat | 2 files changed, 17 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/aac.c Wed Jan 13 16:46:35 2010 +0000 +++ b/aac.c Wed Jan 13 16:46:39 2010 +0000 @@ -508,17 +508,17 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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;
--- a/aac.h Wed Jan 13 16:46:35 2010 +0000 +++ b/aac.h Wed Jan 13 16:46:39 2010 +0000 @@ -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);