aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-11-06 13:30:20 +0100
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-12-08 17:51:47 +0100
commitba69ee8801dbb8641ea575c33d3b083e251e757b (patch)
treeb87e54d233f24d7688e3165149f4e496e4ac1453
parent420476ec7819ae15efb6d294767c454601715d74 (diff)
downloadffmpeg-ba69ee8801dbb8641ea575c33d3b083e251e757b.tar.gz
avcodec/intrax8: Remove VLC offsets table
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
-rw-r--r--libavcodec/intrax8.c30
1 files changed, 9 insertions, 21 deletions
diff --git a/libavcodec/intrax8.c b/libavcodec/intrax8.c
index b85653881d..1d4aa879b1 100644
--- a/libavcodec/intrax8.c
+++ b/libavcodec/intrax8.c
@@ -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++)