]> granicus.if.org Git - libvpx/commitdiff
Re-initialise quantiser after changing segment.
authorGeza Lore <gezalore@gmail.com>
Thu, 9 Jun 2016 14:29:29 +0000 (15:29 +0100)
committerGeza Lore <gezalore@gmail.com>
Tue, 14 Jun 2016 15:07:50 +0000 (16:07 +0100)
When using VARIANCE_AQ, we can change the segment assignment after
initialising the quantiser in set_offsets, so re-initialise it when
we do so.

Change-Id: I1f168553aaf0ade419f0d4bf05820cd591b87659

vp10/encoder/encodeframe.c

index 40301b3d16cabcbaf8851521cadae54a31bfada2..369d3ea658d7c0875217db7b78df82968814ab5e 100644 (file)
@@ -1731,6 +1731,9 @@ static void rd_pick_sb_modes(VP10_COMP *cpi,
       const int energy = bsize <= BLOCK_16X16 ?
                          x->mb_energy : vp10_block_energy(cpi, x, bsize);
       mbmi->segment_id = vp10_vaq_segment_id(energy);
+      // Re-initialise quantiser
+      vp10_init_plane_quantizers(cpi, x, mbmi->segment_id);
+      x->encode_breakout = cpi->segment_encode_breakout[mbmi->segment_id];
     }
     x->rdmult = set_segment_rdmult(cpi, x, mbmi->segment_id);
   } else if (aq_mode == COMPLEXITY_AQ) {