Open stone-d-chen opened 1 month ago
VVC has three types of Chroma deblocking filter operations:
FUNC(loop_filter_chroma_strong)
`FUNC(loop_filter_chroma_weak)
(equivalent to the HEVC chroma deblocking)FUNC(loop_filter_chroma_strong_one_side)
The filter choice depends on the CU/TU block side length (ortho to boundary being deblocked):
When $Sp = Sq = 1$ the short-tap (chroma_weak) is applied. This filter is identical to the (only) HEVC deblocking filter:
$$ \Delta_c = \left((q_0 - p_0 << 2) + p_1 - q_1 + 4\right) >> 3 $$
One general difficult with incremental implementation is that ff_vvc_deblock_horizontal
calls a single function vvcdsp.lf.filter_chroma
which implements the filter decision calculation -> filtering. If I can at least temporarily do some checks in ff_vvc_deblock_horizontal
then I can call hevc's asm implementation directly.
References