Skip to content
Snippets Groups Projects
Commit b48cc30b authored by Xiang Li's avatar Xiang Li
Browse files

Merge branch 'R0067' into 'master'

JVET-R0067: Update the derivation of PictureOutputFlag

See merge request !1667
parents bfc2dbc3 44f6ab7a
No related branches found
No related tags found
1 merge request!1667JVET-R0067: Update the derivation of PictureOutputFlag
Pipeline #5112 passed
......@@ -51,6 +51,8 @@
#include <cassert>
//########### place macros to be removed in next cycle below this line ###############
#define JVET_R0067_PICTURE_OUTPUT_FLAG 1 // JVET-R0067: Update the derivation of PictureOutputFlag
#define JVET_R0080 1 // JVET-R0080, Change the syntax condition for pps_tile_idx_delta_present_flag. When the value of pps_num_slices_in_pic_minus1 is greater than 1 instead of 0, the syntax element of pps_tile_idx_delta_present_flag is signalled.
#define JVET_R0118_PH_IN_SH_CONSTRAINT_FLAG 1 // JVET0R0118: Add a general constraint flag pic_header_in_slice_header_constraint_flag
......
......@@ -1997,7 +1997,21 @@ bool DecLib::xDecodeSlice(InputNALUnit &nalu, int &iSkipFrame, int iPOCLastDispl
{
VPS *vps = m_parameterSetManager.getVPS(sps->getVPSId());
CHECK(vps == 0, "No VPS present");
#if JVET_R0067_PICTURE_OUTPUT_FLAG
bool isCurLayerNotOutput = true;
for (int i = 0; i < vps->getNumLayersInOls(vps->m_targetOlsIdx); i++)
{
if( vps->getLayerIdInOls(vps->m_targetOlsIdx, i) == nalu.m_nuhLayerId )
{
isCurLayerNotOutput = false;
break;
}
}
if(isCurLayerNotOutput)
#else
if ((vps->getOlsModeIdc() == 0 && vps->getGeneralLayerIdx(nalu.m_nuhLayerId) < (vps->getMaxLayers() - 1) && vps->getOlsOutputLayerFlag(vps->m_targetOlsIdx, vps->getMaxLayers() - 1) == 1) || (vps->getOlsModeIdc() == 2 && vps->getOlsOutputLayerFlag(vps->m_targetOlsIdx, vps->getGeneralLayerIdx(nalu.m_nuhLayerId)) == 0))
#endif
{
m_picHeader.setPicOutputFlag(false);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment