avcodec/wnv1: Avoid unnecessary VLC structure
Everything besides VLC.table is basically write-only and even VLC.table can be removed by accessing the underlying table directly. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
parent
1ae750a16e
commit
b60a3f70be
@ -39,12 +39,12 @@ static const uint8_t code_tab[16][2] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
#define CODE_VLC_BITS 9
|
#define CODE_VLC_BITS 9
|
||||||
static VLC code_vlc;
|
static VLCElem code_vlc[1 << CODE_VLC_BITS];
|
||||||
|
|
||||||
/* returns modified base_value */
|
/* returns modified base_value */
|
||||||
static inline int wnv1_get_code(GetBitContext *gb, int shift, int base_value)
|
static inline int wnv1_get_code(GetBitContext *gb, int shift, int base_value)
|
||||||
{
|
{
|
||||||
int v = get_vlc2(gb, code_vlc.table, CODE_VLC_BITS, 1);
|
int v = get_vlc2(gb, code_vlc, CODE_VLC_BITS, 1);
|
||||||
|
|
||||||
if (v == 8)
|
if (v == 8)
|
||||||
return get_bits(gb, 8 - shift) << shift;
|
return get_bits(gb, 8 - shift) << shift;
|
||||||
@ -115,10 +115,10 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *p,
|
|||||||
|
|
||||||
static av_cold void wnv1_init_static(void)
|
static av_cold void wnv1_init_static(void)
|
||||||
{
|
{
|
||||||
VLC_INIT_STATIC_FROM_LENGTHS(&code_vlc, CODE_VLC_BITS, 16,
|
VLC_INIT_STATIC_TABLE_FROM_LENGTHS(code_vlc, CODE_VLC_BITS, 16,
|
||||||
&code_tab[0][1], 2,
|
&code_tab[0][1], 2,
|
||||||
&code_tab[0][0], 2, 1,
|
&code_tab[0][0], 2, 1,
|
||||||
-7, VLC_INIT_OUTPUT_LE, 1 << CODE_VLC_BITS);
|
-7, VLC_INIT_OUTPUT_LE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static av_cold int decode_init(AVCodecContext *avctx)
|
static av_cold int decode_init(AVCodecContext *avctx)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user