Modify the uv block tx_size mapping table
If the coding block size is 4x4, map the uv transform block size
to 2x2 in non-444 format.
Change-Id: I5767df7c6c1f73938f97745d604207caad6f7d68
diff --git a/av1/common/blockd.h b/av1/common/blockd.h
index 3ca8190..2f3e846 100644
--- a/av1/common/blockd.h
+++ b/av1/common/blockd.h
@@ -825,6 +825,11 @@
return uvsupertx_size_lookup[txsize_sqr_map[mbmi->tx_size]]
[pd->subsampling_x][pd->subsampling_y];
#endif // CONFIG_SUPERTX
+
+#if CONFIG_CB4X4
+ assert(mbmi->tx_size > TX_2X2);
+#endif
+
uv_txsize = uv_txsize_lookup[mbmi->sb_type][mbmi->tx_size][pd->subsampling_x]
[pd->subsampling_y];
assert(uv_txsize != TX_INVALID);
diff --git a/av1/common/common_data.h b/av1/common/common_data.h
index e0391b8..6518cfa 100644
--- a/av1/common/common_data.h
+++ b/av1/common/common_data.h
@@ -837,9 +837,11 @@
{
// BLOCK_4X4
#if CONFIG_CB4X4
+ { { TX_2X2, TX_2X2 }, { TX_2X2, TX_2X2 } },
+ { { TX_4X4, TX_2X2 }, { TX_2X2, TX_2X2 } },
+#else
{ { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
-#endif
- { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+#endif // CONFIG_CB4X4
{ { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
{ { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
{ { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
@@ -856,9 +858,11 @@
{
// BLOCK_4X8
#if CONFIG_CB4X4
+ { { TX_2X2, TX_2X2 }, { TX_2X2, TX_2X2 } },
+ { { TX_4X4, TX_2X2 }, { TX_2X2, TX_2X2 } },
+#else
{ { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
#endif
- { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
{ { TX_4X8, TX_4X4 }, { TX_4X4, TX_4X4 } },
{ { TX_4X8, TX_4X4 }, { TX_4X4, TX_4X4 } },
{ { TX_4X8, TX_4X4 }, { TX_4X4, TX_4X4 } },
@@ -875,9 +879,11 @@
{
// BLOCK_8X4
#if CONFIG_CB4X4
+ { { TX_2X2, TX_2X2 }, { TX_2X2, TX_2X2 } },
+ { { TX_4X4, TX_2X2 }, { TX_2X2, TX_2X2 } },
+#else
{ { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
#endif
- { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
{ { TX_8X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
{ { TX_8X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
{ { TX_8X4, TX_4X4 }, { TX_4X4, TX_4X4 } },