]> granicus.if.org Git - libvpx/commitdiff
Add tx_type counts in key frame
authorJingning Han <jingning@google.com>
Tue, 27 Oct 2015 23:50:27 +0000 (16:50 -0700)
committerJingning Han <jingning@google.com>
Tue, 27 Oct 2015 23:51:45 +0000 (16:51 -0700)
Properly update the transform type counts in key frame coding at
decoder. It fixes an enc/dec mismatch issue when both ext-tx and
misc-fixes are turned on.

Change-Id: I1e40a77c8d8157d5ff254b072ce474d8dfbaa3ae

vp10/decoder/decodemv.c

index 33b2799aa862456fb74c30491dd45ce5a14b3d97..907457470de0eead4dc564a84c0b36a37a4af1b0 100644 (file)
@@ -379,15 +379,17 @@ static void read_intra_frame_mode_info(VP10_COMMON *const cm,
   if (bsize >= BLOCK_8X8 && cm->allow_screen_content_tools &&
       mbmi->mode == DC_PRED)
     read_palette_mode_info(cm, xd, r);
-  
 
 #if CONFIG_EXT_TX
     if (mbmi->tx_size <= TX_16X16 && cm->base_qindex > 0 &&
         mbmi->sb_type >= BLOCK_8X8 && !mbmi->skip &&
         !segfeature_active(&cm->seg, mbmi->segment_id, SEG_LVL_SKIP)) {
+      FRAME_COUNTS *counts = xd->counts;
       mbmi->tx_type =
           vpx_read_tree(r, vp10_tx_type_tree,
                         cm->fc->intra_tx_type_prob[mbmi->tx_size][mbmi->mode]);
+      if (counts)
+        ++counts->intra_tx_type[mbmi->tx_size][mbmi->mode][mbmi->tx_type];
     } else {
       mbmi->tx_type = DCT_DCT;
     }