Opened 9 years ago

Closed 9 years ago

#57 closed defect (fixed)

Setting the PTL in the init() function

Reported by: jaypadia Owned by: Vadim
Priority: minor Milestone: SHM-8.0
Component: SHM software Version:
Keywords: Cc: Vadim, jct-vc@…

Description

Old way:
PTL 0 is set using the PTL information from SPS.
This is before the PTL changes.

Void TEncTop::init(Bool isFieldCoding)
{
  // initialize SPS
  xInitSPS();
  
  /* set the VPS profile information */
  *m_cVPS.getPTL() = *m_cSPS.getPTL();

After rev 941 (and rev 976) fix, the PTL changes are in.
PTL_x is set using the config for PTL_idx x.
Also, the new code below even takes care of PTL_0.
So PTL_0 doesn't need to be set using the SPS; we would have SPS for the higher layers with different PTL values which could overwrite the PTL_0.
Also the encoder config sets the PTL for VPS & SPS using the same configuration. So the line can be removed.

if MULTIPLE_PTL_SUPPORT
  //Populate PTL in VPS
  TComVPS *pVPS = m_acTEncTop[0].getVPS();
  for (int ii = 0; ii < m_numPTLInfo; ii++)
  {
    pVPS->getPTL(ii)->getGeneralPTL()->setLevelIdc(m_levelList[ii]);
    pVPS->getPTL(ii)->getGeneralPTL()->setTierFlag(m_levelTierList[ii]);
    pVPS->getPTL(ii)->getGeneralPTL()->setProfileIdc(m_profileList[ii]);
    pVPS->getPTL(ii)->getGeneralPTL()->setProfileCompatibilityFlag(m_profileCompatibility[ii], 1);
    pVPS->getPTL(ii)->getGeneralPTL()->setProgressiveSourceFlag(m_progressiveSourceFlagList[ii]);
    pVPS->getPTL(ii)->getGeneralPTL()->setInterlacedSourceFlag(m_interlacedSourceFlagList[ii]);
    pVPS->getPTL(ii)->getGeneralPTL()->setNonPackedConstraintFlag(m_nonPackedConstraintFlagList[ii]);
    pVPS->getPTL(ii)->getGeneralPTL()->setFrameOnlyConstraintFlag(m_frameOnlyConstraintFlagList[ii]);
  }

This line could be commented / removed.

  /* set the VPS profile information */
  //*m_cVPS.getPTL() = *m_cSPS.getPTL();

Attachments (1)

AssertsForPTL.patch (10.4 KB) - added by fhendry 9 years ago.

Download all attachments as: .zip

Change history (4)

comment:1 Changed 9 years ago by DefaultCC Plugin

  • Cc Vadim jct-vc@… added

Changed 9 years ago by fhendry

comment:2 in reply to: ↑ description Changed 9 years ago by fhendry

Agree that line should be removed.
In addition, some asserts should be added to enable the software to notify if incorrect ptl value (violating conformance constraints) is used.

Replying to jaypadia:

Old way:
PTL 0 is set using the PTL information from SPS.
This is before the PTL changes.

Void TEncTop::init(Bool isFieldCoding)
{
  // initialize SPS
  xInitSPS();
  
  /* set the VPS profile information */
  *m_cVPS.getPTL() = *m_cSPS.getPTL();

After rev 941 (and rev 976) fix, the PTL changes are in.
PTL_x is set using the config for PTL_idx x.
Also, the new code below even takes care of PTL_0.
So PTL_0 doesn't need to be set using the SPS; we would have SPS for the higher layers with different PTL values which could overwrite the PTL_0.
Also the encoder config sets the PTL for VPS & SPS using the same configuration. So the line can be removed.

if MULTIPLE_PTL_SUPPORT
  //Populate PTL in VPS
  TComVPS *pVPS = m_acTEncTop[0].getVPS();
  for (int ii = 0; ii < m_numPTLInfo; ii++)
  {
    pVPS->getPTL(ii)->getGeneralPTL()->setLevelIdc(m_levelList[ii]);
    pVPS->getPTL(ii)->getGeneralPTL()->setTierFlag(m_levelTierList[ii]);
    pVPS->getPTL(ii)->getGeneralPTL()->setProfileIdc(m_profileList[ii]);
    pVPS->getPTL(ii)->getGeneralPTL()->setProfileCompatibilityFlag(m_profileCompatibility[ii], 1);
    pVPS->getPTL(ii)->getGeneralPTL()->setProgressiveSourceFlag(m_progressiveSourceFlagList[ii]);
    pVPS->getPTL(ii)->getGeneralPTL()->setInterlacedSourceFlag(m_interlacedSourceFlagList[ii]);
    pVPS->getPTL(ii)->getGeneralPTL()->setNonPackedConstraintFlag(m_nonPackedConstraintFlagList[ii]);
    pVPS->getPTL(ii)->getGeneralPTL()->setFrameOnlyConstraintFlag(m_frameOnlyConstraintFlagList[ii]);
  }

This line could be commented / removed.

  /* set the VPS profile information */
  //*m_cVPS.getPTL() = *m_cSPS.getPTL();

comment:3 Changed 9 years ago by Vadim

  • Resolution set to fixed
  • Status changed from new to closed

the suggested line was disabled with rev 1017, please reopen the ticket if the problem still exists

Note: See TracTickets for help on using tickets.

This list contains all users that will be notified about changes made to this ticket.

These roles will be notified: Reporter, Owner, Subscriber, Participant

  • Gerhard Tech(Always)
  • Hendry(Participant)
  • Jay Padia(Reporter)
  • jct-vc@…(Subscriber)
  • Karsten Suehring(Always)
  • Vadim Seregin(Owner, Subscriber, Participant)