aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-11-16 13:27:22 +0100
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-11-24 11:35:03 +0100
commit50d50653d106184b60f464eeba20e132c137090e (patch)
treebe69604fdfd7184d91b8a08e287c984fe404a49c
parent195d8ce85eb73ff283f85dcee63383ec4081e3e7 (diff)
downloadffmpeg-50d50653d106184b60f464eeba20e132c137090e.tar.gz
avcodec/imm4: Don't use too big VLC table
Using more bits than the longest code has makes no sense. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
-rw-r--r--libavcodec/imm4.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libavcodec/imm4.c b/libavcodec/imm4.c
index d92bc30ddc..85d8526bc8 100644
--- a/libavcodec/imm4.c
+++ b/libavcodec/imm4.c
@@ -33,6 +33,8 @@
#include "idctdsp.h"
#include "internal.h"
+#define CBPLO_VLC_BITS 6
+
typedef struct IMM4Context {
BswapDSPContext bdsp;
GetBitContext gb;
@@ -488,8 +490,9 @@ static int decode_frame(AVCodecContext *avctx, void *data,
static av_cold void imm4_init_static_data(void)
{
- INIT_VLC_SPARSE_STATIC(&cbplo_tab, 9, FF_ARRAY_ELEMS(cbplo_bits),
- cbplo_bits, 1, 1, cbplo_codes, 1, 1, cbplo_symbols, 1, 1, 512);
+ INIT_VLC_SPARSE_STATIC(&cbplo_tab, CBPLO_VLC_BITS, FF_ARRAY_ELEMS(cbplo_bits),
+ cbplo_bits, 1, 1, cbplo_codes, 1, 1, cbplo_symbols, 1, 1,
+ 1 << CBPLO_VLC_BITS);
INIT_VLC_SPARSE_STATIC(&cbphi_tab, 6, FF_ARRAY_ELEMS(cbphi_bits),
cbphi_bits, 1, 1, cbphi_codes, 1, 1, NULL, 0, 0, 64);