Commit faa4bb7e authored by Zhipin Deng's avatar Zhipin Deng

rebase and update the software manual

parent bec91571
......@@ -1000,40 +1000,88 @@ For --profile=main-RExt, specifies the value to use to derive the general_max_bi
For --profile=main-RExt, specifies the chroma-format to use for the general profile constraints for RExt profiles; when 0, use the value of ChromaFormatIDC.
\\
\Option{IntraConstraintFlag} &
\Option{GciPresentFlag} &
%\ShortOption{\None} &
\Default{1} &
Specifies the value of gci_present_flag
\\
\Option{IntraOnlyConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
For --profile=main-RExt, specifies the value of general_intra_constraint_flag to use for RExt profiles.
Specifies the value of gci_intra_only_constraint_flag
\\
\Option{AllLayersIndependentConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of all_layers_independent_constraint_flag
\\
\Option{OnePictureOnlyConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of general_one_picture_only_constraint_flag.
Specifies the value of general_one_picture_only_constraint_flag
\\
\Option{LowerBitRateConstraintFlag} &
\Option{MaxBitDepthConstraintIdc} &
%\ShortOption{\None} &
\Default{true} &
Specifies the value of general_lower_bit_constraint_flag to use for RExt profiles.
\Default{16} &
Specifies the value of 16 minus gci_sixteen_minus_max_bitdepth_constraint_idc
\\
\Option{NoResChangeInClvsConstraintFlag} &
\Option{MaxChromaFormatConstraintIdc} &
%\ShortOption{\None} &
\Default{3} &
Specifies the value of 3 minus gci_three_minus_max_chroma_format_constraint_idc
\\
\Option{TrailConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of no_res_change_in_clvs_constraint_flag
Specifies the value of gci_no_trail_constraint_flag
\\
\Option{SingleLayerConstraintFlag} &
\Option{StsaConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of single_layer_constraint_flag
Specifies the value of gci_no_stsa_constraint_flag
\\
\Option{AllLayersIndependentConstraintFlag} &
\Option{RaslConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of all_layers_independent_constraint_flag
Specifies the value of gci_no_rasl_constraint_flag
\\
\Option{RadlConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_radl_constraint_flag
\\
\Option{IdrConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_idr_constraint_flag
\\
\Option{CraConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_cra_constraint_flag
\\
\Option{GdrConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_gdr_constraint_flag
\\
\Option{ApsConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_aps_constraint_flag
\\
\Option{OneTilePerPicConstraintFlag} &
......@@ -1060,24 +1108,252 @@ Specifies the value of one_slice_per_pic_constraint_flag
Specifies the value of one_subpic_per_pic_constraint_flag
\\
\Option{PartitionConstraintsOverrideConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_partition_constraints_override_constraint_flag
\\
\Option{QtbttDualTreeIntraConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_qtbtt_dual_tree_intra_constraint_flag
\\
\Option{PaletteConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_palette_constraint_flag
\\
\Option{IbcConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_ibc_constraint_flag
\\
\Option{IspConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_isp_constraint_flag
\\
\Option{MrlConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_mrl_constraint_flag
\\
\Option{MipConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_mip_constraint_flag
\\
\Option{CclmConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_cclm_constraint_flag
\\
\Option{NoResChangeInClvsConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_res_change_in_clvs_constraint_flag
\\
\Option{RefWraparoundConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_ref_wraparound_constraint_flag
\\
\Option{TemporalMvpConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_temporal_mvp_constraint_flag
\\
\Option{SbtmvpConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_sbtmvp_constraint_flag
\\
\Option{AmvrConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_amvr_constraint_flag
\\
\Option{SmvdConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_smvd_constraint_flag
\\
\Option{BdofConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_bdof_constraint_flag
\\
\Option{DmvrConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_dmvr_constraint_flag
\\
\Option{MmvdConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_mmvd_constraint_flag
\\
\Option{AffineMotionConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_affine_motion_constraint_flag
\\
\Option{ProfConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_prof_constraint_flag
\\
\Option{BcwConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_bcw_constraint_flag
\\
\Option{CiipConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_ciip_constraint_flag
\\
\Option{GpmConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_gpm_constraint_flag
\\
\Option{TransformSkipConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_transform_skip_constraint_flag
\\
\Option{BDPCMConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_bdpcm_constraint_flag
\\
\Option{MtsConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_mts_constraint_flag
\\
\Option{LfnstConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_lfnst_constraint_flag
\\
\Option{JointCbCrConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_joint_cbcr_constraint_flag
\\
\Option{SbtConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_sbt_constraint_flag
\\
\Option{ActConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_act_constraint_flag
\\
\Option{ExplicitScaleListConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_explicit_scaling_list_constraint_flag
\\
\Option{DepQuantConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_dep_quant_constraint_flag
\\
\Option{SignDataHidingConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_sign_data_hiding_constraint_flag
\\
\Option{QpDeltaConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_cu_qp_delta_constraint_flag
\\
\Option{SaoConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_sao_constraint_flag
\\
\Option{AlfConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_alf_constraint_flag
\\
\Option{CCAlfConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_ccalf_constraint_flag
\\
\Option{LmcsConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_lmcs_constraint_flag
\\
\Option{LadfConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_ladf_constraint_flag
\\
\Option{VirtualBoundaryConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_virtual_boundaries_constraint_flag
\\
\Option{FrameOnly} &
\Option{SingleLayerConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of single_layer_constraint_flag
\\
\Option{FrameOnlyConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of general_frame_only_constraint_flag
\\
\end{OptionTableNoShorthand}
......@@ -2924,7 +3200,7 @@ Specifies the value of general_progressive_source_flag
\Default{false} &
Specifies the value of general_interlaced_source_flag
\\
\Option{NonPackedSource} &
\Option{NonPackedSourceConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of general_non_packed_constraint_flag
......
......@@ -242,13 +242,8 @@ void EncApp::xInitLibCfg()
//====== SPS constraint flags =======
#if JVET_S0179_CONDITIONAL_SIGNAL_GCI
m_cEncLib.setGciPresentFlag (true);
m_cEncLib.setGciPresentFlag ( m_gciPresentFlag );
#endif
//#if JVET_S0094_CHROMAFORMAT_BITDEPTH_CONSTRAINT
// m_cEncLib.setMaxBitDepthConstraintIdc ( m_bitDepthConstraint );
//#else
// m_cEncLib.setMaxBitDepthConstraintIdc ( m_bitDepthConstraint - 8 );
//#endif
if (m_cEncLib.getGciPresentFlag())
{
m_cEncLib.setNonPackedConstraintFlag(m_nonPackedConstraintFlag);
......@@ -260,8 +255,8 @@ void EncApp::xInitLibCfg()
m_cEncLib.setFrameOnlyConstraintFlag(m_frameOnlyConstraintFlag);
m_cEncLib.setOnePictureOnlyConstraintFlag(m_onePictureOnlyConstraintFlag);
m_cEncLib.setIntraOnlyConstraintFlag(m_intraOnlyConstraintFlag);
m_cEncLib.setNoIdrConstraintFlag(m_noIdrConstraintFlag); // Not yet possible to encode bitstream starting with a GDR picture
m_cEncLib.setNoGdrConstraintFlag(m_noGdrConstraintFlag); // Not yet possible to encode GDR using config parameters
m_cEncLib.setNoIdrConstraintFlag(m_noIdrConstraintFlag);
m_cEncLib.setNoGdrConstraintFlag(m_noGdrConstraintFlag);
m_cEncLib.setSingleLayerConstraintFlag(m_singleLayerConstraintFlag);
m_cEncLib.setAllLayersIndependentConstraintFlag(m_allLayersIndependentConstraintFlag);
m_cEncLib.setNoQpDeltaConstraintFlag(m_bNoQpDeltaConstraintFlag);
......@@ -285,10 +280,10 @@ void EncApp::xInitLibCfg()
CHECK(m_noResChangeInClvsConstraintFlag && m_resChangeInClvsEnabled, "Resolution change in CLVS shall be deactivated when m_noResChangeInClvsConstraintFlag is equal to 1");
m_cEncLib.setMaxBitDepthConstraintIdc(m_maxBitDepthConstraintIdc);
CHECK(m_maxBitDepthConstraintIdc < m_bitDepthConstraint - 8, "Bit depth minus 8 shall be less than m_maxBitDepthConstraintIdc");
CHECK(m_internalBitDepth[CHANNEL_TYPE_LUMA] > m_maxBitDepthConstraintIdc, "Internal bit depth shall be less than or equal to m_maxBitDepthConstraintIdc");
m_cEncLib.setMaxChromaFormatConstraintIdc(m_maxChromaFormatConstraintIdc);
CHECK(m_maxChromaFormatConstraintIdc < m_chromaFormatConstraint, "Chroma format Idc shall be less than m_maxBitDepthConstraintIdc");
CHECK(m_chromaFormatIDC > m_maxChromaFormatConstraintIdc, "Chroma format Idc shall be less than or equal to m_maxBitDepthConstraintIdc");
m_cEncLib.setNoQtbttDualTreeIntraConstraintFlag(m_bNoQtbttDualTreeIntraConstraintFlag);
CHECK(m_bNoQtbttDualTreeIntraConstraintFlag && m_dualTree, "Dual tree shall be deactivated when m_bNoQtbttDualTreeIntraConstraintFlag is equal to 1");
......@@ -401,7 +396,7 @@ void EncApp::xInitLibCfg()
#if JVET_S0050_GCI
m_cEncLib.setNoExplicitScaleListConstraintFlag(m_noExplicitScaleListConstraintFlag);
CHECK(m_noExplicitScaleListConstraintFlag && m_useScalingListId != SCALING_LIST_OFF, "Explicit scaling list shall be deactivated when m_noExplicitScaleListConstraintFlag is equal to 1");
m_cEncLib.setNoVirtualBoundaryConstraintFlag(m_noVirtualBoundaryConstraintFlag);
CHECK(m_noVirtualBoundaryConstraintFlag && m_virtualBoundariesEnabledFlag, "Virtuall boundaries shall be deactivated when m_noVirtualBoundaryConstraintFlag is equal to 1");
#endif
......@@ -420,8 +415,8 @@ void EncApp::xInitLibCfg()
m_cEncLib.setFrameOnlyConstraintFlag(false);
m_cEncLib.setOnePictureOnlyConstraintFlag(false);
m_cEncLib.setIntraOnlyConstraintFlag(false);
m_cEncLib.setMaxBitDepthConstraintIdc(8);
m_cEncLib.setMaxChromaFormatConstraintIdc(CHROMA_444);
m_cEncLib.setMaxBitDepthConstraintIdc(16);
m_cEncLib.setMaxChromaFormatConstraintIdc(3);
m_cEncLib.setNoQtbttDualTreeIntraConstraintFlag(false);
m_cEncLib.setNoPartitionConstraintsOverrideConstraintFlag(false);
m_cEncLib.setNoSaoConstraintFlag(false);
......
This diff is collapsed.
......@@ -136,8 +136,7 @@ protected:
#endif
bool m_bIntraOnlyConstraintFlag;
uint32_t m_maxBitDepthConstraintIdc;
uint32_t m_maxChromaFormatConstraintIdc;
bool m_bFrameConstraintFlag;
int m_maxChromaFormatConstraintIdc;
bool m_singleLayerConstraintFlag;
bool m_allLayersIndependentConstraintFlag;
bool m_noMrlConstraintFlag;
......
......@@ -250,7 +250,7 @@ class ConstraintInfo
bool m_frameOnlyConstraintFlag;
bool m_intraOnlyConstraintFlag;
uint32_t m_maxBitDepthConstraintIdc;
ChromaFormat m_maxChromaFormatConstraintIdc;
int m_maxChromaFormatConstraintIdc;
bool m_onePictureOnlyConstraintFlag;
bool m_lowerBitRateConstraintFlag;
......@@ -406,8 +406,8 @@ public:
uint32_t getMaxBitDepthConstraintIdc() const { return m_maxBitDepthConstraintIdc; }
void setMaxBitDepthConstraintIdc(uint32_t bitDepth) { m_maxBitDepthConstraintIdc = bitDepth; }
ChromaFormat getMaxChromaFormatConstraintIdc() const { return m_maxChromaFormatConstraintIdc; }
void setMaxChromaFormatConstraintIdc(ChromaFormat fmt) { m_maxChromaFormatConstraintIdc = fmt; }
int getMaxChromaFormatConstraintIdc() const { return m_maxChromaFormatConstraintIdc; }
void setMaxChromaFormatConstraintIdc(int fmt) { m_maxChromaFormatConstraintIdc = fmt; }
#if !JVET_S0266_VUI_length
bool getNonProjectedConstraintFlag() const { return m_nonProjectedConstraintFlag; }
......
......@@ -181,8 +181,7 @@ protected:
bool m_onePictureOnlyConstraintFlag;
bool m_bIntraOnlyConstraintFlag;
uint32_t m_maxBitDepthConstraintIdc;
uint32_t m_maxChromaFormatConstraintIdc;
bool m_bFrameConstraintFlag;
int m_maxChromaFormatConstraintIdc;
bool m_singleLayerConstraintFlag;
bool m_allLayersIndependentConstraintFlag;
......@@ -776,15 +775,12 @@ public:
void setIntraOnlyConstraintFlag(bool bVal) { m_bIntraOnlyConstraintFlag = bVal; }
uint32_t getMaxBitDepthConstraintIdc() const { return m_maxBitDepthConstraintIdc; }
void setMaxBitDepthConstraintIdc(uint32_t u) { m_maxBitDepthConstraintIdc = u; }
uint32_t getMaxChromaFormatConstraintIdc() const { return m_maxChromaFormatConstraintIdc; }
void setMaxChromaFormatConstraintIdc(uint32_t u) { m_maxChromaFormatConstraintIdc = u; }
bool getFrameConstraintFlag() const { return m_bFrameConstraintFlag; }
void setFrameConstraintFlag(bool bVal) { m_bFrameConstraintFlag = bVal; }
int getMaxChromaFormatConstraintIdc() const { return m_maxChromaFormatConstraintIdc; }
void setMaxChromaFormatConstraintIdc(int u) { m_maxChromaFormatConstraintIdc = u; }
#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; }
bool getAllLayersIndependentConstraintFlag() const { return m_allLayersIndependentConstraintFlag; }
......
......@@ -1132,7 +1132,7 @@ void EncLib::xInitSPS( SPS& sps )
cinfo->setOnePictureOnlyConstraintFlag(m_onePictureOnlyConstraintFlag);
cinfo->setIntraOnlyConstraintFlag (m_intraOnlyConstraintFlag);
cinfo->setMaxBitDepthConstraintIdc (m_maxBitDepthConstraintIdc);
cinfo->setMaxChromaFormatConstraintIdc((ChromaFormat)m_maxChromaFormatConstraintIdc);
cinfo->setMaxChromaFormatConstraintIdc((int)m_maxChromaFormatConstraintIdc);
cinfo->setSingleLayerConstraintFlag (m_singleLayerConstraintFlag);
cinfo->setAllLayersIndependentConstraintFlag (m_allLayersIndependentConstraintFlag);
cinfo->setNoMrlConstraintFlag (m_noMrlConstraintFlag);
......
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