Opened 5 years ago
Closed 5 years ago
#576 closed defect (fixed)
bCTUboundary condition for CCLM filtering incorrect
Reported by: | bheng | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | VTM-7.1 |
Component: | VTM | Version: | VTM-6.2 |
Keywords: | Cc: | ksuehring, XiangLi, fbossen, jvet@… |
Description
The isFirstRowOfCtu condition is calculated in xGetLumaRecPixels( ), as shown below:
isFirstRowOfCtu = ((pu.block(COMPONENT_Cb).y)&(((pu.cs->sps)->getMaxCUWidth() >> 1) - 1)) == 0;
Here it uses the vertical position of the PU rather than the vertical position of the TU. For implicitly split TUs within a PU (due to maxTrafoSize), this can give the wrong result.
I believe something like the following would fix the problem.
isFirstRowOfCtu = ((chromaArea.y)&(((pu.cs->sps)->getMaxCUWidth() >> 1) - 1)) == 0;
Change history (2)
comment:1 Changed 5 years ago by chiaming
comment:2 Changed 5 years ago by fbossen
- Milestone set to VTM-7.1
- Resolution set to fixed
- Status changed from new to closed
Note: See TracTickets for help on using tickets.
It is also incorrect for always shifting CTU size by 1 without considering chroma color format. I suggest to fix the issue by: