]> granicus.if.org Git - libvpx/commitdiff
Fix 2 bugs when using both SUPERTX and EXT_TX
authorGeza Lore <gezalore@gmail.com>
Thu, 7 Jan 2016 16:03:58 +0000 (16:03 +0000)
committerDebargha Mukherjee <debargha@google.com>
Thu, 7 Jan 2016 20:13:35 +0000 (12:13 -0800)
Change-Id: Ibcbe470a97880c294600345337054ed9af84de2b

vp10/decoder/decodeframe.c
vp10/encoder/bitstream.c
vp10/encoder/encodeframe.c

index bc860883451e5422c674c0c4d993dd00c0f7aec6..44b5bc4063eb1494615ba415864eee95393e4030 100644 (file)
@@ -1756,7 +1756,7 @@ static void decode_partition(VP10Decoder *const pbi, MACROBLOCKD *const xd,
       reset_skip_context(xd, bsize);
 #if CONFIG_EXT_TX
     if (!skip) {
-      if (supertx_size <= TX_16X16) {
+      if (get_ext_tx_types(supertx_size, bsize, 1) > 1) {
         int eset = get_ext_tx_set(supertx_size, bsize, 1);
         if (eset > 0) {
           txfm = vpx_read_tree(r, vp10_ext_tx_inter_tree[eset],
index 5ddc7bba5a868978dba6cfb7f40ebd94a67aa2ac..11fa8548065f8aee1c0f610ddc34cf74c245a2df 100644 (file)
@@ -826,6 +826,9 @@ static void pack_inter_mode_mvs(VP10_COMP *cpi, const MODE_INFO *mi,
 #if CONFIG_EXT_TX
   if (get_ext_tx_types(mbmi->tx_size, bsize, is_inter) > 1 &&
       cm->base_qindex > 0 && !mbmi->skip &&
+#if CONFIG_SUPERTX
+      !supertx_enabled &&
+#endif  // CONFIG_SUPERTX
       !segfeature_active(&cm->seg, mbmi->segment_id, SEG_LVL_SKIP)) {
     int eset = get_ext_tx_set(mbmi->tx_size, bsize, is_inter);
     if (is_inter) {
index a7bce1da7c33ccf17ffd308317f492f1bf768348..1e4ed4b410353b88befb7d240c691da176ba5639 100644 (file)
@@ -1988,8 +1988,9 @@ static void encode_sb(VP10_COMP *cpi, ThreadData *td,
             [partition_supertx_context_lookup[partition]][supertx_size][1]++;
         td->counts->supertx_size[supertx_size]++;
 #if CONFIG_EXT_TX
-        if (supertx_size <= TX_16X16 && !xd->mi[0]->mbmi.skip) {
-          int eset = get_ext_tx_types(supertx_size, bsize, 1);
+        if (get_ext_tx_types(supertx_size, bsize, 1) > 1 &&
+            !xd->mi[0]->mbmi.skip) {
+          int eset = get_ext_tx_set(supertx_size, bsize, 1);
           if (eset > 0) {
             ++td->counts->inter_ext_tx[eset][supertx_size]
                                       [xd->mi[0]->mbmi.tx_type];