Avoid skipping MRC_DCT for 32X32 blocks
The transform search set is being determined based on the square
transform size one level below the block size. MRC_DCT is not
included in the transform set for 16x16 so it will be skipped in
the transform search for 32x32 blocks. This change allows it to
be included in the search.
Change-Id: I82395790dde9288531336a56e93575071d070572
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index 862a4f4..8825231 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -4876,8 +4876,12 @@
(max_tx_size != TX_32X32 || (is_inter && !USE_MRC_INTER) ||
(!is_inter && !USE_MRC_INTRA)))
continue;
-#endif // CONFIG_MRC_TX
+ // MRC_DCT won't be included in the tx_set_type determined 1 level below
+ // a 32X32 block, but we still want to search MRC_DCT
+ if (!av1_ext_tx_used[tx_set_type][tx_type] && tx_type != MRC_DCT) continue;
+#else
if (!av1_ext_tx_used[tx_set_type][tx_type]) continue;
+#endif // CONFIG_MRC_TX
(void)prune;
// TODO(sarahparker) This speed feature has been temporarily disabled
// with ext-tx because it is not compatible with the current