mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-19 05:49:09 +02:00
avcodec/mpegaudiodec_template: Avoid VLC size tables
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
parent
8c6a67e6c4
commit
117575ae26
@ -103,13 +103,8 @@ static VLC_TYPE huff_vlc_tables[
|
||||
0 + 128 + 128 + 128 + 130 + 128 + 154 + 166 +
|
||||
142 + 204 + 190 + 170 + 542 + 460 + 662 + 414
|
||||
][2];
|
||||
static const int huff_vlc_tables_sizes[16] = {
|
||||
0, 128, 128, 128, 130, 128, 154, 166,
|
||||
142, 204, 190, 170, 542, 460, 662, 414
|
||||
};
|
||||
static VLC huff_quad_vlc[2];
|
||||
static VLC_TYPE huff_quad_vlc_tables[64+16][2];
|
||||
static const int huff_quad_vlc_tables_sizes[2] = { 64, 16 };
|
||||
/* computed from band_size_long */
|
||||
static uint16_t band_index_long[9][23];
|
||||
#include "mpegaudio_tablegen.h"
|
||||
@ -309,22 +304,23 @@ static av_cold void decode_init_static(void)
|
||||
|
||||
/* XXX: fail test */
|
||||
huff_vlc[i].table = huff_vlc_tables+offset;
|
||||
huff_vlc[i].table_allocated = huff_vlc_tables_sizes[i];
|
||||
huff_vlc[i].table_allocated = FF_ARRAY_ELEMS(huff_vlc_tables) - offset;
|
||||
init_vlc(&huff_vlc[i], 7, 512,
|
||||
tmp_bits, 1, 1, tmp_codes, 2, 2,
|
||||
INIT_VLC_USE_NEW_STATIC);
|
||||
offset += huff_vlc_tables_sizes[i];
|
||||
INIT_VLC_STATIC_OVERLONG);
|
||||
offset += huff_vlc[i].table_size;
|
||||
}
|
||||
av_assert0(offset == FF_ARRAY_ELEMS(huff_vlc_tables));
|
||||
|
||||
offset = 0;
|
||||
for (i = 0; i < 2; i++) {
|
||||
int bits = i == 0 ? 6 : 4;
|
||||
huff_quad_vlc[i].table = huff_quad_vlc_tables+offset;
|
||||
huff_quad_vlc[i].table_allocated = huff_quad_vlc_tables_sizes[i];
|
||||
init_vlc(&huff_quad_vlc[i], i == 0 ? 6 : 4, 16,
|
||||
huff_quad_vlc[i].table_allocated = 1 << bits;
|
||||
offset += 1 << bits;
|
||||
init_vlc(&huff_quad_vlc[i], bits, 16,
|
||||
mpa_quad_bits[i], 1, 1, mpa_quad_codes[i], 1, 1,
|
||||
INIT_VLC_USE_NEW_STATIC);
|
||||
offset += huff_quad_vlc_tables_sizes[i];
|
||||
}
|
||||
av_assert0(offset == FF_ARRAY_ELEMS(huff_quad_vlc_tables));
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user