Commit f6582d69 authored by Yunqing Wang's avatar Yunqing Wang
Browse files

Revert "Simplify mask checking in loop filters"

Jingning saw bitstream change with this patch. It could be true
that (mask_16x16_0 & 1) is 1, but (mask_16x16_1 & 1) is 0 in some
edge cases.

This reverts commit 8f05e703.

Change-Id: I0a529435ce816a1e14653eb510d5090de276070a
parent 14707899
......@@ -353,10 +353,17 @@ static void filter_selectively_vert_row2(PLANE_TYPE plane_type,
// TODO(yunqingwang): count in loopfilter functions should be removed.
if (mask & 1) {
if (mask_16x16_0 & 1) {
// if (mask_16x16_0 & 1) is 1, then (mask_16x16_1 & 1) is 1.
vp9_mb_lpf_vertical_edge_w_16(s, pitch, lfi0->mblim, lfi0->lim,
lfi0->hev_thr);
if ((mask_16x16_0 | mask_16x16_1) & 1) {
if ((mask_16x16_0 & mask_16x16_1) & 1) {
vp9_mb_lpf_vertical_edge_w_16(s, pitch, lfi0->mblim, lfi0->lim,
lfi0->hev_thr);
} else if (mask_16x16_0 & 1) {
vp9_mb_lpf_vertical_edge_w(s, pitch, lfi0->mblim, lfi0->lim,
lfi0->hev_thr);
} else {
vp9_mb_lpf_vertical_edge_w(s + 8 *pitch, pitch, lfi1->mblim,
lfi1->lim, lfi1->hev_thr);
}
}
if ((mask_8x8_0 | mask_8x8_1) & 1) {
......@@ -432,10 +439,14 @@ static void filter_selectively_horiz(uint8_t *s, int pitch,
count = 1;
if (mask & 1) {
if (mask_16x16 & 1) {
// If (mask_16x16 & 1) is 1, then (mask_16x16 & 3) is 3.
vp9_mb_lpf_horizontal_edge_w(s, pitch, lfi->mblim, lfi->lim,
lfi->hev_thr, 2);
count = 2;
if ((mask_16x16 & 3) == 3) {
vp9_mb_lpf_horizontal_edge_w(s, pitch, lfi->mblim, lfi->lim,
lfi->hev_thr, 2);
count = 2;
} else {
vp9_mb_lpf_horizontal_edge_w(s, pitch, lfi->mblim, lfi->lim,
lfi->hev_thr, 1);
}
} else if (mask_8x8 & 1) {
if ((mask_8x8 & 3) == 3) {
// Next block's thresholds
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment