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

In VTM7.0, BDPCM modes will call predIntraAng(...), then call xPredIntraBDPCM(...). And inside xPredIntraBDPCM(...), no PDPC process is applied to BDPCM modes.

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.

Note: See TracTickets for help on using tickets.