changeset 12234:bba849c2a113 libavcodec

VP8: avoid a memset for non-i4x4 blocks with no coefficients
author darkshikari
date Fri, 23 Jul 2010 00:05:44 +0000
parents 10b02cbc3cc2
children e08d65897115
files vp8.c
diffstat 1 files changed, 3 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/vp8.c	Thu Jul 22 23:11:40 2010 +0000
+++ b/vp8.c	Fri Jul 23 00:05:44 2010 +0000
@@ -970,6 +970,9 @@
             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 @@
 
             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);