intrabc: Allow ext_tx transforms objective-1-fast results: sequence PSNR PSNR HVS SSIM CIEDE APSNR MS SSIM VMAF average -0.02 0.01 -0.02 -0.03 -0.02 0.00 0.06 1080p 0.02 0.01 0.03 0.00 0.01 0.02 0.09 1080p-screen -0.32 -0.28 -0.32 -0.44 -0.31 -0.27 0.00 360p 0.06 0.14 0.10 0.10 0.08 0.11 0.22 720p 0.00 0.04 -0.05 0.01 0.00 -0.01 -0.10 wikipedia_420 -1.04 -0.95 -1.05 -1.30 -1.03 -0.88 -0.29 Change-Id: I30ce8a869daf1c3ed539ffed552786cbb785e7d0
diff --git a/av1/common/blockd.h b/av1/common/blockd.h index 78557eb..adf6e60 100644 --- a/av1/common/blockd.h +++ b/av1/common/blockd.h
@@ -983,10 +983,10 @@ int block, TX_SIZE tx_size) { const MODE_INFO *const mi = xd->mi[0]; const MB_MODE_INFO *const mbmi = &mi->mbmi; -#if CONFIG_INTRABC - // TODO(aconverse@google.com): Revisit this decision +#if CONFIG_INTRABC && (!CONFIG_EXT_TX || CONFIG_TXK_SEL) + // TODO(aconverse@google.com): Handle INTRABC + EXT_TX + TXK_SEL if (is_intrabc_block(mbmi)) return DCT_DCT; -#endif // CONFIG_INTRABC +#endif // CONFIG_INTRABC && (!CONFIG_EXT_TX || CONFIG_TXK_SEL) #if !CONFIG_TXK_SEL #if FIXED_TX_TYPE const int block_raster_idx = av1_block_index_to_raster_order(tx_size, block);
diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c index b40cad0..a7bd816 100644 --- a/av1/decoder/decodemv.c +++ b/av1/decoder/decodemv.c
@@ -1049,6 +1049,13 @@ av1_find_ref_dv(&dv_ref, mi_row, mi_col); xd->corrupted |= !assign_dv(cm, xd, &mbmi->mv[0], &dv_ref, mi_row, mi_col, bsize, r); +#if CONFIG_EXT_TX && !CONFIG_TXK_SEL + av1_read_tx_type(cm, xd, +#if CONFIG_SUPERTX + 0, +#endif + r); +#endif // CONFIG_EXT_TX && !CONFIG_TXK_SEL return; } }
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c index 03eb909..1066e07 100644 --- a/av1/encoder/bitstream.c +++ b/av1/encoder/bitstream.c
@@ -2164,6 +2164,13 @@ int_mv dv_ref; av1_find_ref_dv(&dv_ref, mi_row, mi_col); av1_encode_dv(w, &mbmi->mv[0].as_mv, &dv_ref.as_mv, &ec_ctx->ndvc); +#if CONFIG_EXT_TX && !CONFIG_TXK_SEL + av1_write_tx_type(cm, xd, +#if CONFIG_SUPERTX + 0, +#endif + w); +#endif // CONFIG_EXT_TX && !CONFIG_TXK_SEL return; } }