vp9: Use the correct upper bound for seg_id

And use a macro to make apparent why the value.

Bug-Id: CID 1108595
pull/93/merge
Luca Barbato 10 years ago committed by Vittorio Giovara
parent d466d82faa
commit 312daa1589
  1. 3
      libavcodec/vp9.h
  2. 3
      libavcodec/vp9block.c

@ -313,6 +313,7 @@ typedef struct VP9Context {
uint8_t temporal; uint8_t temporal;
uint8_t absolute_vals; uint8_t absolute_vals;
uint8_t update_map; uint8_t update_map;
#define MAX_SEGMENT 8
struct { struct {
uint8_t q_enabled; uint8_t q_enabled;
uint8_t lf_enabled; uint8_t lf_enabled;
@ -323,7 +324,7 @@ typedef struct VP9Context {
int8_t lf_val; int8_t lf_val;
int16_t qmul[2][2]; int16_t qmul[2][2];
uint8_t lflvl[4][2]; uint8_t lflvl[4][2];
} feat[8]; } feat[MAX_SEGMENT];
} segmentation; } segmentation;
struct { struct {
unsigned log2_tile_cols, log2_tile_rows; unsigned log2_tile_cols, log2_tile_rows;

@ -71,7 +71,8 @@ static void decode_mode(VP9Context *s, VP9Block *const b)
vp56_rac_get_prob_branchy(&s->c, vp56_rac_get_prob_branchy(&s->c,
s->prob.segpred[s->above_segpred_ctx[col] + s->prob.segpred[s->above_segpred_ctx[col] +
s->left_segpred_ctx[row7]]))) { s->left_segpred_ctx[row7]]))) {
int pred = 8, x; int pred = MAX_SEGMENT - 1;
int x;
for (y = 0; y < h4; y++) for (y = 0; y < h4; y++)
for (x = 0; x < w4; x++) for (x = 0; x < w4; x++)

Loading…
Cancel
Save