VP8: avoid a memset for non-i4x4 blocks with no coefficients

Originally committed as revision 24447 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Jason Garrett-Glaser 2010-07-23 00:05:44 +00:00
parent 145d31865d
commit b74f70d646
1 changed files with 3 additions and 4 deletions

View File

@ -970,6 +970,9 @@ static void intra_predict(VP8Context *s, uint8_t *dst[3], VP8Macroblock *mb,
tr_right = (uint8_t *)&tr;
}
if (mb->skip)
AV_ZERO128(s->non_zero_count_cache);
for (y = 0; y < 4; y++) {
uint8_t *topright = ptr + 4 - s->linesize;
for (x = 0; x < 4; x++) {
@ -1500,10 +1503,6 @@ static int vp8_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
if (!mb->skip)
decode_mb_coeffs(s, c, mb, s->top_nnz[mb_x], s->left_nnz);
else {
AV_ZERO128(s->non_zero_count_cache); // luma
AV_ZERO64(s->non_zero_count_cache[4]); // chroma
}
if (mb->mode <= MODE_I4x4)
intra_predict(s, dst, mb, intra4x4_mb, mb_x, mb_y);