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
This commit is contained in:
Debargha Mukherjee
2016-08-30 17:43:38 -07:00
parent 01bade1064
commit 2f12340ff0
10 changed files with 306 additions and 61 deletions

View File

@@ -796,9 +796,9 @@ static void pack_txb_tokens(aom_writer *w, const TOKENEXTRA **tp,
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) {
pack_mb_tokens(w, tp, tok_end, bit_depth, tx_size);