Newer
Older
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
\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.
\\
\Option{MaxNumGeoCand} &
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.
\\
\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.
\\
\Option{CIIP} &
%\ShortOption{\None} &
\Default{1} &
Enables or disables the merge mode with combined inter merge and intra prediction (CIIP).
\\
\Option{DMVREncMvSelect} &
%\ShortOption{\None} &
\Default{0} &
Enable method for encoder control of decoder side motion derivation (DMVR) to avoid selection of MVs that are more likely to give subjective artifacts. Only applies for blocks equal to or greater than 64x64. Enabled by default when GOP based RPR is used.
\\
\Option{DMVREncMvSelectBaseQpTh} &
%\ShortOption{\None} &
\Default{33} &
QP threshold parameter that determines which QP the encoder control for DMVR (DMVREncMvSelect) is invoked for given by $QP >= DMVREncMvSelectBaseQpTh$.
\\
\Option{DMVREncMvSelectDisableHighestTemporalLayer} &
%\ShortOption{\None} &
\Default{1} &
Disable encoder control of DMVR (DMVREncMvSelect) for highest temporal layer unless frame rate is equal or lower than 30 Hz.
\\
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
\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.
\\
Mohammed Golam Sarwer
committed
%\ShortOption{\None} &
\Default{1920} &
Picture width threshold for testing size-64 SBT in RDO (now for HD and above sequences).
Mohammed Golam Sarwer
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.
Lien-Fei Chen
committed
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
\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.
\\
Waqas Ahmad
committed
\Option{MTTSkipping} &
%\ShortOption{\None} &
\Default{false} &
Enable early termination of multi-type tree partitioning for 64x64 luma CU based on no-split Intra RD cost.
\\
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
\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.
\\

Karsten Suehring
committed
\Option{MergeRdCandQuotaCiip} &
%\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.
\\
\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.
\\
\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.
\\
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
\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}&
Adarsh Krishnan Ramasubramonian
committed
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}&
Adarsh Krishnan Ramasubramonian
committed
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
Adarsh Krishnan Ramasubramonian
committed
SameCQPTablesForAllChroma is ignored when UseIdentityTableForNon420Chroma is set to 1 for 4:2:2 and 4:4:4 content.
\\
\Option{QpInValCb}%
\Option{QpOutValCb}&
Adarsh Krishnan Ramasubramonian
committed
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:
Adarsh Krishnan Ramasubramonian
committed
\begin{tabular}{cp{0.45\textwidth}}
QpInValCb & 25, 33, 43 \\
QpOutValCb & 25, 32, 37 \\
Adarsh Krishnan Ramasubramonian
committed
\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.
Adarsh Krishnan Ramasubramonian
committed
\\
\Option{QpInValCr}%
\Option{QpOutValCr}&
Adarsh Krishnan Ramasubramonian
committed
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:
Adarsh Krishnan Ramasubramonian
committed
\begin{tabular}{cp{0.45\textwidth}}
QpInValCr & 0 \\
QpOutValCr & 0 \\
Adarsh Krishnan Ramasubramonian
committed
\end{tabular}
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
Adarsh Krishnan Ramasubramonian
committed
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}&
Adarsh Krishnan Ramasubramonian
committed
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:
Adarsh Krishnan Ramasubramonian
committed
\begin{tabular}{cp{0.45\textwidth}}
QpInValrCr & 0 \\
QpOutValCbCr & 0 \\
Adarsh Krishnan Ramasubramonian
committed
\end{tabular}
Adarsh Krishnan Ramasubramonian
committed
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.
\\
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
\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.
\\
\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)} &
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.
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
\\
\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).
Enables or disables the legacy QP adaptation method based upon a psycho-visual model.
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
\\
\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.
\\
Adarsh Krishnan Ramasubramonian
committed
\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} &
\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.
\\
\end{OptionTableNoShorthand}
%%
\begin{OptionTableNoShorthand}{Slice and tile coding parameters}{tab:slice-coding}
\Option{EnablePicPartitioning} &
Enable picture partitioning (0: single tile, single slice, 1: multiple tiles/slices can be used).
Tile column widths in units of CTUs. Last column width in list will be repeated uniformly to cover any remaining picture width.
\Default{\NotSet} &
Tile row heights in units of CTUs. Last row height in list will be repeated uniformly to cover any remaining picture height.
Use raster-scan or rectangular slices (0: rectangular, 1: raster-scan).

Karsten Suehring
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.
\\
Rectangular slice positions. List containing pairs of top-left CTU RS address followed by bottom-right CTU RS address.
\Default{0} &
Fixed rectangular slice width in units of tiles (0: disable this feature and use RectSlicePositions instead).
\Default{0} &
Fixed rectangular slice height in units of tiles (0: disable this feature and use RectSlicePositions instead).
\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.
Rickard Sjöberg
committed
%\ShortOption{\None} &
\Default{0} &
Loop filtering applied across tile boundaries or not (0: filter across tile boundaries 1: do not filter across tile boundaries).
Rickard Sjöberg
committed
\\
Loop filtering applied across slice boundaries or not (0: filter across slice boundaries 1: do not filter across slice boundaries).
\Default{false} &
Enables the signalling of reference picture list syntax elements in slice headers of IDR pictures
\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.
\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.
\Option{MixedLossyLossless} &
%\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.

Karsten Suehring
committed
%% Subpicture coding parameters

Karsten Suehring
committed
\begin{OptionTableNoShorthand}{Subpicture coding parameters}{tab:subpicture-coding}

Karsten Suehring
committed
\Option{SubPicInfoPresentFlag} &

Karsten Suehring
committed
\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 ].
\\

Karsten Suehring
committed
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
\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.

Karsten Suehring
committed
\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.

Karsten Suehring
committed
\\

Karsten Suehring
committed
%\ShortOption{\None} &
\Default{\None} &
Target subpic index for target output layers that containing multiple subpictures.

Karsten Suehring
committed
\\
\end{OptionTableNoShorthand}
%%
%% In-loop filtering parameters
%%
\begin{OptionTableNoShorthand}{In-loop filtering parameters}{tab:inloop-filter}
\Option{DeblockingFilterDisable} &
%\ShortOption{\None} &
\Default{false} &
Enables or disables the in-loop deblocking filter.
\\
\Option{DeblockingFilterOffsetInPPS}&
%\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.
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}&
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$.
\Option{DeblockingFilterBetaOffset_div2}&
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}&