|
|
|
@ -51,18 +51,6 @@ static av_cold void x8_vlc_init(void) |
|
|
|
|
{ |
|
|
|
|
int i; |
|
|
|
|
int offset = 0; |
|
|
|
|
int sizeidx = 0; |
|
|
|
|
static const uint16_t sizes[8 * 4 + 8 * 2 + 2 + 4] = { |
|
|
|
|
576, 548, 582, 618, 546, 616, 560, 642, |
|
|
|
|
584, 582, 704, 664, 512, 544, 656, 640, |
|
|
|
|
512, 648, 582, 566, 532, 614, 596, 648, |
|
|
|
|
586, 552, 584, 590, 544, 578, 584, 624, |
|
|
|
|
|
|
|
|
|
528, 528, 526, 528, 536, 528, 526, 544, |
|
|
|
|
544, 512, 512, 528, 528, 544, 512, 544, |
|
|
|
|
|
|
|
|
|
128, 128, 128, 128, 128, 128, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static VLC_TYPE table[28150][2]; |
|
|
|
|
|
|
|
|
@ -70,10 +58,10 @@ static av_cold void x8_vlc_init(void) |
|
|
|
|
#define init_ac_vlc(dst, src) \ |
|
|
|
|
do { \
|
|
|
|
|
dst.table = &table[offset]; \
|
|
|
|
|
dst.table_allocated = sizes[sizeidx]; \
|
|
|
|
|
offset += sizes[sizeidx++]; \
|
|
|
|
|
dst.table_allocated = FF_ARRAY_ELEMS(table) - offset; \
|
|
|
|
|
init_vlc(&dst, AC_VLC_BITS, 77, &src[1], 4, 2, &src[0], 4, 2, \
|
|
|
|
|
INIT_VLC_USE_NEW_STATIC); \
|
|
|
|
|
INIT_VLC_STATIC_OVERLONG); \
|
|
|
|
|
offset += dst.table_size; \
|
|
|
|
|
} while(0) |
|
|
|
|
|
|
|
|
|
for (i = 0; i < 8; i++) { |
|
|
|
@ -88,10 +76,10 @@ static av_cold void x8_vlc_init(void) |
|
|
|
|
#define init_dc_vlc(dst, src) \ |
|
|
|
|
do { \
|
|
|
|
|
dst.table = &table[offset]; \
|
|
|
|
|
dst.table_allocated = sizes[sizeidx]; \
|
|
|
|
|
offset += sizes[sizeidx++]; \
|
|
|
|
|
dst.table_allocated = FF_ARRAY_ELEMS(table) - offset; \
|
|
|
|
|
init_vlc(&dst, DC_VLC_BITS, 34, &src[1], 4, 2, &src[0], 4, 2, \
|
|
|
|
|
INIT_VLC_USE_NEW_STATIC); \
|
|
|
|
|
INIT_VLC_STATIC_OVERLONG); \
|
|
|
|
|
offset += dst.table_size; \
|
|
|
|
|
} while(0) |
|
|
|
|
|
|
|
|
|
for (i = 0; i < 8; i++) { |
|
|
|
@ -104,10 +92,10 @@ static av_cold void x8_vlc_init(void) |
|
|
|
|
#define init_or_vlc(dst, src) \ |
|
|
|
|
do { \
|
|
|
|
|
dst.table = &table[offset]; \
|
|
|
|
|
dst.table_allocated = sizes[sizeidx]; \
|
|
|
|
|
offset += sizes[sizeidx++]; \
|
|
|
|
|
dst.table_allocated = FF_ARRAY_ELEMS(table) - offset; \
|
|
|
|
|
init_vlc(&dst, OR_VLC_BITS, 12, &src[1], 4, 2, &src[0], 4, 2, \
|
|
|
|
|
INIT_VLC_USE_NEW_STATIC); \
|
|
|
|
|
INIT_VLC_STATIC_OVERLONG); \
|
|
|
|
|
offset += dst.table_size; \
|
|
|
|
|
} while(0) |
|
|
|
|
|
|
|
|
|
for (i = 0; i < 2; i++) |
|
|
|
|