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>
This commit is contained in:
Andreas Rheinhardt 2020-11-16 13:27:22 +01:00
parent 195d8ce85e
commit 50d50653d1
1 changed files with 5 additions and 2 deletions

View File

@ -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);