Skip to content
Snippets Groups Projects
software-manual.tex 225 KiB
Newer Older
Yan Zhang's avatar
Yan Zhang committed

\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\\
\end{tabular}
\\

\Option{SplitPredictAdaptMode} &
%\ShortOption{\None} &
\Default{0} &
Control mode for split cost prediction, 0..2 (Default: 0)
\par
\begin{tabular}{cp{0.45\textwidth}}
 0 & QP based cost prediction.\\
 1 & QP and component type (luma/chroma) based cost prediction.\\
 2 & Cost prediction based on QP, component type and split type.\\
\end{tabular}
\\

\Option{DisableFastTTfromBT} &
%\ShortOption{\None} &
\Default{false} &
Disable fast decision for TT from BT.
\Option{TTFastSkip} &
%\ShortOption{\None} &
\Default{31} &
TT speedup option. Combination is allowed by bitwise OR.
\par
\begin{tabular}{cp{0.45\textwidth}}
 0x00 & Disable TT partition search speedup\\
 0x01 & Enable TT partition search speedup\\
 0x02 & Enable TT partition search speedup by using RD cost comparison between BT vertical split and BT horizontal split\\
 0x04 & Enable TT partition search speedup by using RD cost comparison between non-split and BT split\\
 0x08 & Enable TT partition search speedup for B-slice\\
 0x10 & Enable TT partition search speedup for I-slice\\
 0x1F & All enable for TT partition search speedup\\
\end{tabular}
\\

\Option{TTFastSkipThr} &
%\ShortOption{\None} &
\Default{1.075} &
Controls the strength value of TT partition search skip rate. 
The default value is 1.075 and the recommended setting value should be between 1.000 and 1.200. 
The lower value has higher speedup and also has higher coding loss.
\\

\Option{MaxMergeRdCandNumTotal} &
%\ShortOption{\None} &
\Default{15} &
Specifies the max total number of merge candidates in full RD checking. The actual total number for each CU is the minimum of MaxMergeRdCandNumTotal and the sum of applicable quota parameters.
\\

\Option{MergeRdCandQuotaRegular} &
%\ShortOption{\None} &
\Default{4} &
Specifies the quota of regular merge candidates of blocks with 64 or more luma samples in full RD checking. 
\\

\Option{MergeRdCandQuotaRegularSmallBlk} &
%\ShortOption{\None} &
\Default{4} &
Specifies the quota of regular merge candidates of blocks with less than 64 luma samples in full RD checking. 
\\

\Option{MergeRdCandQuotaSubBlk} &
%\ShortOption{\None} &
\Default{2} &
Specifies the quota of sub-block merge candidates in full RD checking. 
\\

\OptionMergeRdCandQuotaCiip} &
%\ShortOption{\None} &
\Default{1} &
Specifies the quota of CIIP merge candidates in full RD checking. 
\\

\Option{MergeRdCandQuotaGpm} &
%\ShortOption{\None} &
\Default{8} &
Specifies the quota of GPM merge candidates in full RD checking. 
\\
Yan Zhang's avatar
Yan Zhang committed
\end{OptionTableNoShorthand}

%%
%% Quantization parameters
%%
\begin{OptionTableNoShorthand}{Quantization parameters}{tab:quantization}
\Option{QP (-q)} &
%\ShortOption{-q} &
\Default{30} &
Specifies the base value of the quantization parameter (QP).
\\

\Option{QPIncrementFrame (-qpif)} &
%\ShortOption{\None} &
\Default{Undefined} &
Specifies a frame number in the input video file. If this value is defined, the base QP value is incremented by 1 for all frames that have a frame number equal to or larger than the specified frame number. This option may be used for rate matching as it enables to obtain average bitrates that are between bitrates obtainable with fixed base QP values.
Yan Zhang's avatar
Yan Zhang committed
\\

\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{SmoothQPReductionEnable} &
\Default{0} &
Enable QP reduction for smooth blocks according to a QP reduction model:
$Clip3(SmoothQPReductionLimit, 0, SmoothQPReductionModelScale*QP+SmoothQPReductionModelOffset)$.
The QP reduction model is used when SAD is less than SmoothQPReductionThreshold * number of samples in block. Separate parameters for intra and inter pictures.
Where SAD is defined as the sum of absolute differences between original luma samples and luma samples predicted by a 2nd order polynomial model.
The model parameters are determined by a least square fit to original luma samples on a granularity of 64x64 samples.
\\

\Option{SmoothQPReductionThresholdIntra} &
Threshold parameter for smoothness for intra pictures.
\Option{SmoothQPReductionModelScaleIntra} &
Scale parameter of the QP reduction model for intra pictures.
\Option{SmoothQPReductionModelOffsetIntra} &
Offset parameter of the QP reduction model for intra pictures.
\Option{SmoothQPReductionLimitIntra} &
Threshold parameter for controlling amount of QP reduction by the QP reduction model for intra pictures.
\Option{SmoothQPReductionThresholdInter} &
\Default{3.0} &
Threshold parameter for smoothness for inter pictures.
\\

\Option{SmoothQPReductionModelScaleInter} &
\Default{-1.0} &
Scale parameter of the QP reduction model for inter pictures.
\\

\Option{SmoothQPReductionModelOffsetInter} &
\Default{27.0} &
Offset parameter of the QP reduction model for inter pictures.
\\

\Option{SmoothQPReductionLimitInter} &
\Default{-16.0} &
Threshold parameter for controlling amount of QP reduction by the QP reduction model for inter pictures.
\\

\Option{SmoothQPReductionPeriodicity} &
\Default{1} &
Periodicity parameter for application of the QP reduction model. 1: all frames, 0: only intra pictures, 2: every second frame, etc.
\\

\Option{BIM} &
\Default{false} &
Enable or disable Block Importance Mapping, QP adaptation depending on estimated propagation of reference samples. Depends on future and past reference frames configured for temporal filter.
\\

Yan Zhang's avatar
Yan Zhang committed
\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{MaxCuDQPSubdiv (-dqd)} &
Yan Zhang's avatar
Yan Zhang committed
%\ShortOption{\None} &
\Default{0} &
Defines maximum CTU subdivision level defining luma Quantization Groups. A quantization group contains at most one luma QP delta (carried by the first coded TU), and all CUs inside a QG share the same luma QP predictor.
"Sbudivision level" means how many times the number of samples of the CTU is divided by two, e.g. a binary split increases subdiv by 1 and a quad split increases subdiv by 2.
Yan Zhang's avatar
Yan Zhang committed
\\

\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.
\\

\Option{MaxCuChromaQpOffsetSubdiv} &
Yan Zhang's avatar
Yan Zhang committed
%\ShortOption{\None} &
\Default{0} &
Specifies the maximum subdiv for CU chroma QP adjustment. Has no effect if CbQpOffsetList, etc. are left empty.
\\

\Option{SliceCuChromaQpOffsetEnabled} &
%\ShortOption{\None} &
\Default{true} &
Specifies whether CU chroma QP adjustment is enabled at slice level. Has no effect if CbQpOffsetList, etc. are left empty.
\\

\Option{CbQpOffsetList}%
\Option{CrQpOffsetList}%
\Option{CbCrQpOffsetList} &
%\ShortOption{\None} &
\Default{\NotSet} &
Comma-separated value lists specifying the Cb/Cr/CbCr QP offsets for each chroma QP adjustment index. Each list shall be the same length.
CbCrQpOffsetList may be omitted whereas CbQpOffsetList and CrQpOffsetList are specified, in which case it is filled with zeros.
Note that when CbCrQpOffset and CbCrQpOffsetList values are all zero, pps_joint_cbcr_qp_offset_present_flag will be automatically set to zero.
Yan Zhang's avatar
Yan Zhang committed
\\

\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.
Yan Zhang's avatar
Yan Zhang committed
\\

\Option{TileRowHeightArray} &
Yan Zhang's avatar
Yan Zhang committed
%\ShortOption{\None} &
\Default{\NotSet} &
Tile row heights in units of CTUs. Last row height in list will be repeated uniformly to cover any remaining picture height.
Yan Zhang's avatar
Yan Zhang committed
\\

\Option{RasterScanSlices} &
Yan Zhang's avatar
Yan Zhang committed
%\ShortOption{\None} &
\Default{0} &
Use raster-scan or rectangular slices (0: rectangular, 1: raster-scan).
Yan Zhang's avatar
Yan Zhang committed
\\

\Option{SingleSlicePerSubpic} &
%\ShortOption{\None} &
\Default{false} &
Enables slice layout derivation from subpicture layout. Requires more than one subpicture to be enabled. If enabled, all other slice layout parameters will be ignored.
\\

\Option{RectSlicePositions} &
Yan Zhang's avatar
Yan Zhang committed
%\ShortOption{\None} &
\Default{\NotSet} &
Rectangular slice positions. List containing pairs of top-left CTU RS address followed by bottom-right CTU RS address.
Yan Zhang's avatar
Yan Zhang committed
\\

\Option{RectSliceFixedWidth} &
Yan Zhang's avatar
Yan Zhang committed
%\ShortOption{\None} &
\Default{0} &
Fixed rectangular slice width in units of tiles (0: disable this feature and use RectSlicePositions instead).
Yan Zhang's avatar
Yan Zhang committed
\\

\Option{RectSliceFixedHeight} &
Yan Zhang's avatar
Yan Zhang committed
%\ShortOption{\None} &
\Default{0} &
Fixed rectangular slice height in units of tiles (0: disable this feature and use RectSlicePositions instead).
Yan Zhang's avatar
Yan Zhang committed
\\

\Option{RasterSliceSizes} &
Yan Zhang's avatar
Yan Zhang committed
%\ShortOption{\None} &
\Default{\NotSet} &
Raster-scan slice sizes in units of tiles. Last size in list will be repeated uniformly to cover any remaining tiles in the picture.
Yan Zhang's avatar
Yan Zhang committed
\\

\Option{DisableLoopFilterAcrossTiles} &
\Default{0} &
Loop filtering applied across tile boundaries or not (0: filter across tile boundaries  1: do not filter across tile boundaries).
\Option{DisableLoopFilterAcrossSlices} &
Yan Zhang's avatar
Yan Zhang committed
%\ShortOption{\None} &
\Default{0} &
Loop filtering applied across slice boundaries or not (0: filter across slice boundaries 1: do not filter across slice boundaries).
Yan Zhang's avatar
Yan Zhang committed
\\

\Option{IDRRefParamList} &
Yan Zhang's avatar
Yan Zhang committed
%\ShortOption{\None} &
\Default{false} &
Enables the signalling of reference picture list syntax elements in slice headers of IDR pictures
Yan Zhang's avatar
Yan Zhang committed
\\

\Option{WaveFrontSynchro} &
Yan Zhang's avatar
Yan Zhang committed
%\ShortOption{\None} &
\Default{false} &
Enables the use of specific CABAC probabilities synchronization at the
beginning of each line of CTBs in order to produce a bitstream that can
be encoded or decoded using one or more cores.
Yan Zhang's avatar
Yan Zhang committed
\\

Hendry's avatar
Hendry committed
\Option{WaveFrontEntryPointsPresent} &
%\ShortOption{\None} &
\Default{false} &
Allow signalling of entry points for WPP in slice header.
Note that when a slice contains more than one tile, entry point offsets for tile are always present in the slice header.
Yan Zhang's avatar
Yan Zhang committed

%\ShortOption{\None} &
\Default{0} &
Enable or disable mixed lossy/lossless coding. 0 means disable; 1 means enable. Mixed lossy/lossless can only be enable if CostMode is set to lossless.
\\

\Option{SliceLosslessArray} &
%\ShortOption{\None} &
\Default{\None} &
Slice index array of lossless slices. Example:  1 5 6 means slices with index of 1, 5, and 6 are lossless coded. The rest of the slices are lossy coded. If MixedLossyLossless is disbaled, the values are ignored.
Yan Zhang's avatar
Yan Zhang committed
\end{OptionTableNoShorthand}

\begin{OptionTableNoShorthand}{Subpicture coding parameters}{tab:subpicture-coding}
Yan Zhang's avatar
Yan Zhang committed

%\ShortOption{\None} &
\Default{false} &
Enables conding of subpictures.
\\

\Option{NumSubPics} &
%\ShortOption{\None} &
\Default{0} &
Number of subpictures. Must be greater that zero, if SubPicInfoPresentFlag is enabled.
\\

\Option{SubPicSameSizeFlag} &
%\ShortOption{\None} &
\Default{0} &
Setting of sps_subpic_same_size_flag for subpicture layout. If enabled that all subpictures in the CLVS have the same width specified by sps_subpic_width_minus1[ 0 ] and the same height specified by sps_subpic_height_minus1[ 0 ].
\\

\Option{SubPicCtuTopLeftX} &
%\ShortOption{\None} &
\Default{\None} &
Array of subpicture top left horizontal (x) coordinates. The number of entries must be equal to NumSubPics.
\\

\Option{SubPicCtuTopLeftY} &
%\ShortOption{\None} &
\Default{\None} &
Array of subpicture top left vertical (y) coordinates. The number of entries must be equal to NumSubPics.
\\

\Option{SubPicWidth} &
%\ShortOption{\None} &
\Default{\None} &
Array of subpicture widths. The number of entries must be equal to NumSubPics.
\\

\Option{SubPicHeight} &
%\ShortOption{\None} &
\Default{\None} &
Array of subpicture heights. The number of entries must be equal to NumSubPics.
\\

\Option{SubPicTreatedAsPicFlag} &
%\ShortOption{\None} &
\Default{\None} &
Setting of subpic_treated_as_pic_flag for each subpicture. If enabled subpicture boundaries will be treated as picture boundaries. The number of entries must be equal to NumSubPics.
\\

\Option{LoopFilterAcrossSubpicEnabledFlag} &
%\ShortOption{\None} &
\Default{\None} &
Enables loop filtering across subpicture boundaries for each subpicture. The number of entries must be equal to NumSubPics.
\Option{SubPicIdMappingExplicitlySignalledFlag} &
%\ShortOption{\None} &
\Default{false} &
Enables explicit signalling of a subpicture ID map. If disabled, a default map will be derived.
\\

\Option{SubPicIdMappingInSpsFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies wheter to signal the subpicture ID map in SPS or PPS. If SubPicIdMappingInSpsFlag is enabled subpicture IDs are signalled in SPS, otherwise in PPS.
\\

\Option{SubPicIdLen} &
%\ShortOption{\None} &
\Default{0} &
Length of the subpicture IDs in bits. (1<<SubPicIdLen) must be bigger than the number of subpictures and the highes subpicture ID specifid in SubPicId. 
If the value "0" is used, the encoder tries to determine the number of required bits from the number of subpictures or the highest subpicture ID. This mode should not be used, if merging of bistreams is intended. 
Zhipin Deng's avatar
Zhipin Deng committed
\Option{SubPicIdx} &
Zhipin Deng's avatar
Zhipin Deng committed
Target subpic index for target output layers that containing multiple subpictures.
\end{OptionTableNoShorthand}
Yan Zhang's avatar
Yan Zhang committed

%%
%% In-loop filtering parameters
%%
\begin{OptionTableNoShorthand}{In-loop filtering parameters}{tab:inloop-filter}
\Option{DeblockingFilterDisable} &
Yan Zhang's avatar
Yan Zhang committed
%\ShortOption{\None} &
\Default{false} &
Enables or disables the in-loop deblocking filter.
\\

\Option{DeblockingFilterOffsetInPPS}&
Yan Zhang's avatar
Yan Zhang committed
%\ShortOption{\None}&
\Default{false}&
If enabled, the in-loop deblocking filter control parameters are sent in PPS. 
Otherwise, the in-loop deblocking filter control parameters are sent in the slice segment header.
If deblocking filter parameters are sent in PPS, the same values of deblocking filter parameters 
are used for all pictures in the sequence (i.e. deblocking parameter = base parameter value).  
If deblocking filter parameters are sent in the slice segment header, varying deblocking filter 
parameters can be specified by setting parameters tcOffsetDiv2, betaOffsetDiv2 for luma; CbTcOffsetDiv2, CbBetaOffsetDiv2 for Cb and CrTcOffsetDiv2, CrBetaOffsetDiv2 for Cr in the GOP structure table. 
Yan Zhang's avatar
Yan Zhang committed
In this case, the final value of the deblocking filter parameter sent for a certain GOP picture is equal to 
(base parameter + GOP parameter for this picture). Intra-pictures use the base parameters values.
\\

\Option{DeblockingFilterTcOffset_div2}&
Yan Zhang's avatar
Yan Zhang committed
%\ShortOption{\None}&
\Default{0}&
Specifies the base value for the in-loop deblocking filter parameter tc_offset_div2 for luma component. The final value of tc_offset_div2 
shall be an integer number in the range $-12..12$.
Yan Zhang's avatar
Yan Zhang committed
\\

\Option{DeblockingFilterBetaOffset_div2}&
Yan Zhang's avatar
Yan Zhang committed
%\ShortOption{\None}&
\Default{0}&
Specifies the base value for the in-loop deblocking filter parameter beta_offset_div2 for luma component. The final value of beta_offset_div2 
shall be an integer number in the range $-12..12$.
\\

\Option{DeblockingFilterCbTcOffset_div2}&
%\ShortOption{\None}&
\Default{0}&
Specifies the base value for the in-loop deblocking filter parameter tc_offset_div2 for Cb component. The final value of tc_offset_div2 
shall be an integer number in the range $-12..12$.
\\

\Option{DeblockingFilterCbBetaOffset_div2}&
%\ShortOption{\None}&
\Default{0}&
Specifies the base value for the in-loop deblocking filter parameter beta_offset_div2 for Cb component. The final value of beta_offset_div2 
shall be an integer number in the range $-12..12$.
\\

\Option{DeblockingFilterCrTcOffset_div2}&
%\ShortOption{\None}&
\Default{0}&
Specifies the base value for the in-loop deblocking filter parameter tc_offset_div2 for Cr component. The final value of tc_offset_div2 
shall be an integer number in the range $-12..12$.
\\

\Option{DeblockingFilterCrBetaOffset_div2}&
%\ShortOption{\None}&
\Default{0}&
Specifies the base value for the in-loop deblocking filter parameter beta_offset_div2 for Cr component. The final value of beta_offset_div2 
shall be an integer number in the range $-12..12$.
Yan Zhang's avatar
Yan Zhang committed
\\

\Option{DeblockingFilterMetric}&
%\ShortOption{\None}&
\Default{0}&
Specifies the use of a deblocking filter metric to evaluate the suitability of deblocking. If non-zero then
LoopFilterOffsetInPPS and LoopFilterDisable must be 0. Currently excepted values are 0, 1 and 2.
\\

\Option{VirtualBoundariesPresentInSPSFlag}&
Yan Zhang's avatar
Yan Zhang committed
%\ShortOption{\None}&
\Default{false}&
In-loop filtering operations across the virtual boundaries information present in the SPS when VirtualBoundariesPresentFlagInSPS = 1, otherwise
present in the Picture Header when VirtualBoundariesPresentFlagInSPS = 0.
Yan Zhang's avatar
Yan Zhang committed
\\

\Option{NumVerVirtualBoundaries}&
%\ShortOption{\None}&
\Default{0}&
Specifies the number of vertical virtual boundaries.The value of NumVerVirtualBoundaries shall be in the range of 0 to 3, inclusive.
\\

\Option{NumHorVirtualBoundaries}&
%\ShortOption{\None}&
\Default{0}&
Specifies the number of horizontal virtual boundaries. The value of NumHorVirtualBoundaries shall be in the range of 0 to 3, inclusive.
\\

\Option{VirtualBoundariesPosX}&
%\ShortOption{\None}&
\Default{\NotSet}&
Specifies the locations of the vertical virtual boundaries in units of luma samples
\\

\Option{VirtualBoundariesPosY}&
%\ShortOption{\None}&
\Default{\NotSet}&
Specifies the locations of the horizontal virtual boundaries in units of luma samples
\\

\Option{EncDbOpt}&
%\ShortOption{\None}&
\Default{false}&
Enables or disables encoder-side deblocking optimization. When it is enabled, deblocking filter is applied during mode decision.
\\


Yan Zhang's avatar
Yan Zhang committed
\end{OptionTableNoShorthand}



%%
%% Coding tools parameters
%%

\begin{OptionTableNoShorthand}{Coding tools parameters}{tab:coding-tools}

\Option{MRL} &
%\ShortOption{\None} &
\Default{false} &
Enables or disables the use of multiple reference line intra prediction (MRL).
\\

\Option{DualITree} &
%\ShortOption{\None} &
\Default{false} &
Enables or disables the use of separate QTBT trees for intra slice luma and chroma channel types.
\\ 

Yan Zhang's avatar
Yan Zhang committed
\Option{MIP} &
%\ShortOption{\None} &