mirror of https://git.ffmpeg.org/ffmpeg.git
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>
This commit is contained in:
parent
e3ad5b9784
commit
0a610e22c1
|
@ -60,7 +60,7 @@ typedef struct LagarithContext {
|
||||||
int zeros_rem; /**< number of zero bytes remaining to output */
|
int zeros_rem; /**< number of zero bytes remaining to output */
|
||||||
} LagarithContext;
|
} LagarithContext;
|
||||||
|
|
||||||
static VLC lag_tab;
|
static VLCElem lag_tab[1 << VLC_BITS];
|
||||||
|
|
||||||
static const uint8_t lag_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,
|
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)
|
static av_cold void lag_init_static_data(void)
|
||||||
{
|
{
|
||||||
VLC_INIT_SPARSE_STATIC(&lag_tab, VLC_BITS, FF_ARRAY_ELEMS(lag_bits),
|
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, 128);
|
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;
|
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) {
|
if (bits > 31) {
|
||||||
*value = 0;
|
*value = 0;
|
||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
|
|
Loading…
Reference in New Issue