Commit e8668bc3 authored by Zhipin Deng's avatar Zhipin Deng

JVET-S0179: Conditional signalling of GCI fields

parent d444f86b
......@@ -252,6 +252,9 @@ void EncApp::xInitLibCfg()
m_cEncLib.setAvoidIntraInDepLayer ( m_avoidIntraInDepLayer );
//====== SPS constraint flags =======
#if JVET_S0179_CONDITIONAL_SIGNAL_GCI
m_cEncLib.setGciPresentFlag (true);
#endif
m_cEncLib.setOnePictureOnlyConstraintFlag ( m_onePictureOnlyConstraintFlag );
m_cEncLib.setIntraOnlyConstraintFlag ( m_intraConstraintFlag ); // NOTE: This setting is not used, and is confused with setIntraConstraintFlag
m_cEncLib.setMaxBitDepthConstraintIdc ( m_bitDepthConstraint - 8 );
......
......@@ -81,6 +81,9 @@ EncAppCfg::EncAppCfg()
, m_snrInternalColourSpace(false)
, m_outputInternalColourSpace(false)
, m_packedYUVMode(false)
#if JVET_S0179_CONDITIONAL_SIGNAL_GCI
, m_gciPresentFlag(true)
#endif
, m_bIntraOnlyConstraintFlag(false)
, m_maxBitDepthConstraintIdc(0)
, m_maxChromaFormatConstraintIdc(CHROMA_420)
......
......@@ -131,6 +131,9 @@ protected:
bool m_bClipOutputVideoToRec709Range;
bool m_packedYUVMode; ///< If true, output 10-bit and 12-bit YUV data as 5-byte and 3-byte (respectively) packed YUV data
#if JVET_S0179_CONDITIONAL_SIGNAL_GCI
bool m_gciPresentFlag;
#endif
bool m_bIntraOnlyConstraintFlag;
uint32_t m_maxBitDepthConstraintIdc;
uint32_t m_maxChromaFormatConstraintIdc;
......
......@@ -235,6 +235,9 @@ private:
class ConstraintInfo
{
#if JVET_S0179_CONDITIONAL_SIGNAL_GCI
bool m_gciPresentFlag;
#endif
bool m_nonPackedConstraintFlag;
bool m_nonProjectedConstraintFlag;
bool m_noResChangeInClvsConstraintFlag;
......@@ -301,6 +304,9 @@ class ConstraintInfo
public:
ConstraintInfo()
: m_nonPackedConstraintFlag (false)
#if JVET_S0179_CONDITIONAL_SIGNAL_GCI
, m_gciPresentFlag (true)
#endif
, m_nonProjectedConstraintFlag(false)
, m_noResChangeInClvsConstraintFlag(false)
, m_oneTilePerPicConstraintFlag(false)
......@@ -365,6 +371,11 @@ public:
{}
#if JVET_S0179_CONDITIONAL_SIGNAL_GCI
bool getGciPresentFlag() const { return m_gciPresentFlag; }
void setGciPresentFlag(bool b) { m_gciPresentFlag = b; }
#endif
bool getNonPackedConstraintFlag() const { return m_nonPackedConstraintFlag; }
void setNonPackedConstraintFlag(bool b) { m_nonPackedConstraintFlag = b; }
......
......@@ -52,6 +52,8 @@
//########### place macros to be removed in next cycle below this line ###############
#define JVET_S0179_CONDITIONAL_SIGNAL_GCI 1 // JVET-S0179: Conditional signalling of GCI fields
#define JVET_S0074_SPS_REORDER 1 // JVET-S0074: aspect 1, rearrange some syntax elements in SPS
#define JVET_S0132_HLS_REORDER 1 // Rearrange syntax elements in SPS and PPS
......
This diff is collapsed.
......@@ -175,6 +175,9 @@ protected:
bool m_printSequenceMSE;
bool m_cabacZeroWordPaddingEnabled;
#if JVET_S0179_CONDITIONAL_SIGNAL_GCI
bool m_gciPresentFlag;
#endif
bool m_onePictureOnlyConstraintFlag;
bool m_bIntraOnlyConstraintFlag;
uint32_t m_maxBitDepthConstraintIdc;
......@@ -771,6 +774,10 @@ public:
void setMaxChromaFormatConstraintIdc(uint32_t u) { m_maxChromaFormatConstraintIdc = u; }
bool getFrameConstraintFlag() const { return m_bFrameConstraintFlag; }
void setFrameConstraintFlag(bool bVal) { m_bFrameConstraintFlag = bVal; }
#if JVET_S0179_CONDITIONAL_SIGNAL_GCI
bool getGciPresentFlag() const { return m_gciPresentFlag; }
void setGciPresentFlag(bool b) { m_gciPresentFlag = b; }
#endif
bool getSingleLayerConstraintFlag() const { return m_singleLayerConstraintFlag; }
void setSingleLayerConstraintFlag(bool bVal) { m_singleLayerConstraintFlag = bVal; }
......
......@@ -1089,6 +1089,10 @@ void EncLib::xInitSPS( SPS& sps )
{
ProfileTierLevel* profileTierLevel = sps.getProfileTierLevel();
ConstraintInfo* cinfo = profileTierLevel->getConstraintInfo();
#if JVET_S0179_CONDITIONAL_SIGNAL_GCI
cinfo->setGciPresentFlag(m_gciPresentFlag);
#endif
cinfo->setNonPackedConstraintFlag (m_nonPackedConstraintFlag);
cinfo->setNonProjectedConstraintFlag(m_nonProjectedConstraintFlag);
cinfo->setNoResChangeInClvsConstraintFlag(m_noResChangeInClvsConstraintFlag);
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment