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 } },