Skip to content
Snippets Groups Projects
software-manual.tex 152 KiB
Newer Older
  • Learn to ignore specific revisions
  • Yan Zhang's avatar
    Yan Zhang committed
    \\
    
    \Option{IntraConstraintFlag} &
    %\ShortOption{\None} &
    \Default{false} &
    For --profile=main-RExt, specifies the value of general_intra_constraint_flag to use for RExt profiles.
    \\
    
    \Option{OnePictureOnlyConstraintFlag} &
    %\ShortOption{\None} &
    \Default{false} &
    
    Specifies the value of general_one_picture_only_constraint_flag.
    
    Yan Zhang's avatar
    Yan Zhang committed
    \\
    
    \Option{LowerBitRateConstraintFlag} &
    %\ShortOption{\None} &
    \Default{true} &
    Specifies the value of general_lower_bit_constraint_flag to use for RExt profiles.
    \\
    
    
    Kui Fan's avatar
    Kui Fan committed
    \Option{NoResChangeInClvsConstraintFlag} &
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of no_res_change_in_clvs_constraint_flag
    \\
    
    
    \Option{SingleLayerConstraintFlag} &
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of single_layer_constraint_flag
    \\
    
    \Option{AllLayersIndependentConstraintFlag} &
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of all_layers_independent_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{OneSubpicPerPicConstraintFlag} &
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of one_subpic_per_pic_constraint_flag
    \\
    
    
    \Option{ExplicitScaleListConstraintFlag} &
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_explicit_scaling_list_constraint_flag
    \\
    
    \Option{VirtualBoundaryConstraintFlag} &
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of gci_no_virtual_boundaries_constraint_flag
    \\
    
    
    Yan Zhang's avatar
    Yan Zhang committed
    \Option{FrameOnly} &
    %\ShortOption{\None} &
    \Default{false} &
    Specifies the value of general_frame_only_constraint_flag
    \\
    
    \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{AllLayersSameNumSublayersFlag} &
    %\ShortOption{\None} &
    \Default{true} &
    Specifies the value of vps_all_layers_same_num_sublayers_flag in 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{MaxTidILRefPicsPlus1} &
    %\ShortOption{\None} &
    \Default{-1} &
    Specifies the maximum temporal ID for inter-layer reference pictures plus 1. 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{CFM} &
    %\ShortOption{\None} &
    \Default{false} &
    Enables or disables the use of Cbf-based fast encoder mode.  When enabled, once a 2Nx2N CU has been evaluated, if the RootCbf is 0, further PU splits will not be evaluated.
    \\
    
    \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\\
    \end{tabular}
    \\
    
    
    
    Yan Zhang's avatar
    Yan Zhang committed
    \end{OptionTableNoShorthand}
    
    %%
    %% Quantization parameters
    %%
    \begin{OptionTableNoShorthand}{Quantization parameters}{tab:quantization}
    \Option{QP (-q)} &
    %\ShortOption{-q} &
    \Default{30.0} &
    Specifies the base value of the quantization parameter. If it is non-integer, the QP is switched once during encoding.
    \\
    
    \Option{IntraQPOffset} &
    %\ShortOption{\None} &
    \Default{0} &
    Specifies a QP offset from the base QP value to be used for intra frames.
    \\
    
    
    \Option{DepQuant} &
    %\ShortOption{\None} &
    \Default{true} &
    Enables or disables the usage of dependent quantization.
    \\
    
    
    Yan Zhang's avatar
    Yan Zhang committed
    \Option{LambdaFromQpEnable} &
    %\ShortOption{\None} &
    \Default{false} &
    When enabled, the $\lambda$, which is used to convert a cost in bits to a cost in distortion terms, is calculated as:
    
    $\lambda=qpFactor \times 2^{qp+6*(bitDepthLuma-8)-12}$,
    where $qp$ is the slice QP and $qpFactor$ is calculated as follows:
    
    \begin{tabular}{lp{0.45\textwidth}}
     $= IQF$                            & if $IQF >= 0$ and slice is a periodic intra slice \\
     $= 0.57 \times \lambda_{scale}$    & if slice is a non-periodic intra slice \\
     $=$ value from GOP table           & otherwise \\
    \end{tabular}
    
    where $IQF$ is the value specified using the IntraQPFactor option, and where $\lambda_{scale}$ is:
    
    \begin{tabular}{lp{0.45\textwidth}}
     $1$                            & if LambdaFromQpEnable=true \\
     $1.0 - max(0,min(0.5,0.05*B))$ & if LambdaFromQpEnable=false \\
    \end{tabular}
    
    where $B$ is the number of B frames.
    
    If LambdaFromQpEnable=false, then the $\lambda$ is also subsequently scaled for non-top-level hiearchical depths, as follows:
    
    $\lambda = \lambda_{base} \times max(2, min(4, (sliceQP-12)/6))$
    
    In addition, independent on the IntraQPFactor, if HadamardME=false, then for an inter slice the final $\lambda$ is scaled by a factor of $0.95$.
    \\
    
    
    \Option{UseIdentityTableForNon420Chroma}&
    \Default{1}&
    
    Specifies whether identity chroma QP mapping tables are used for 4:2:2 and 4:4:4 content. When set to 1, the identity chroma QP mapping table is used for all the three chroma components for 4:2:2 or 4:4:4 content. When set to 0, chroma QP 
    mapping table may be specified by other parameters in the configuration.
    \\
    
    
    \Option{SameCQPTablesForAllChroma}&
    \Default{1}&
    
    Specifies that the Cb, Cr and joint Cb-Cr components all use the same
    chroma mapping table. When set to 1, the values of QpInValCr, 
    QpOutValCr, QpInValCbCr and QpOutValCbCr are ignored. When set to 0, all
    
    Cb, Cr and joint Cb-Cr components may have different chroma QP mapping tables specified in the configuration file. Note that 
    
    SameCQPTablesForAllChroma is ignored when UseIdentityTableForNon420Chroma is set to 1 for 4:2:2 and 4:4:4 content.
    \\
    
    \Option{QpInValCb}%
    \Option{QpOutValCb}&
    
    \Default{\NotSet} &
    
    Specifies the input and coordinates of the pivot points used to specify the chroma QP mapping tables for the Cb component. Default values are as follows: 
    
     QpInValCb & 25, 33, 43 \\
     QpOutValCb & 25, 32, 37 \\
    
    \end{tabular}
    The values specify the pivot points for the chroma QP mapping table, the unspecified QP values are interpolated from the remaining values. E.g., the default values above specify that  the pivot points for the chroma QP mapping table for the Cb component are (25, 25), (33, 32), (43, 37).
    
    Note that that QpInValCr and QpOutValCr are ignored when UseIdentityTableForNon420Chroma is set to 1 for 4:2:2 and 4:4:4 content.
    
    \Default{\NotSet} &
    
    Specifies the input and coordinates of the pivot points used to specify the chroma QP mapping tables for the Cr component. Default values are as follows: 
    
     QpInValCr  & 0 \\
     QpOutValCr & 0 \\
    
    
    The default values specify a pivot point of (0,0) which corresponds to an identity chroma QP mapping table. Note that that QpInValCr and QpOutValCr are ignored 
    
    when SameCQPTablesForAllChroma is set to 1 or when UseIdentityTableForNon420Chroma is set to 1 for 4:2:2 and 4:4:4 content.
    \\
    
    \Option{QpInValCbCr}%
    \Option{QpOutValCbCr}&
    
    \Default{\NotSet} &
    
    Specifies the input and coordinates of the pivot points used to specify the chroma QP mapping tables for the joint Cb-Cr component. Default values are as follows: 
    
     QpInValrCr   & 0 \\
     QpOutValCbCr & 0 \\
    
    The default values specify a pivot point of (0,0) which corresponds to a identity chroma QP mapping table. Note that that QpInValCbCr and QpOutVaCblCr are ignored 
    when SameCQPTablesForAllChroma is set to 1  or when UseIdentityTableForNon420Chroma is set to 1 for 4:2:2 and 4:4:4 content.
    \\
    
    
    Yan Zhang's avatar
    Yan Zhang committed
    \Option{CbQpOffset (-cbqpofs)}%
    \Option{CrQpOffset (-crqpofs)} &
    %\ShortOption{-cbqpofs}%
    %\ShortOption{-crqpofs} &
    \Default{0}%
    \Default{0} &
    Global offset to apply to the luma QP to derive the QP of Cb and Cr
    respectively.  These options correspond to the values of cb_qp_offset
    and cr_qp_offset, that are transmitted in the PPS.  Valid values are in
    the range $[-12, 12]$.
    \\
    
    \Option{CbCrQpOffset (-cbcrqpofs)} &
    \Default{-1} &
    Global offset to apply to the luma QP to derive the QP for joint Cb-Cr
    residual coding mode.  This option corresponds to the value of cb_cr_qp_offset
    transmitted in the PPS.  Valid values are in the range $[-12, 12]$.
    \\
    
    \Option{CbCrQpOffsetDualTree} &
    \Default{0} &
    Tile group QP offset for joint Cb-Cr residual coding mode when separate luma and
    chroma trees are used.  This option corresponds to the value of tile_group_cb_cr_qp_offset
    transmitted in the tile group header. Valid values are in the range $[-12, 12]$.
    \\
    
    \Option{LumaLevelToDeltaQPMode} &
    \Default{0} &
    Luma-level based Delta QP modulation.
    \par
    \begin{tabular}{cp{0.45\textwidth}}
     0 & not used \\
     1 & Based on CTU average \\
     2 & Based on Max luma in CTU\\
    \end{tabular}
    \\
    
    \Option{LumaLevelToDeltaQPMaxValWeight} &
    \Default{1.0} &
    Weight of per block maximum luma value when LumaLevelToDeltaQPMode=2.
    \\
    
    \Option{LumaLevelToDeltaQPMappingLuma} &
    \Default{\NotSet} &
    Specify luma values to use for the luma to delta QP mapping instead of using default values. Default values are: 0, 301, 367, 434, 501, 567, 634, 701, 767, 834.
    \\
    
    \Option{LumaLevelToDeltaQPMappingDQP} &
    \Default{\NotSet} &
    Specify DQP values to use for the luma to delta QP mapping instead of using default values. Default values are: -3, -2, -1, 0, 1, 2, 3, 4, 5, 6.
    \\
    
    \Option{WCGPPSEnable} &
    \Default{0} &
    Enable the WCG PPS modulation of the chroma QP, rather than the slice,
    which, unlike slice-level modulation, allows the deblocking process
    to consider the adjustment.
    To use, specify a fractional QP:
    the first part of the sequence will use $qpc=floor(QP)$ in the following
    calculation and PPS-0; the second part of the sequence will use $qpc=ceil(QP)$
    and PPS-1. The $chromaQp$ that is then stored in the PPS is given as:
    $clip(round(WCGPPSXXQpScale*baseCQp)+XXQpOffset)$ where $baseCQp=(WCGPPSChromaQpScale*qpc+WCGPPSChromaQpOffset)$.
    Note that the slices will continue to have a delta QP applied.
    \\
    
    \Option{WCGPPSChromaQpScale} &
    \Default{0.0} &
    Scale parameter for the linear chroma QP offset mapping used for WCG content.
    \\
    
    \Option{WCGPPSChromaQpOffset} &
    \Default{0.0} &
    Offset parameter for the linear chroma QP offset mapping used for WCG content.
    \\
    
    \Option{WCGPPSCbQpScale}%
    \Option{WCGPPSCrQpScale} &
    \Default{1.0} &
    Per chroma component QP scale factor depending on capture and representation color space.
    For Cb component with BT.2020 container use 1.14; for BT.709 material and 1.04 for P3 material.
    For Cr component with BT.2020 container use 1.79; for BT.709 material and 1.39 for P3 material.
    \\
    
    \Option{SliceChromaQPOffsetPeriodicity} &
    \Default{0} &
    Defines the periodicity for inter slices that use the slice-level chroma QP offsets, as defined by SliceCbQpOffsetIntraOrPeriodic and SliceCrQpOffsetIntraOrPeriodic. A value of 0 disables the periodicity. It is intended to be used in low-delay configurations where an regular intra period is not defined.
    \\
    
    \Option{SliceCbQpOffsetIntraOrPeriodic}%
    \Option{SliceCrQpOffsetIntraOrPeriodic} &
    \Default{0} &
    Defines the slice-level QP offset to be used for intra slices, or once every 'SliceChromaQPOffsetPeriodicity' pictures.
    \\
    
    \Option{MaxCuDQPDepth (-dqd)} &
    %\ShortOption{\None} &
    \Default{0} &
    Defines maximum depth of a minimum CuDQP for sub-LCU-level delta QP.
    MaxCuDQPDepth shall be greater than or equal to SliceGranularity.
    \\
    
    \Option{RDOQ} &
    %\ShortOption{\None} &
    \Default{true} &
    Enables or disables rate-distortion-optimized quantization for transformed TUs.
    \\
    
    \Option{RDOQTS} &
    %\ShortOption{\None} &
    \Default{true} &
    Enables or disables rate-distortion-optimized quantization for transform-skipped TUs.
    \\
    
    \Option{SelectiveRDOQ} &
    %\ShortOption{\None} &
    \Default{false} &
    Enables or disables selective rate-distortion-optimized quantization.
    A simple quantization is use to pre-analyze, whether to bypass the RDOQ process or not. 
    If all the coefficients are quantized to 0, the RDOQ process is bypassed. 
    Otherwise, the RDOQ process is performed as usual.
    \\
    
    \Option{DeltaQpRD (-dqr)} &
    %\ShortOption{-dqr} &
    \Default{0} &
    Specifies the maximum QP offset at slice level for multi-pass slice
    encoding.  When encoding, each slice is tested multiple times by using
    slice QP values in the range $[-\mathrm{DeltaQpRD}, \mathrm{DeptaQpRD}]$,
    and the best QP value is chosen as the slice QP.
    \\
    
    \Option{MaxDeltaQP (-d)} &
    %\ShortOption{-d} &
    \Default{0} &
    Specifies the maximum QP offset at the largest coding unit level for
    the block-level adaptive QP assignment scheme. In the encoder, each
    largest coding unit is tested multiple times by using the QP values in
    the range $[-\mathrm{MaxDeltaQP}, \mathrm{MaxDeltaQP}]$, and the best QP
    value is chosen as the QP value of the largest coding unit.
    \\
    
    \Option{dQPFile (-m)} &
    %\ShortOption{-m} &
    \Default{\NotSet} &
    Specifies a file containing a list of QP deltas. The $n$-th line
    (where $n$ is 0 for the first line) of this file corresponds to the QP
    value delta for the picture with POC value $n$.
    \\
    
    
    \Option{PerceptQPA (-qpa)} &
    %\ShortOption{-qpa} &
    \Default{false} &
    
    Enables or disables the perceptually optimized QP adaptation (QPA) method described in JVET-H0047, JVET-K0206, and JVET-M0091. Use this together with 'SliceChromaQPOffsetPeriodicity=1' and, in case of HDR input, 'LumaLevelToDeltaQPMode=1' for best subjective quality. Cannot be used together with 'SelectiveRDOQ' (see above) or 'AdaptiveQP' (see below).
    
    \Option{AdaptiveQP (-aq)} &
    
    Yan Zhang's avatar
    Yan Zhang committed
    %\ShortOption{-aq} &
    \Default{false} &
    
    Enables or disables the legacy QP adaptation method based upon a psycho-visual model.
    
    Yan Zhang's avatar
    Yan Zhang committed
    \\
    
    \Option{MaxQPAdaptationRange (-aqr)} &
    %\ShortOption{-aqps} &
    \Default{6} &
    Specifies the maximum QP adaptation range.
    \\
    
    \Option{AdaptiveQpSelection (-aqps)} &
    %\ShortOption{-aqps} &
    \Default{false} &
    Specifies whether QP values for non-I frames will be calculated on the
    fly based on statistics of previously coded frames.
    \\
    
    \Option{RecalculateQP...} \Option{AccordingToLambda} &
    %\ShortOption{\None} &
    \Default{false} &
    Recalculate QP values according to lambda values. Do not suggest to be enabled in all intra case.
    \\
    
    \Option{ScalingList} &
    %\ShortOption{\None} &
    \Default{0} &
    Controls the specification of scaling lists:
    \par
    \begin{tabular}{cp{0.45\textwidth}}
     0 & Scaling lists are disabled \\
     1 & Use default scaling lists \\
     2 & Scaling lists are specified in the file indicated by ScalingListFile \\
    \end{tabular}
    \\
    
    \Option{ScalingListFile} &
    %\ShortOption{\None} &
    \Default{\NotSet} &
    When ScalingList is set to 2, this parameter indicates the name of the file, which contains the defined scaling lists.
    If ScalingList is set to 2 and this parameter is an empty string, information on the format of the scaling list file
    is output and the encoder stops.
    \\
    
    
    \Option{DisableScalingMatrixForLFNST} &
    %\ShortOption{\None} &
    \Default{true} &
    Specifies whether scaling matrices are to be applied to blocks coded with LFNST.
    \\
    
    
    \Option{DisableScalingMatrixForAlternativeColourSpace} &
    %\ShortOption{\None} &
    \Default{true} &
    Specifies whether scaling matrices are disabled to blocks when the colour space is not equal to the designated colour space of scaling matrices.
    \\
    
    \Option{ScalingMatrixDesignatedColourSpace} &
    %\ShortOption{\None} &
    \Default{true} &
    Indicates if the designated colour space of scaling matrices is equal to the original colour space.
    \\
    
    
    Yan Zhang's avatar
    Yan Zhang committed
    \Option{MaxCUChromaQpAdjustmentDepth} &
    %\ShortOption{\None} &
    \Default{-1} &
    Specifies the maximum depth for CU chroma QP adjustment; if negative, CU chroma QP adjustment is disabled.
    \\
    
    \end{OptionTableNoShorthand}
    
    
    %%
    
    %% Slice/Tile coding parameters
    
    Yan Zhang's avatar
    Yan Zhang committed
    %%
    
    \begin{OptionTableNoShorthand}{Slice and tile coding parameters}{tab:slice-coding}
    
    \Option{EnablePicPartitioning} &
    
    Yan Zhang's avatar
    Yan Zhang committed
    %\ShortOption{\None} &
    \Default{0} &
    
    Enable picture partitioning (0: single tile, single slice, 1: multiple tiles/slices can be used).
    
    Yan Zhang's avatar
    Yan Zhang committed
    \\
    
    
    \Option{TileColumnWidthArray} &
    
    Yan Zhang's avatar
    Yan Zhang committed
    %\ShortOption{\None} &
    \Default{\NotSet} &
    
    Tile column widths in units of CTUs. Last column width in list will be repeated uniformly to cover any remaining picture width.