Removing skip inferrence with all 0 TX
If a non-skipped block has all transform blocks with only 0 data, then decoder infers skip flag. This affects the loopfilter. No real encoder would do this though, so it is pointless. Also, it causes headaches in HW implmentations as the loop filter cannot proceed until all TX blocks in the block have been checked. There could be up to 768 of them in 64x64 4:4:4 with 4x4 transform. Change-Id: I45a021d1f27ca7feefed2242605777e70ce7cabd
This commit is contained in:
parent
c238d6cd72
commit
70ddd92d9a
@ -1311,8 +1311,11 @@ static void decode_block(VP9_COMMON *const cm, MACROBLOCKD *const xd,
|
||||
struct inter_args arg = { cm, xd, r, &eobtotal };
|
||||
|
||||
vp9_foreach_transformed_block(xd, bsize, reconstruct_inter_block, &arg);
|
||||
#if CONFIG_BITSTREAM_FIXES
|
||||
#else
|
||||
if (!less8x8 && eobtotal == 0)
|
||||
mbmi->skip = 1; // skip loopfilter
|
||||
#endif
|
||||
}
|
||||
}
|
||||
#if CONFIG_SUPERTX
|
||||
|
Loading…
x
Reference in New Issue
Block a user