Skip to content
Snippets Groups Projects
software-manual.tex 168 KiB
Newer Older
  • Learn to ignore specific revisions
  • Specifies the value of ptl_multilayer_enabled_flag.
    \\
    
    
    Yan Zhang's avatar
    Yan Zhang committed
    \Option{SubProfile} &
    %\ShortOption{\None} &
    \Default{0} &
    Indicates interoperability metadata registered as specified by X Recommendation ITU-T T.35.
    \\
    
    
    \Option{EnableDecodingCapabilityInformation} &
    
    Yan Zhang's avatar
    Yan Zhang committed
    %\ShortOption{\None} &
    \Default{false} &
    
    Enables writing of a decoding capability information (DCI). If disabled, no DCI will be written.
    
    Yan Zhang's avatar
    Yan Zhang committed
    \\
    
    \Option{MaxBitDepthConstraint} &
    %\ShortOption{\None} &
    \Default{0} &
    
    For --profile=main-RExt, specifies the value to use to derive the general_max_bit_depth constraint flags for RExt profiles; when 0, use InternalBitDepth.
    
    Yan Zhang's avatar
    Yan Zhang committed
    \\
    
    \Option{MaxChromaFormatConstraint} &
    %\ShortOption{\None} &
    \Default{0} &
    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{GciPresentFlag} &
    %\ShortOption{\None} &
    \Default{1} &
    Specifies the value of gci_present_flag
    \\
    
    \Option{IntraOnlyConstraintFlag} &
    
    Yan Zhang's avatar
    Yan Zhang committed
    %\ShortOption{\None} &
    \Default{false} &
    
    Specifies the value of gci_intra_only_constraint_flag
    \\
    
    \Option{AllLayersIndependentConstraintFlag} &
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of all_layers_independent_constraint_flag
    
    Yan Zhang's avatar
    Yan Zhang committed
    \\
    
    \Option{OnePictureOnlyConstraintFlag} &
    %\ShortOption{\None} &
    \Default{false} &
    
    Specifies the value of general_one_picture_only_constraint_flag
    
    Yan Zhang's avatar
    Yan Zhang committed
    \\
    
    
    \Option{MaxBitDepthConstraintIdc} &
    
    Yan Zhang's avatar
    Yan Zhang committed
    %\ShortOption{\None} &
    
    \Default{16} &
    Specifies the value of 16 minus gci_sixteen_minus_max_bitdepth_constraint_idc
    
    Yan Zhang's avatar
    Yan Zhang committed
    \\
    
    
    \Option{MaxChromaFormatConstraintIdc} &
    %\ShortOption{\None} &
    \Default{3} &
    Specifies the value of 3 minus gci_three_minus_max_chroma_format_constraint_idc
    \\
    
    
    Kui Fan's avatar
    Kui Fan committed
    %\ShortOption{\None} &
    \Default{false} &
    
    Specifies the value of gci_no_trail_constraint_flag
    
    %\ShortOption{\None} &
    \Default{false} &
    
    Specifies the value of gci_no_stsa_constraint_flag
    
    %\ShortOption{\None} &
    \Default{false} &
    
    Specifies the value of gci_no_rasl_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_radl_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_idr_constraint_flag
    \\
    
    
    %\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
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_aps_constraint_flag
    
    \Option{NoIdrRplConstraintFlag} &
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_idr_rpl_constraint_flag
    \\
    
    
    Kui Fan's avatar
    Kui Fan committed
    \Option{OneTilePerPicConstraintFlag} &
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of one_tile_per_pic_constraint_flag
    \\
    
    
    bdchoi's avatar
    bdchoi committed
    \Option{PicHeaderInSliceHeaderConstraintFlag} &
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of pic_header_in_slice_header_constraint_flag
    \\
    
    
    Kui Fan's avatar
    Kui Fan committed
    \Option{OneSlicePerPicConstraintFlag} &
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of one_slice_per_pic_constraint_flag
    \\
    
    \Option{NoRectSliceConstraintFlag} &
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_rectangular_slice_constraint_flag
    \\
    
    \Option{OneSlicePerSubpicConstraintFlag} &
    
    Kui Fan's avatar
    Kui Fan committed
    %\ShortOption{\None} &
    \Default{false} &
    
    Specifies the value of gci_one_slice_per_subpic_constraint_flag
    \\
    
    \Option{NoSubpicInfoConstraintFlag} &
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_subpic_info_constraint_flag
    
    \Option{MaxLog2CtuSizeConstraintIdc} &
    %\ShortOption{\None} &
    \Default{8} &
    Specifies the value of gci_three_minus_max_log2_ctu_size_constraint_idc
    \\
    
    
    \Option{NoPartitionConstraintsOverrideConstraintFlag} &
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_partition_constraints_override_constraint_flag
    \\
    
    
    \Option{NoMttConstraintFlag} &
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_mtt_constraint_flag
    \\
    
    
    \Option{NoQtbttDualTreeIntraConstraintFlag} &
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_qtbtt_dual_tree_intra_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_palette_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_ibc_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_isp_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_mrl_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_mip_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_cclm_constraint_flag
    \\
    
    
    \Option{NoRprConstraintFlag} &
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_ref_pic_resampling_constraint_flag
    \\
    
    
    \Option{NoResChangeInClvsConstraintFlag} &
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_res_change_in_clvs_constraint_flag
    \\
    
    
    \Option{NoWeightedPredictionConstraintFlag} &
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_weighted_prediction_constraint_flag
    \\
    
    
    \Option{NoRefWraparoundConstraintFlag} &
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_ref_wraparound_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_temporal_mvp_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_sbtmvp_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_amvr_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_smvd_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_bdof_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_dmvr_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_mmvd_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_affine_motion_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_prof_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_bcw_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_ciip_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_gpm_constraint_flag
    \\
    
    
    \Option{NoTransformSkipConstraintFlag} &
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_transform_skip_constraint_flag
    \\
    
    
    \Option{NoLumaTransformSize64ConstraintFlag} &
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_luma_transform_size_64_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_bdpcm_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_mts_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_lfnst_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_joint_cbcr_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_sbt_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_act_constraint_flag
    \\
    
    
    \Option{NoExplicitScaleListConstraintFlag} &
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_explicit_scaling_list_constraint_flag
    \\
    
    
    \Option{NoChromaQpOffsetConstraintFlag} &
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gic_no_chroma_qp_offset_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_dep_quant_constraint_flag
    \\
    
    
    \Option{NoSignDataHidingConstraintFlag} &
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_sign_data_hiding_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_cu_qp_delta_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_sao_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_alf_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_ccalf_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_lmcs_constraint_flag
    \\
    
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_ladf_constraint_flag
    \\
    
    
    \Option{NoVirtualBoundaryConstraintFlag} &
    
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_virtual_boundaries_constraint_flag
    \\
    
    
    Yan Zhang's avatar
    Yan Zhang committed
    \end{OptionTableNoShorthand}
    
    
    
    %%
    %% Layer parameters
    %%
    
    
    \begin{OptionTableNoShorthand}{Layer parameters}{tab:layer}
    
    \Option{MaxLayers} &
    %\ShortOption{\None} &
    \Default{1} &
    Specifies the value to use to derive the vps_max_layers_minus1 for layered coding
    \\
    
    
    \Option{MaxSubLayers} &
    %\ShortOption{\None} &
    
    Specifies the maximum number of temporal sublayers to signal in the VPS
    \\
    
    
    \Option{DefaultPtlDpbHrdMaxTidFlag} &
    
    %\ShortOption{\None} &
    \Default{true} &
    
    Specifies the value of vps_default_ptl_dpb_hrd_max_tid_flag in the VPS
    
    \Option{EnableOperatingPointInformation} &
    %\ShortOption{\None} &
    \Default{false} &
    Enables writing of a operating point information (OPI). If disabled, no OPI will
    be written.
    \\
    
    \Option{TargetOutputLayerSet} &
    %\ShortOption{\None} &
    \Default{\NotSet} &
    Specifies the target Output Layer Set Idx to be signalled in OPI. When not provided the value may be inferred from the VPS.
    \\
    
    \Option{MaxTemporalLayer} &
    %\ShortOption{\None} &
    \Default{\NotSet} &
    Defines the maximum temporal layer to be signalled in OPI. When not provided the value may be inferred from the VPS.
    \\
    
    
    \Option{AllowablePredDirection} &
    %\ShortOption{\None} &
    \Default{""} &
    Specifies a list of values of the allowable prediction directions for dependent layers. The number of entries is equal to the number of temporal layers.
    \par
    \begin{tabular}{cp{0.45\textwidth}}
    0 & Both inter-layer and intra-layer preditions are allowed for the speficied temporal layer. \\
    1 & Only inter-layer predition is allowed for the speficied temporal layer. \\
    2 & Only intra-layer predition is allowed for the speficied temporal layer. \\
    \end{tabular}
    \\
    
    
    \Option{LayerId\emph{i}} &
    %\ShortOption{\None} &
    \Default{0} &
    Specifies the nuh_layer_id of the i-th layer (with i an integer greater than 0)
    \\
    
    \Option{NumRefLayers\emph{i}} &
    %\ShortOption{\None} &
    \Default{0} &
    Specifies the number of direct reference layers of the i-th layer (with i an integer greater than 0)
    \\
    
    \Option{RefLayerIdx\emph{i}} &
    %\ShortOption{\None} &
    \Default{""} &
    Specifies a list of indexes of the reference layers of the i-th layer (with i an integer greater than 0)
    \\
    
    \Option{EachLayerIsAnOlsFlag} &
    %\ShortOption{\None} &
    \Default{true} &
    Specifies the value of each_layer_is_an_ols_flag in the VPS
    \\
    
    \Option{OlsModeIdc} &
    %\ShortOption{\None} &
    \Default{0} &
    Specifies the value of ols_mode_idc in the VPS
    \\
    
    \Option{NumOutputLayerSets} &
    %\ShortOption{\None} &
    \Default{1} &
    Specifies the number of output layer sets (OLS) signalled in the VPS
    \\
    
    \Option{OlsOutputLayer\emph{i}} &
    %\ShortOption{\None} &
    \Default{""} &
    Specifies a list of indexes of the output layers of the i-th OLS (with i an integer greater than 0) 
    \\
    
    \Option{NumPTLsInVPS} &
    %\ShortOption{\None} &
    \Default{1} &
    Specifies the number of profile_tier_level (PTL) syntax structures signalled in the VPS 
    \\
    
    \Option{LevelPTL\emph{i}} &
    %\ShortOption{\None} &
    \Default{Level::NONE} &
    Specifies the level to signal in the i-th PTL of the VPS (with i an integer greater than 0) 
    \\
    
    \Option{OlsPTLIdx\emph{i}} &
    %\ShortOption{\None} &
    \Default{0} &
    Specifies the index of the PTL that applies to the i-th OLS (with i an integer greater than 0) 
    \\
    
    
    \Option{SamePicTimingInAllOLS} &
    %\ShortOption{\None} &
    \Default{1} &
    Indicates that all OLSs are using the same (not nested) picture timing SEI message, i.e. picture timing SEI will not 
    be included in scalable nesting SEI messages (if scalable nesting SEI is enabled).
    \\
    
    \Option{MaxTidILRefPicsPlusOneLayerId\emph{i}} &
    
    \Default{""} &
    Specifies a list of the maximum temporal ID of the reference layers of the i-th layer plus 1 (with i an integer greater than 0). The value 0 allows only to use IRAP pictures for inter-layer prediction.
    
    
    \Option{AvoidIntraInDepLayer} &
    %\ShortOption{\None} &
    \Default{1} &
    Replaces I slices in dependent layers with B slices, except for all-intra configuration (IntraPeriod=1).
    \\
    
    \end{OptionTableNoShorthand}
    
    
    
    Yan Zhang's avatar
    Yan Zhang committed
    %%
    %% Unit definition parameters
    %%
    
    \begin{OptionTableNoShorthand}{Unit definition parameters}{tab:unit}
    
    \Option{CTUSize} &
    %\ShortOption{\None} &
    \Default{128} &
    
    Defines the CTU size (width and height).
    
    Yan Zhang's avatar
    Yan Zhang committed
    \Option{MaxCUWidth} &
    %\ShortOption{\None} &
    \Default{64} &
    Defines the maximum CU width.
    \\
    
    \Option{MaxCUHeight} &
    %\ShortOption{\None} &
    \Default{64} &
    Defines the maximum CU height.
    \\
    
    \Option{MaxCUSize (-s)} &
    %\ShortOption{\None} &
    \Default{64} &
    Defines the maximum CU size.
    \\
    
    
    \Option{Log2MinCuSize} &
    %\ShortOption{\None} &
    \Default{2} &
    Defines the minimum CU size in logarithm base 2.
    
    Yan Zhang's avatar
    Yan Zhang committed
    \\
    
    \Option{QuadtreeTULog2MaxSize} &
    %\ShortOption{\None} &
    \Default{6 \\ ($= \mathrm{log}_2(64)$)} &
    Defines the Maximum TU size in logarithm base 2.
    \\
    
    \Option{QuadtreeTULog2MinSize} &
    %\ShortOption{\None} &
    \Default{2 \\ ($= \mathrm{log}_2(4)$)} &
    Defines the Minimum TU size in logarithm base 2.
    \\
    
    \Option{QuadtreeTUMaxDepthIntra} &
    %\ShortOption{\None} &
    \Default{1} &
    Defines the depth of the TU tree for intra CUs.
    \\
    
    \Option{QuadtreeTUMaxDepthInter} &
    %\ShortOption{\None} &
    \Default{2} &
    Defines the depth of the TU tree for inter CUs.
    \\
    
    
    Shelly Chiang's avatar
    Shelly Chiang committed
    \Option{MaxMTTHierarchyDepth} &
    %\ShortOption{\None} &
    \Default{3} &
    
    Jie Chen's avatar
    Jie Chen committed
    Defines the initial maximum depth of the multi-type tree for inter slices.
    
    Shelly Chiang's avatar
    Shelly Chiang committed
    \\
    
    \Option{MaxMTTHierarchyDepthI} &
    %\ShortOption{\None} &
    \Default{3} &
    
    Jie Chen's avatar
    Jie Chen committed
    Defines the initial maximum depth of the multi-type tree for intra slices.
    
    Shelly Chiang's avatar
    Shelly Chiang committed
    \\
    
    \Option{MaxMTTHierarchyDepthISliceC} &
    %\ShortOption{\None} &
    \Default{3} &
    
    Jie Chen's avatar
    Jie Chen committed
    Defines the initial maximum depth of the multi-type tree in dual tree for chroma components.
    
    Shelly Chiang's avatar
    Shelly Chiang committed
    \\
    
    \Option{MaxMTTHierarchyDepthISliceL} &
    %\ShortOption{\None} &
    \Default{3} &
    
    Jie Chen's avatar
    Jie Chen committed
    Defines the initial maximum depth of the multi-type tree in dual tree for luma component.
    
    Shelly Chiang's avatar
    Shelly Chiang committed
    %\ShortOption{\None} &
    \Default{4} &
    
    Jie Chen's avatar
    Jie Chen committed
    Defines the initial minimum size of the quad tree in dual tree for chroma components.
    
    
    Note: this size is defined in chroma sample unit in configuration, and it is converted
    into luma sample unit according to the horizontal chroma subsampling ratio when applied
    in the software. In chroma format 4:2:2 case, this value shall be set to the value of
    the height of minimum chroma QT node in chroma samples.
    
    Shelly Chiang's avatar
    Shelly Chiang committed
    \\
    
    \Option{MinQTISlice} &
    %\ShortOption{\None} &
    \Default{8} &
    
    Jie Chen's avatar
    Jie Chen committed
    Defines the initial minimum size of the quad tree for intra slices.
    
    Shelly Chiang's avatar
    Shelly Chiang committed
    \\
    
    \Option{MinQTLumaISlice} &
    %\ShortOption{\None} &
    \Default{8} &
    
    Jie Chen's avatar
    Jie Chen committed
    Defines the initial minimum size of the quad tree in dual tree for luma component.
    
    Shelly Chiang's avatar
    Shelly Chiang committed
    \\
    
    \Option{MinQTNonISlice} &
    %\ShortOption{\None} &
    \Default{8} &
    
    Jie Chen's avatar
    Jie Chen committed
    Defines the initial minimum size of the quad tree for inter slices.
    
    \Option{MaxBTLumaISlice} &
    %\ShortOption{\None} &
    \Default{32} &
    
    Jie Chen's avatar
    Jie Chen committed
    Defines the initial maximum size of the binary tree in dual tree for luma component.
    
    \\
    
    \Option{MaxBTChromaISlice} &
    %\ShortOption{\None} &
    \Default{64} &
    
    Jie Chen's avatar
    Jie Chen committed
    Defines the initial maximum size of the binary tree in dual tree for chroma components.
    
    Defines the initial maximum size of the binary tree for inter slices.
    
    Jie Chen's avatar
    Jie Chen committed
    Defines the initial maximum size of the tenary tree in dual tree for luma component.
    
    \\
    
    \Option{MaxTTChromaISlice} &
    %\ShortOption{\None} &
    \Default{32} &
    
    Jie Chen's avatar
    Jie Chen committed
    Defines the initial maximum size of the tenary tree in dual tree for chroma components.
    
    Jie Chen's avatar
    Jie Chen committed
    Defines the initial maximum size of the tenary tree for inter slices.
    
    Yan Zhang's avatar
    Yan Zhang committed
    \end{OptionTableNoShorthand}
    
    
    %%
    %% Coding structure parameters
    %%
    
    \begin{OptionTableNoShorthand}{Coding structure parameters}{tab:coding-structure}
    \Option{IntraPeriod (-ip)} &
    %\ShortOption{-ip} &
    \Default{$-1$} &
    Specifies the intra frame period.
    A value of $-1$ implies an infinite period.
    \\
    
    \Option{DecodingRefreshType (-dr)} &
    %\ShortOption{-dr} &
    \Default{0} &
    Specifies the type of decoding refresh to apply at the intra frame period
    picture.
    \par
    \begin{tabular}{cp{0.45\textwidth}}
    0 & Applies an I picture (not a intra random access point). \\
    1 & Applies a CRA intra random access point (open GOP). \\
    2 & Applies an IDR intra random access point (closed GOP). \\
    3 & Use recovery point SEI messages to indicate random access. \\
    \end{tabular}
    \\
    
    
    \Option{DRAPPeriod} &
    %\ShortOption{\None} &
    \Default{0} &
    Specifies the DRAP period in frames.  
    Dependent RAP indication SEI messages are disabled if DRAPPeriod is 0.
    \\
    
    
    Yan Zhang's avatar
    Yan Zhang committed
    \Option{GOPSize (-g)} &
    %\ShortOption{-g} &
    \Default{1} &
    Specifies the size of the cyclic GOP structure.
    \\
    
    \Option{Frame\emph{N}} &
    %\ShortOption{\None} &
    \Default{\NotSet} &
    Multiple options that define the cyclic GOP structure that will be used
    repeatedly throughout the sequence.  The table should contain GOPSize
    elements.
    \par
    See section~\ref{sec:gop-structure} for further details.
    \\
    
    \Option{ReWriteParamSets} &
    %\ShortOption{-ip} &
    \Default{$0$} &
    Enable writing of parameter sets (SPS, PPS, etc.) before every (intra) random access point to enable true random access.
    \\
    \end{OptionTableNoShorthand}
    
    
    %%
    %% Motion estimation parameters
    %%
    
    \begin{OptionTableNoShorthand}{Motion estimation parameters}{tab:motion-estimation}
    \Option{FastSearch} &
    %\ShortOption{\None} &
    \Default{1} &
    Enables or disables the use of a fast motion search.
    \par
    \begin{tabular}{cp{0.45\textwidth}}
     0 & Full search method \\
     1 & Fast search method - TZSearch\\
     2 & Predictive motion vector fast search method \\
     3 & Extended TZSearch method \\
    \end{tabular}
    \\
    
    \Option{SearchRange (-sr)} &
    %\ShortOption{-sr} &
    \Default{96} &
    Specifies the search range used for motion estimation.
    
    Note: the search range is defined around a predictor. Motion vectors
    derived by the motion estimation may thus have values larger than the
    search range.
    \\
    
    \Option{BipredSearchRange} &
    %\ShortOption{\None} &
    \Default{4} &
    Specifies the search range used for bi-prediction refinement in motion
    estimation.
    \\
    
    \Option{ClipForBiPredMEEnabled} &
    %\ShortOption{\None} &
    \Default{0} &
    Enables clipping in the Bi-Pred ME, which prevents values over- or under-flowing. It is usually disabled to reduce encoder run-time.
    \\
    
    \Option{FastMEAssumingSmootherMVEnabled} &
    %\ShortOption{\None} &
    \Default{0} &
    Enables fast ME assuming a smoother MV.
    \\
    
    \Option{HadamardME} &
    %\ShortOption{\None} &
    \Default{true} &
    Enables or disables the use of the Hadamard transform in fractional-pel motion
    estimation.
    \par
    \begin{tabular}{cp{0.45\textwidth}}
     0 & SAD for cost estimation \\
     1 & Hadamard for cost estimation \\
    \end{tabular}
    \\
    
    \Option{ASR} &
    %\ShortOption{\None} &
    \Default{false} &
    Enables or disables the use of adaptive search ranges, where the motion
    search range is dynamically adjusted according to the POC difference
    between the current and the reference pictures.
    \begin{displaymath}
    \resizebox{\hsize}{!}{$
    \mathrm{SearchRange}= \mathrm{Round}\left(
                              \mathrm{SearchRange}
                              * \mathrm{ADAPT\_SR\_SCALE}
                              * \frac{\mathrm{abs}(
                                     \mathrm{POCcur} - \mathrm{POCref} )}{
                                     \mathrm{RateGOPSize}}\right)
    $}
    \end{displaymath}
    \\
    
    \Option{MaxNumMergeCand} &
    %\ShortOption{\None} &
    \Default{5} &
    Specifies the maximum number of merge candidates to use.
    \\
    
    
    Yan Zhang's avatar
    Yan Zhang committed
    %\ShortOption{\None} &
    \Default{5} &
    
    Specifies the maximum number of geometric partitioning mode candidates to use.
    
    \\
    
    \Option{MaxNumIBCMergeCand} &
    %\ShortOption{\None} &
    \Default{6} &
    Specifies the maximum number of IBC merge candidates to use.
    
    Yan Zhang's avatar
    Yan Zhang committed
    \\
    
    \Option{DisableIntraInInter} &
    %\ShortOption{\None} &
    \Default{0} &
    Flag to disable intra PUs in inter slices.
    \\
    
    \Option{MMVD} &
    %\ShortOption{\None} &
    \Default{1} &
    Enables or disables the merge mode with motion vector difference (MMVD).
    \\
    
    \Option{MmvdDisNum} &
    %\ShortOption{\None} &
    \Default{6} &
    Specifies the number of MMVD distance entries used from the distance table at encoder.
    \\
    
    Shelly Chiang's avatar
    Shelly Chiang committed
    
    \Option{CIIP} &
    %\ShortOption{\None} &
    \Default{1} &
    Enables or disables the merge mode with combined inter merge and intra prediction (CIIP).
    \\
    
    Yan Zhang's avatar
    Yan Zhang committed
    \end{OptionTableNoShorthand}
    
    
    %%
    %% Mode decision parameters
    %%
    
    \begin{OptionTableNoShorthand}{Mode decision parameters}{tab:mode-decision}
    \Option{LambdaModifier$N$ (-LM$N$)} &
    %\ShortOption{-LM$N$} &
    \Default{1.0} &
    Specifies a value that is multiplied with the Lagrange multiplier
    $\lambda$, for use in the rate-distortion optimised cost calculation
    when encoding temporal layer~$N$.
    If LambdaModifierI is specified, then LambdaModifierI will be used for intra pictures.
    \par
    $N$ may be in the range 0 (inclusive) to 7 (exclusive).
    \\
    
    \Option{LambdaModifierI (-LMI)} &
    %\ShortOption{-LMI} &
    \Default{} &
    Specifies one or more of the LambdaModifiers to use intra pictures at each of the temporal layers.
    If not present, then the LambdaModifier$N$ settings are used instead. If the list of values
    (comma or space separated) does not include enough values for each of the temporal layers,
    the last value is repeated as required.
    \\
    
    \Option{IQPFactor (-IQF)} &
    %\ShortOption{-IQF} &
    \Default{-1} &
    Specifies the QP factor to be used for intra pictures during the lambda computation.
    (The values specified in the GOP structure are only used for inter pictures).
    If negative (default), the following equation is used to derive the value:
    \par
    $IQP_{factor}=0.57*(1.0-Max(0.5, Min(0.0, 0.05*s)))$
    \par
    where $s = Int(isField ? (GS-1)/2 : GS-1)$ and
    $GS$ is the gop size.
    \\
    
    \Option{ECU} &
    %\ShortOption{\None} &
    \Default{false} &
    Enables or disables the use of early CU determination.  When enabled, skipped CUs will not be split further.
    \\
    
    \Option{ESD} &
    %\ShortOption{\None} &
    \Default{false} &
    Enables or disables the use of early skip detection.  When enabled, the skip mode will be tested before any other.
    \\
    
    \Option{FEN} &
    %\ShortOption{\None} &
    \Default{0} &
    Controls the use of different fast encoder coding tools.  The following
    tools are supported in different combinations:
    \par
    \begin{tabular}{cp{0.45\textwidth}}
     a & In the SAD computation for blocks having size larger than 8, only
         the lines of even rows in the block are considered. \\
     b & The number of iterations used in the bi-directional motion vector
         refinement in the motion estimation process is reduced from 4 to 1. \\
    \end{tabular}
    Depending on the value of the parameter, the following combinations are
    supported:
    \par
    \begin{tabular}{cp{0.45\textwidth}}
     0 & Disable all modes \\
     1 & Use both a \& b tools\\
     2 & Use only tool b \\
     3 & Use only tool a \\
    \end{tabular}
    \\
    
    \Option{FDM} &
    %\ShortOption{\None} &
    \Default{true} &
    Enables or disables the use of fast encoder decisions for 2Nx2N merge
    mode.  When enabled, the RD cost for the merge mode of the current
    candidate is not evaluated if the merge skip mode was the best merge
    mode for one of the previous candidates.
    \\
    
    
    \Option{SBTFast64WidthTh} &
    
    \Default{1920} &
    Picture width threshold for testing size-64 SBT in RDO (now for HD and above sequences).
    
    Yan Zhang's avatar
    Yan Zhang committed
    \Option{RDpenalty} &
    %\ShortOption{\None} &
    \Default{0} &
    RD-penalty for 32x32 TU for intra in non-intra slices.
    Enabling this parameter can reduce the visibility of CU boundaries in the coded picture.
    \par
    \begin{tabular}{cp{0.45\textwidth}}
     0 & No RD-penalty \\
     1 & RD-penalty \\
     2 & Maximum RD-penalty (no 32x32 TU)\\
    \end{tabular}
    \\
    
    
    \Option{FastLocalDualTreeMode} &
    %\ShortOption{\None} &
    \Default{0} &
    Controls intra coding speedup introducted with local dual tree mode. 
    \par
    \begin{tabular}{cp{0.45\textwidth}}
     0 & Disabled\\
     1 & Stop testing intra modes in inter slices, if best cost is more that 1.5 times inter cost.\\
     2 & Test only one intra mode in inter slices\\