mirror of https://git.ffmpeg.org/ffmpeg.git
avcodec/mv30: 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
b60a3f70be
commit
99ed510d4b
|
@ -59,7 +59,7 @@ typedef struct MV30Context {
|
||||||
AVFrame *prev_frame;
|
AVFrame *prev_frame;
|
||||||
} MV30Context;
|
} MV30Context;
|
||||||
|
|
||||||
static VLC cbp_tab;
|
static VLCElem cbp_tab[1 << CBP_VLC_BITS];
|
||||||
|
|
||||||
static const uint8_t luma_tab[] = {
|
static const uint8_t luma_tab[] = {
|
||||||
12, 12, 15, 19, 25, 34, 40, 48,
|
12, 12, 15, 19, 25, 34, 40, 48,
|
||||||
|
@ -379,7 +379,7 @@ static int decode_coeffs(GetBitContext *gb, int16_t *coeffs, int nb_codes)
|
||||||
memset(coeffs, 0, nb_codes * sizeof(*coeffs));
|
memset(coeffs, 0, nb_codes * sizeof(*coeffs));
|
||||||
|
|
||||||
for (int i = 0; i < nb_codes;) {
|
for (int i = 0; i < nb_codes;) {
|
||||||
int value = get_vlc2(gb, cbp_tab.table, CBP_VLC_BITS, 1);
|
int value = get_vlc2(gb, cbp_tab, CBP_VLC_BITS, 1);
|
||||||
|
|
||||||
if (value > 0) {
|
if (value > 0) {
|
||||||
int x = get_bits(gb, value);
|
int x = get_bits(gb, value);
|
||||||
|
@ -657,8 +657,9 @@ static const uint8_t cbp_bits[] = {
|
||||||
|
|
||||||
static av_cold void init_static_data(void)
|
static av_cold void init_static_data(void)
|
||||||
{
|
{
|
||||||
VLC_INIT_STATIC_FROM_LENGTHS(&cbp_tab, CBP_VLC_BITS, FF_ARRAY_ELEMS(cbp_bits),
|
VLC_INIT_STATIC_TABLE_FROM_LENGTHS(cbp_tab, CBP_VLC_BITS,
|
||||||
cbp_bits, 1, NULL, 0, 0, 0, 0, 1 << CBP_VLC_BITS);
|
FF_ARRAY_ELEMS(cbp_bits),
|
||||||
|
cbp_bits, 1, NULL, 0, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static av_cold int decode_init(AVCodecContext *avctx)
|
static av_cold int decode_init(AVCodecContext *avctx)
|
||||||
|
|
Loading…
Reference in New Issue