From 312daa15891dc7abb77a404fe927d5ee35c52a71 Mon Sep 17 00:00:00 2001 From: Luca Barbato Date: Tue, 11 Nov 2014 13:27:01 +0100 Subject: vp9: Use the correct upper bound for seg_id And use a macro to make apparent why the value. Bug-Id: CID 1108595 --- libavcodec/vp9.h | 3 ++- libavcodec/vp9block.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/libavcodec/vp9.h b/libavcodec/vp9.h index 0a6c6eed42..724288dd3d 100644 --- a/libavcodec/vp9.h +++ b/libavcodec/vp9.h @@ -313,6 +313,7 @@ typedef struct VP9Context { uint8_t temporal; uint8_t absolute_vals; uint8_t update_map; + #define MAX_SEGMENT 8 struct { uint8_t q_enabled; uint8_t lf_enabled; @@ -323,7 +324,7 @@ typedef struct VP9Context { int8_t lf_val; int16_t qmul[2][2]; uint8_t lflvl[4][2]; - } feat[8]; + } feat[MAX_SEGMENT]; } segmentation; struct { unsigned log2_tile_cols, log2_tile_rows; diff --git a/libavcodec/vp9block.c b/libavcodec/vp9block.c index caf3bcc2ae..a92c794ebf 100644 --- a/libavcodec/vp9block.c +++ b/libavcodec/vp9block.c @@ -71,7 +71,8 @@ static void decode_mode(VP9Context *s, VP9Block *const b) vp56_rac_get_prob_branchy(&s->c, s->prob.segpred[s->above_segpred_ctx[col] + s->left_segpred_ctx[row7]]))) { - int pred = 8, x; + int pred = MAX_SEGMENT - 1; + int x; for (y = 0; y < h4; y++) for (x = 0; x < w4; x++) -- cgit v1.2.3