CONFIG_INSPECTION: fix tx_size and tx_type
Both were broken and didn't account for sub split transforms. This
Fixes them.
Change-Id: Ia468e03b0149239d45bb4b4f1fc5b49808cc6967
diff --git a/av1/decoder/inspection.c b/av1/decoder/inspection.c
index e6c8929..b993d90 100644
--- a/av1/decoder/inspection.c
+++ b/av1/decoder/inspection.c
@@ -94,9 +94,16 @@
mi->dual_filter_type = mi->filter[0] * 3 + mi->filter[1];
// Transform
// TODO(anyone): extract tx type info from mbmi->txk_type[].
- mi->tx_type = DCT_DCT;
- mi->tx_size = mbmi->tx_size;
+ const BLOCK_SIZE bsize = mbmi->sb_type;
+ const int c = i % mi_size_wide[bsize];
+ const int r = j % mi_size_high[bsize];
+ if (is_inter_block(mbmi) || is_intrabc_block(mbmi))
+ mi->tx_size = mbmi->inter_tx_size[av1_get_txb_size_index(bsize, r, c)];
+ else
+ mi->tx_size = mbmi->tx_size;
+
+ mi->tx_type = mbmi->txk_type[av1_get_txk_type_index(bsize, r, c)];
mi->cdef_level =
cm->cdef_strengths[mbmi->cdef_strength] / CDEF_SEC_STRENGTHS;
mi->cdef_strength =
diff --git a/examples/inspect.c b/examples/inspect.c
index 6728f2c..df55378 100644
--- a/examples/inspect.c
+++ b/examples/inspect.c
@@ -155,7 +155,7 @@
ENUM(TX_64X64), ENUM(TX_4X8), ENUM(TX_8X4), ENUM(TX_8X16),
ENUM(TX_16X8), ENUM(TX_16X32), ENUM(TX_32X16), ENUM(TX_32X64),
ENUM(TX_64X32), ENUM(TX_4X16), ENUM(TX_16X4), ENUM(TX_8X32),
- ENUM(TX_32X8), LAST_ENUM
+ ENUM(TX_32X8), ENUM(TX_16X64), ENUM(TX_64X16), LAST_ENUM
};
const map_entry tx_type_map[] = { ENUM(DCT_DCT),