Opened 6 years ago

#207 new defect

VTM + 360Lib tries to read input/reference file even is E2E quality metrics are not enabled

Reported by: jfmcarreira Owned by:
Priority: major Milestone:
Component: 360Lib Version:
Keywords: Cc: vzakharc, yuwenhe, jvet@…

Description

In the VTM codec initialization the method TExt360EncGop::initE2EMetricsCalc is not executed if SphereVideo is equal to 0. Therefore, the reference YUV file is not initialized.

However, in the method below it is still access in the method TExt360EncGop::readOrigPicYuv as shown below.

Void TExt360EncGop::calculatePSNRs(TComPic *pcPic)
{
#if SVIDEO_E2E_METRICS

readOrigPicYuv(pcPic->getPOC());
reconstructPicYuv(pcPic->getPicYuvRec());

#endif

[...]

}

Void TExt360EncGop::readOrigPicYuv(Int iPOC)
{

Int iDeltaFrames = iPOC*m_temporalSubsampleRatio - m_iLastFrmPOC;
Int aiPad[2]={0,0};
m_pcTVideoIOYuvInputFile->skipFrames(iDeltaFrames, m_iInputWidth, m_iInputHeight, m_inputChromaFomat);
PelUnitBuf tmpBuf;
m_pcTVideoIOYuvInputFile->read(tmpBuf, *m_pcOrgPicYuv, IPCOLOURSPACE_UNCHANGED, aiPad, m_inputChromaFomat, false );
m_iLastFrmPOC = iPOC*m_temporalSubsampleRatio+1;

}

This leads to a segmentation fault, since we are trying to access initialized classes.
This was detected using VTM3.0 + 360Lib8.0 but it is still in the trunk branch of 360Lib.

Change history (0)

Note: See TracTickets for help on using tickets.