]> granicus.if.org Git - libvpx/commitdiff
Properly reset the block coding skip flag array in non-RD mode
authorJingning Han <jingning@google.com>
Fri, 14 Mar 2014 19:07:21 +0000 (12:07 -0700)
committerJingning Han <jingning@google.com>
Fri, 14 Mar 2014 19:14:06 +0000 (12:14 -0700)
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

vp9/encoder/vp9_encodeframe.c

index 55376eeb3899bbe970b299386eb1492c5925ce1f..46f0edd6271dc020d0939536f71c44eb71eb446d 100644 (file)
@@ -2885,6 +2885,7 @@ static void encode_frame_internal(VP9_COMP *cpi) {
       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 @@ static void encode_superblock(VP9_COMP *cpi, TOKENEXTRA **t, int output_enabled,
   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;