Don't update encoder skip count for SEG_LVL_SKIP.
authorAlex Converse <aconverse@google.com>
Thu, 29 May 2014 01:44:17 +0000 (18:44 -0700)
committerAlex Converse <aconverse@google.com>
Thu, 29 May 2014 18:24:03 +0000 (11:24 -0700)
This aligns the encoder behavior with the decoder.

Change-Id: Ifa0840e4b07b19309e0bf1d1182498883249ec45

vp9/encoder/vp9_encodeframe.c

index a5e0f06..5d3735e 100644 (file)
@@ -3357,7 +3357,8 @@ static void encode_superblock(VP9_COMP *cpi, TOKENEXTRA **t, int output_enabled,
       vp9_tokenize_sb(cpi, t, !output_enabled, MAX(bsize, BLOCK_8X8));
     } else {
       mbmi->skip = 1;
-      if (output_enabled)
+      if (output_enabled &&
+          !vp9_segfeature_active(&cm->seg, mbmi->segment_id, SEG_LVL_SKIP))
         cm->counts.skip[vp9_get_skip_context(xd)][1]++;
       reset_skip_context(xd, MAX(bsize, BLOCK_8X8));
     }