diff options
author | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2020-11-16 13:27:22 +0100 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2020-11-24 11:35:03 +0100 |
commit | 50d50653d106184b60f464eeba20e132c137090e (patch) | |
tree | be69604fdfd7184d91b8a08e287c984fe404a49c | |
parent | 195d8ce85eb73ff283f85dcee63383ec4081e3e7 (diff) | |
download | ffmpeg-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.c | 7 |
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); |