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
\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).
\\
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
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
\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
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
\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.
\\
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
\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.
\\
\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.
\\
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
\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.
\\
2372
2373
2374
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
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
\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.
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
\\
\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.
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
\\
\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
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
\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}&
%\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$.
\\
\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}&
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.
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
\\
\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.
\\
\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.
\\