Opened 5 years ago
Closed 5 years ago
#822 closed defect (fixed)
Deblocking with ISP and Virtual Boundaries
Reported by: | bheng | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | VTM-8.0 |
Component: | VTM | Version: | VTM-7.1 |
Keywords: | Cc: | ksuehring, XiangLi, fbossen, jvet@… |
Description
The following code runs for each TU in an ISP CU. When the TU size is less than 4, this will set the same 4x4 block edge flag multiple times. If one of those TUs aligns with a virtual boundary (and the others do not), the additional ISP TUs will overwrite the edge flag, and the virtual boundary will be ignored.
for( auto &currTU : CU::traverseTUs( cu ) )
{
const Area& areaTu = cu.Y().valid() ? currTU.block( COMPONENT_Y ) : area;
verEdgeFilter = m_stLFCUParam.internalEdge;
horEdgeFilter = m_stLFCUParam.internalEdge;
if( isCuCrossedByVirtualBoundaries )
{
xDeriveEdgefilterParam( areaTu.x, areaTu.y, numVerVirBndry, numHorVirBndry, verVirBndryPos, horVirBndryPos, verEdgeFilter, horEdgeFilter );
}
xSetEdgefilterMultiple( cu, EDGE_VER, areaTu, verEdgeFilter );
xSetEdgefilterMultiple( cu, EDGE_HOR, areaTu, horEdgeFilter );
...
}
Change history (1)
comment:1 Changed 5 years ago by XiangLi
- Milestone set to VTM-8.0
- Resolution set to fixed
- Status changed from new to closed
Fixed in https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/merge_requests/1334