summaryrefslogtreecommitdiff
path: root/libavcodec/vc1_block.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2018-04-23 02:08:10 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2018-04-24 19:58:04 +0200
commitd06b01fc2d4f5e031d45f9460d1eea610d23d6c5 (patch)
treefca3d5b004e7930d818bafff08287e38689214d4 /libavcodec/vc1_block.c
parentf09fdf2d9c0f5acc60c4572b6d7bb211f7a2aca0 (diff)
avcodec/vc1_block: simplify ac_val computation
also fixes: runtime error: index 1456 out of bounds for type 'int16_t [16]' Found-by: durandal_1707 Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/vc1_block.c')
-rw-r--r--libavcodec/vc1_block.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libavcodec/vc1_block.c b/libavcodec/vc1_block.c
index f9f26f7e42..b06ee9fce7 100644
--- a/libavcodec/vc1_block.c
+++ b/libavcodec/vc1_block.c
@@ -594,7 +594,7 @@ static int vc1_decode_i_block(VC1Context *v, int16_t block[64], int n,
scale = s->c_dc_scale;
block[0] = dcdiff * scale;
- ac_val = s->ac_val[0][0] + s->block_index[n] * 16;
+ ac_val = s->ac_val[0][s->block_index[n]];
ac_val2 = ac_val;
if (dc_pred_dir) // left
ac_val -= 16;
@@ -745,7 +745,7 @@ static int vc1_decode_i_block_adv(VC1Context *v, int16_t block[64], int n,
scale = mquant * 2 + ((mquant == v->pq) ? v->halfpq : 0);
- ac_val = s->ac_val[0][0] + s->block_index[n] * 16;
+ ac_val = s->ac_val[0][s->block_index[n]];
ac_val2 = ac_val;
if (dc_pred_dir) // left
ac_val -= 16;
@@ -946,7 +946,7 @@ static int vc1_decode_intra_block(VC1Context *v, int16_t block[64], int n,
if (!a_avail) dc_pred_dir = 1;
if (!c_avail) dc_pred_dir = 0;
if (!a_avail && !c_avail) use_pred = 0;
- ac_val = s->ac_val[0][0] + s->block_index[n] * 16;
+ ac_val = s->ac_val[0][s->block_index[n]];
ac_val2 = ac_val;
scale = mquant * 2 + v->halfpq;