summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorPeter Ross <pross@xvid.org>2019-05-24 20:10:32 +1000
committerPeter Ross <pross@xvid.org>2019-06-08 09:37:26 +1000
commitb6ca032adebe05573d9fe9c3a2625240f55b33b0 (patch)
tree27a111436a462d5cfb893fbacac40b908b8400ff /libavcodec
parentad2745e86763c72b8580429e8e345196a4be27bc (diff)
avcodec/vp3data: combine eob_run_base and eob_run_get_bits tables
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/vp3.c6
-rw-r--r--libavcodec/vp3data.h9
2 files changed, 7 insertions, 8 deletions
diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c
index b248c90413..63f60c9109 100644
--- a/libavcodec/vp3.c
+++ b/libavcodec/vp3.c
@@ -988,9 +988,9 @@ static int unpack_vlcs(Vp3DecodeContext *s, GetBitContext *gb,
token = get_vlc2(gb, vlc_table, 11, 3);
/* use the token to get a zero run, a coefficient, and an eob run */
if ((unsigned) token <= 6U) {
- eob_run = eob_run_base[token];
- if (eob_run_get_bits[token])
- eob_run += get_bits(gb, eob_run_get_bits[token]);
+ eob_run = eob_run_table[token].base;
+ if (eob_run_table[token].bits)
+ eob_run += get_bits(gb, eob_run_table[token].bits);
if (!eob_run)
eob_run = INT_MAX;
diff --git a/libavcodec/vp3data.h b/libavcodec/vp3data.h
index c82b1b3a86..d520a10c76 100644
--- a/libavcodec/vp3data.h
+++ b/libavcodec/vp3data.h
@@ -198,11 +198,10 @@ static const int8_t fixed_motion_vector_table[64] = {
};
/* only tokens 0..6 indicate eob runs */
-static const uint8_t eob_run_base[7] = {
- 1, 2, 3, 4, 8, 16, 0
-};
-static const uint8_t eob_run_get_bits[7] = {
- 0, 0, 0, 2, 3, 4, 12
+static const struct {
+ uint8_t base, bits;
+} eob_run_table[7] = {
+ {1, 0}, {2, 0}, {3, 0}, {4, 2}, {8, 3}, {16, 4}, {0, 12}
};
static const uint8_t zero_run_base[32] = {