summaryrefslogtreecommitdiff
path: root/libavcodec/mv30.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2023-09-24 15:34:16 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2023-10-31 20:47:00 +0100
commit99ed510d4b0076a3d809f364109d627c106ec11f (patch)
tree98d7c3f40e1f8df44c968c0d4d173861a664170a /libavcodec/mv30.c
parentb60a3f70bed6e498c93255d21d8e14983b2945f6 (diff)
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>
Diffstat (limited to 'libavcodec/mv30.c')
-rw-r--r--libavcodec/mv30.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/libavcodec/mv30.c b/libavcodec/mv30.c
index 9c72c0080d..8c45c8304b 100644
--- a/libavcodec/mv30.c
+++ b/libavcodec/mv30.c
@@ -59,7 +59,7 @@ typedef struct MV30Context {
AVFrame *prev_frame;
} MV30Context;
-static VLC cbp_tab;
+static VLCElem cbp_tab[1 << CBP_VLC_BITS];
static const uint8_t luma_tab[] = {
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));
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) {
int x = get_bits(gb, value);
@@ -657,8 +657,9 @@ static const uint8_t cbp_bits[] = {
static av_cold void init_static_data(void)
{
- VLC_INIT_STATIC_FROM_LENGTHS(&cbp_tab, CBP_VLC_BITS, FF_ARRAY_ELEMS(cbp_bits),
- cbp_bits, 1, NULL, 0, 0, 0, 0, 1 << CBP_VLC_BITS);
+ VLC_INIT_STATIC_TABLE_FROM_LENGTHS(cbp_tab, CBP_VLC_BITS,
+ FF_ARRAY_ELEMS(cbp_bits),
+ cbp_bits, 1, NULL, 0, 0, 0, 0);
}
static av_cold int decode_init(AVCodecContext *avctx)