summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2023-09-24 15:56:44 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2023-10-31 20:47:00 +0100
commit0a610e22c168b361ee65f5abbd1362ee7fd5ceee (patch)
treee1546c19398be4692076854213531dd8cb53d272
parente3ad5b9784751f243af3ddb0e54fbf476ab9df87 (diff)
avcodec/lagarith: 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>
-rw-r--r--libavcodec/lagarith.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libavcodec/lagarith.c b/libavcodec/lagarith.c
index 9574f78871..75b557e518 100644
--- a/libavcodec/lagarith.c
+++ b/libavcodec/lagarith.c
@@ -60,7 +60,7 @@ typedef struct LagarithContext {
int zeros_rem; /**< number of zero bytes remaining to output */
} LagarithContext;
-static VLC lag_tab;
+static VLCElem lag_tab[1 << VLC_BITS];
static const uint8_t lag_bits[] = {
7, 7, 2, 7, 3, 4, 5, 6, 7, 7, 7, 7, 7, 6, 7, 4, 5, 7, 7, 7, 7,
@@ -85,8 +85,8 @@ static const uint8_t lag_symbols[] = {
static av_cold void lag_init_static_data(void)
{
- VLC_INIT_SPARSE_STATIC(&lag_tab, VLC_BITS, FF_ARRAY_ELEMS(lag_bits),
- lag_bits, 1, 1, lag_codes, 1, 1, lag_symbols, 1, 1, 128);
+ VLC_INIT_STATIC_SPARSE_TABLE(lag_tab, VLC_BITS, FF_ARRAY_ELEMS(lag_bits),
+ lag_bits, 1, 1, lag_codes, 1, 1, lag_symbols, 1, 1, 0);
}
/**
@@ -136,7 +136,7 @@ static int lag_decode_prob(GetBitContext *gb, uint32_t *value)
{
unsigned val, bits;
- bits = get_vlc2(gb, lag_tab.table, VLC_BITS, 1);
+ bits = get_vlc2(gb, lag_tab, VLC_BITS, 1);
if (bits > 31) {
*value = 0;
return AVERROR_INVALIDDATA;