From: David Barker Date: Wed, 26 Oct 2016 13:54:06 +0000 (+0100) Subject: Fix clpf and dering signalling when used with ext-partition-types X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f8935c9c925ab6c5e7fa9f1d9660e0133ed954ad;p=libvpx Fix clpf and dering signalling when used with ext-partition-types Previously, when ext-partition-types and either clpf or dering were enabled, the signalling for clpf/dering would not be encoded or decoded, as the code to do so was inside a #if !CONFIG_EXT_PARTITION_TYPES block. This caused many tests (eg, AV1/EndToEndTestLarge.EndToEndPSNRTest/0) to fail with encode/decode mismatches. Change-Id: If1742deb1812877813b2c3e93a048430f9a504ba --- diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c index b3617d1ae..199b44060 100644 --- a/av1/decoder/decodeframe.c +++ b/av1/decoder/decodeframe.c @@ -1775,6 +1775,7 @@ static void decode_partition(AV1Decoder *const pbi, MACROBLOCKD *const xd, if (bsize >= BLOCK_8X8 && (bsize == BLOCK_8X8 || partition != PARTITION_SPLIT)) dec_update_partition_context(xd, mi_row, mi_col, subsize, num_8x8_wh); +#endif // CONFIG_EXT_PARTITION_TYPES #if CONFIG_CLPF if (bsize == BLOCK_64X64 && cm->clpf_strength_y && @@ -1812,6 +1813,7 @@ static void decode_partition(AV1Decoder *const pbi, MACROBLOCKD *const xd, } } #endif + #if CONFIG_DERING if (bsize == BLOCK_64X64) { if (cm->dering_level != 0 && !sb_all_skip(cm, mi_row, mi_col)) { @@ -1823,7 +1825,6 @@ static void decode_partition(AV1Decoder *const pbi, MACROBLOCKD *const xd, } } #endif -#endif // CONFIG_EXT_PARTITION_TYPES } #if !CONFIG_ANS diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c index 899aa814a..82ca3b6c0 100644 --- a/av1/encoder/bitstream.c +++ b/av1/encoder/bitstream.c @@ -2058,6 +2058,7 @@ static void write_modes_sb(AV1_COMP *const cpi, const TileInfo *const tile, if (bsize >= BLOCK_8X8 && (bsize == BLOCK_8X8 || partition != PARTITION_SPLIT)) update_partition_context(xd, mi_row, mi_col, subsize, bsize); +#endif // CONFIG_EXT_PARTITION_TYPES #if CONFIG_CLPF if (bsize == BLOCK_64X64 && cm->clpf_blocks && cm->clpf_strength_y && @@ -2099,7 +2100,6 @@ static void write_modes_sb(AV1_COMP *const cpi, const TileInfo *const tile, DERING_REFINEMENT_BITS); } #endif -#endif // CONFIG_EXT_PARTITION_TYPES } static void write_modes(AV1_COMP *const cpi, const TileInfo *const tile,