shithub: libvpx

Download patch

ref: a2e711ce38be6438fdbd3c1c92fb3b2f14865aa3
parent: 9efe0b25c5cd5de66a6c037acb63466d5b175ac4
author: Jingning Han <jingning@google.com>
date: Fri Mar 14 08:07:21 EDT 2014

Properly reset the block coding skip flag array in non-RD mode

The block coding skip flags are assigned in the normal RD mode
decision loop. They are then used in the final encoding stage.
In the non-RD mode decision, the forward transform and quantization
stages are replaced by modeling based on SSE and variance of
prediction residues. This commit applies reset to this array in
the non-RD coding mode.

Change-Id: I66584669b035e9c8ac23e95047849ff277472742

--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -2885,6 +2885,7 @@
       pd[i].dqcoeff = ctx->dqcoeff_pbuf[i][0];
       p[i].eobs = ctx->eobs_pbuf[i][0];
     }
+    vp9_zero(x->zcoeff_blk);
   }
 
   {
@@ -3175,6 +3176,7 @@
   x->use_lp32x32fdct = cpi->sf.use_lp32x32fdct;
   x->skip_encode = (!output_enabled && cpi->sf.skip_encode_frame &&
                     x->q_index < QIDX_SKIP_THRESH);
+
   if (x->skip_encode)
     return;