diff options
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/atrac3.c | 13 | ||||
-rw-r--r-- | libavcodec/atrac3data.h | 4 |
2 files changed, 8 insertions, 9 deletions
diff --git a/libavcodec/atrac3.c b/libavcodec/atrac3.c index dc68e507aa..01b7f06bff 100644 --- a/libavcodec/atrac3.c +++ b/libavcodec/atrac3.c @@ -58,6 +58,8 @@ #define SAMPLES_PER_FRAME 1024 #define MDCT_SIZE 512 +#define ATRAC3_VLC_BITS 8 + typedef struct GainBlock { AtracGainInfo g_block[4]; } GainBlock; @@ -116,7 +118,7 @@ typedef struct ATRAC3Context { } ATRAC3Context; static DECLARE_ALIGNED(32, float, mdct_window)[MDCT_SIZE]; -static VLC_TYPE atrac3_vlc_table[4096][2]; +static VLC_TYPE atrac3_vlc_table[7 * 1 << ATRAC3_VLC_BITS][2]; static VLC spectral_coeff_tab[7]; /** @@ -851,6 +853,7 @@ static int atrac3al_decode_frame(AVCodecContext *avctx, void *data, static av_cold void atrac3_init_static_data(void) { + VLC_TYPE (*table)[2] = atrac3_vlc_table; int i; init_imdct_window(); @@ -858,12 +861,12 @@ static av_cold void atrac3_init_static_data(void) /* Initialize the VLC tables. */ for (i = 0; i < 7; i++) { - spectral_coeff_tab[i].table = &atrac3_vlc_table[atrac3_vlc_offs[i]]; - spectral_coeff_tab[i].table_allocated = atrac3_vlc_offs[i + 1] - - atrac3_vlc_offs[i ]; - init_vlc(&spectral_coeff_tab[i], 9, huff_tab_sizes[i], + spectral_coeff_tab[i].table = table; + spectral_coeff_tab[i].table_allocated = 256; + init_vlc(&spectral_coeff_tab[i], ATRAC3_VLC_BITS, huff_tab_sizes[i], huff_bits[i], 1, 1, huff_codes[i], 1, 1, INIT_VLC_USE_NEW_STATIC); + table += 256; } } diff --git a/libavcodec/atrac3data.h b/libavcodec/atrac3data.h index 5d91274f48..a731fb7c4a 100644 --- a/libavcodec/atrac3data.h +++ b/libavcodec/atrac3data.h @@ -103,10 +103,6 @@ static const uint8_t* const huff_bits[7] = { huffbits1, huffbits2, huffbits3, huffbits4, huffbits5, huffbits6, huffbits7, }; -static const uint16_t atrac3_vlc_offs[9] = { - 0, 512, 1024, 1536, 2048, 2560, 3072, 3584, 4096 -}; - /* selector tables */ static const uint8_t clc_length_tab[8] = { 0, 4, 3, 3, 4, 4, 5, 6 }; |