Opened 5 years ago
Closed 5 years ago
#718 closed defect (duplicate)
Checking BdpcmFlag when enabling PDPC
Reported by: | wzeng | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | spec | Version: | VVC D7 vE |
Keywords: | Cc: | ksuehring, bbross, XiangLi, fbossen, jvet@… |
Description
In spec text 8.4.5.2.5, when determining the enable flag of PDPC, one of the condition is:
– BdpcmFlag[ xTbCmp ][ yTbCmp ][ cIdx ] is equal to 0
But in VTM7.0, there is no such condition check.
Not sure what the design intention here. Suggest to align text and SW in this aspect.
Change history (4)
comment:1 Changed 5 years ago by chiaming
comment:2 Changed 5 years ago by wzeng
PDPC process is applied after xPredIntraBDPCM(). The gating flag is m_ipaParam.applyPDPC which does not consider BdpcmFlag.
switch (uiDirMode)
{
case(PLANAR_IDX): xPredIntraPlanar(srcBuf, piPred); break;
case(DC_IDX): xPredIntraDc(srcBuf, piPred, channelType, false); break;
#if JVET_P0059_CHROMA_BDPCM
case(BDPCM_IDX): xPredIntraBDPCM(srcBuf, piPred, isLuma(compID) ? pu.cu->bdpcmMode : pu.cu->bdpcmModeChroma, clpRng); break;
#else
case(BDPCM_IDX): xPredIntraBDPCM(srcBuf, piPred, pu.cu->bdpcmMode, clpRng); break;
#endif
default: xPredIntraAng(srcBuf, piPred, channelType, clpRng); break;
}
if (m_ipaParam.applyPDPC)
{
...
}
comment:3 Changed 5 years ago by chiaming
The mentioned "if (m_ipaParam.applyPDPC)" condition is used for applying PDPC process to PLANAR and DC modes.
if (m_ipaParam.applyPDPC)
{
...
if (uiDirMode == PLANAR_IDX | | uiDirMode == DC_IDX)
{
...
}
}
comment:4 Changed 5 years ago by wzeng
- Resolution set to duplicate
- Status changed from new to closed
Thanks for pointing it out. I misunderstood it here, will close the ticket.
In VTM7.0, BDPCM modes will call predIntraAng(...), then call xPredIntraBDPCM(...). And inside xPredIntraBDPCM(...), no PDPC process is applied to BDPCM modes.