VP8: Don't store segment in macroblock struct anymore.

Not necessary with the previous patch.

Originally committed as revision 24427 to svn://svn.ffmpeg.org/ffmpeg/trunk
oldabi
Jason Garrett-Glaser 15 years ago
parent c55e0d34ba
commit b9a7186bf4
  1. 8
      libavcodec/vp8.c

@ -35,7 +35,6 @@ typedef struct {
} VP8FilterStrength; } VP8FilterStrength;
typedef struct { typedef struct {
uint8_t segment;
uint8_t skip; uint8_t skip;
// todo: make it possible to check for at least (i4x4 or split_mv) // todo: make it possible to check for at least (i4x4 or split_mv)
// in one op. are others needed? // in one op. are others needed?
@ -120,6 +119,7 @@ typedef struct {
uint8_t intra4x4_pred_mode_mb[16]; uint8_t intra4x4_pred_mode_mb[16];
int chroma_pred_mode; ///< 8x8c pred mode of the current macroblock int chroma_pred_mode; ///< 8x8c pred mode of the current macroblock
int segment; ///< segment of the current macroblock
int mbskip_enabled; int mbskip_enabled;
int sign_bias[4]; ///< one state [0, 1] per ref frame type int sign_bias[4]; ///< one state [0, 1] per ref frame type
@ -708,7 +708,7 @@ static void decode_mb_mode(VP8Context *s, VP8Macroblock *mb, int mb_x, int mb_y,
if (s->segmentation.update_map) if (s->segmentation.update_map)
*segment = vp8_rac_get_tree(c, vp8_segmentid_tree, s->prob->segmentid); *segment = vp8_rac_get_tree(c, vp8_segmentid_tree, s->prob->segmentid);
mb->segment = *segment; s->segment = *segment;
mb->skip = s->mbskip_enabled ? vp56_rac_get_prob(c, s->prob->mbskip) : 0; mb->skip = s->mbskip_enabled ? vp56_rac_get_prob(c, s->prob->mbskip) : 0;
@ -830,7 +830,7 @@ static void decode_mb_coeffs(VP8Context *s, VP56RangeCoder *c, VP8Macroblock *mb
LOCAL_ALIGNED_16(DCTELEM, dc,[16]); LOCAL_ALIGNED_16(DCTELEM, dc,[16]);
int i, x, y, luma_start = 0, luma_ctx = 3; int i, x, y, luma_start = 0, luma_ctx = 3;
int nnz_pred, nnz, nnz_total = 0; int nnz_pred, nnz, nnz_total = 0;
int segment = s->segmentation.enabled ? mb->segment : 0; int segment = s->segment;
s->dsp.clear_blocks((DCTELEM *)s->block); s->dsp.clear_blocks((DCTELEM *)s->block);
@ -1229,7 +1229,7 @@ static void filter_level_for_mb(VP8Context *s, VP8Macroblock *mb, VP8FilterStren
int interior_limit, filter_level; int interior_limit, filter_level;
if (s->segmentation.enabled) { if (s->segmentation.enabled) {
filter_level = s->segmentation.filter_level[mb->segment]; filter_level = s->segmentation.filter_level[s->segment];
if (!s->segmentation.absolute_vals) if (!s->segmentation.absolute_vals)
filter_level += s->filter.level; filter_level += s->filter.level;
} else } else

Loading…
Cancel
Save