Enable rectangular transforms for UV
Uses an array to map block sizes, y tx sizes, and subsampling
factors to various transform sizes for UV.
Results improve by 0.1-0.2%
Change-Id: Icb58fd96bc7c01a72cbf1332fe2be4d55a0feedc
diff --git a/av1/encoder/encodemb.c b/av1/encoder/encodemb.c
index 93ffdaa..5a21ebd 100644
--- a/av1/encoder/encodemb.c
+++ b/av1/encoder/encodemb.c
@@ -871,9 +871,9 @@
if (blk_row >= max_blocks_high || blk_col >= max_blocks_wide) return;
- plane_tx_size = plane ? get_uv_tx_size_impl(
- mbmi->inter_tx_size[tx_row][tx_col], bsize, 0, 0)
- : mbmi->inter_tx_size[tx_row][tx_col];
+ plane_tx_size =
+ plane ? uv_txsize_lookup[bsize][mbmi->inter_tx_size[tx_row][tx_col]][0][0]
+ : mbmi->inter_tx_size[tx_row][tx_col];
if (tx_size == plane_tx_size) {
encode_block(plane, block, blk_row, blk_col, plane_bsize, tx_size, arg);