From: Peter de Rivaz Date: Thu, 20 Oct 2016 15:00:05 +0000 (+0100) Subject: Remove the has_no_coeffs corner case X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=130ca4d675afab5cdf4eb58a682ddc231cb9fbef;p=libvpx Remove the has_no_coeffs corner case BUG=webm:1277 Change-Id: I052239e8a6c468da8704bdbbb663b59533c01be2 --- diff --git a/av1/common/blockd.h b/av1/common/blockd.h index 3ff494337..7e3533fec 100644 --- a/av1/common/blockd.h +++ b/av1/common/blockd.h @@ -191,7 +191,6 @@ typedef struct { TX_SIZE inter_tx_size[MAX_MIB_SIZE][MAX_MIB_SIZE]; #endif int8_t skip; - int8_t has_no_coeffs; int8_t segment_id; #if CONFIG_SUPERTX // Minimum of all segment IDs under the current supertx block. diff --git a/av1/common/loopfilter.c b/av1/common/loopfilter.c index c8022f22a..d0b897c74 100644 --- a/av1/common/loopfilter.c +++ b/av1/common/loopfilter.c @@ -753,7 +753,7 @@ static void build_masks(const loop_filter_info_n *const lfi_n, // If the block has no coefficients and is not intra we skip applying // the loop filter on block edges. - if ((mbmi->skip || mbmi->has_no_coeffs) && is_inter_block(mbmi)) return; + if (mbmi->skip && is_inter_block(mbmi)) return; // Here we are adding a mask for the transform size. The transform // size mask is set to be correct for a 64x64 prediction block size. We @@ -818,7 +818,7 @@ static void build_y_mask(const loop_filter_info_n *const lfi_n, *above_y |= above_prediction_mask[block_size] << shift_y; *left_y |= left_prediction_mask[block_size] << shift_y; - if ((mbmi->skip || mbmi->has_no_coeffs) && is_inter_block(mbmi)) return; + if (mbmi->skip && is_inter_block(mbmi)) return; *above_y |= (size_mask[block_size] & above_64x64_txform_mask[tx_size_y]) << shift_y; diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c index 0fbf65920..59cd670ea 100644 --- a/av1/decoder/decodeframe.c +++ b/av1/decoder/decodeframe.c @@ -1163,7 +1163,6 @@ static void decode_block(AV1Decoder *const pbi, MACROBLOCKD *const xd, #endif // CONFIG_EXT_PARTITION_TYPES BLOCK_SIZE bsize, int bwl, int bhl) { AV1_COMMON *const cm = &pbi->common; - const int less8x8 = bsize < BLOCK_8X8; const int bw = 1 << (bwl - 1); const int bh = 1 << (bhl - 1); const int x_mis = AOMMIN(bw, cm->mi_cols - mi_col); @@ -1383,9 +1382,6 @@ static void decode_block(AV1Decoder *const pbi, MACROBLOCKD *const xd, row, col, tx_size); #endif } - - if (!less8x8 && eobtotal == 0) - mbmi->has_no_coeffs = 1; // skip loopfilter } }