Fix decoder side cctx condition This fixes eob and scan_line parameters for speeding up the inverse transform. No performance change, with very minor decoder speed up. Change-Id: I71746a3b37e9f6706815dcbaa2e53d3cebf9a93d
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c index 7496c05..60cd079 100644 --- a/av1/decoder/decodeframe.c +++ b/av1/decoder/decodeframe.c
@@ -149,6 +149,9 @@ } static AOM_INLINE void inverse_transform_block(DecoderCodingBlock *dcb, +#if CONFIG_CROSS_CHROMA_TX + const AV1_COMMON *cm, +#endif // CONFIG_CROSS_CHROMA_TX int plane, const TX_TYPE tx_type, const TX_SIZE tx_size, uint16_t *dst, int stride, @@ -163,7 +166,7 @@ uint16_t eob = eob_data->eob; #if CONFIG_CROSS_CHROMA_TX // Update eob and scan_line according to those of the other chroma plane - if (plane) { + if (plane && is_cctx_allowed(cm, &dcb->xd)) { eob_info *eob_data_c1 = dcb->eob_data[AOM_PLANE_U] + dcb->txb_offset[AOM_PLANE_U]; eob_info *eob_data_c2 = @@ -265,7 +268,11 @@ struct macroblockd_plane *const pd = &xd->plane[plane]; uint16_t *dst = &pd->dst.buf[(row * pd->dst.stride + col) << MI_SIZE_LOG2]; - inverse_transform_block(dcb, plane, tx_type, tx_size, dst, pd->dst.stride, + inverse_transform_block(dcb, +#if CONFIG_CROSS_CHROMA_TX + cm, +#endif // CONFIG_CROSS_CHROMA_TX + plane, tx_type, tx_size, dst, pd->dst.stride, reduced_tx_set_used); } } @@ -318,7 +325,11 @@ uint16_t *dst = &pd->dst.buf[(blk_row * pd->dst.stride + blk_col) << MI_SIZE_LOG2]; - inverse_transform_block(dcb, plane, tx_type, tx_size, dst, pd->dst.stride, + inverse_transform_block(dcb, +#if CONFIG_CROSS_CHROMA_TX + cm, +#endif // CONFIG_CROSS_CHROMA_TX + plane, tx_type, tx_size, dst, pd->dst.stride, reduced_tx_set_used); #if CONFIG_MISMATCH_DEBUG int pixel_c, pixel_r;