Newer
Older
\documentclass[a4paper,11pt]{jvetdoc}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
\usepackage{geometry}[2010/02/12]
\usepackage{hyperref}
\hypersetup{colorlinks=true,
linkcolor=black, % color of internal links (change box color with linkbordercolor)
citecolor=black, % color of links to bibliography
filecolor=black, % color of file links
urlcolor=blue}
\usepackage{color,soul}
\usepackage[position=bottom]{subfig}
\captionsetup[subfloat]{position=top}
\usepackage{multirow}
\usepackage{dcolumn}
\newcolumntype{.}{D{.}{.}{-1}}
\usepackage{colortbl}
\usepackage{makecell}
\usepackage{longtable}
\usepackage{array}
\usepackage{algorithm2e}
\usepackage{amsmath}
\urlstyle{same}
% code highlighting
\usepackage{minted,xcolor}
\definecolor{bggray}{gray}{0.95}
\setminted{
bgcolor=bggray,
xleftmargin=3ex,
breaklines=true,
fontsize=\footnotesize}
\usepackage[strings]{underscore}
\usepackage{csquotes}
\MakeOuterQuote{"}
\EnableQuotes
\newcommand\None{}
\newcommand\NotSet{}
\makeatletter
\newcommand{\Option}[1]{\ifx\optOption\@empty\gdef\optOption{#1}\else\g@addto@macro\optOption{ \\ #1}\fi}
\newcommand{\ShortOption}[1]{\ifx\optShortOption\@empty\gdef\optShortOption{#1}\else\g@addto@macro\optShortOption{ \\ #1}\fi}
\newcommand{\Default}[1]{\ifx\optDefault\@empty\gdef\optDefault{#1}\else\g@addto@macro\optDefault{ \\ #1}\fi}
\newcommand{\clearOptions}{\gdef\optOption{}\gdef\optShortOption{}\gdef\optDefault{}}
\makeatother
\newenvironment{OptionTable}[1]{%
\footnotesize
\def\arraystretch{1.8}
\clearOptions
\begin{longtable}{l<{\makecell[tl]{\optOption}}%
>{\texttt\bgroup}l<{\makecell[tl]{\optShortOption}\egroup}%
c<{\makecell[tc]{\optDefault}}%
>{\def\arraystretch{1.0}}p{0.5\textwidth}<{\clearOptions}}
\caption{#1} \\
\hspace*{12em}&&\hspace*{8em}&\kill
\hline
\thead{Option} &
\egroup\thead{Shorthand}\bgroup &
\thead{Default} &
\thead{Description} \\
\hline
\endfirsthead
\caption[]{#1 (Continued)} \\
\hspace*{12em}&&\hspace*{8em}&\kill
\hline
\thead{Option} &
\egroup\thead{Shorthand}\bgroup &
\thead{Default} &
\thead{Description} \\
\hline
\endhead
\multicolumn{4}{r}{Continued...}\\
\hline
\endfoot
\hline
\endlastfoot
}{%
\hline
\end{longtable}
}
\newenvironment{OptionTableNoShorthand}[2]{%
\scriptsize
\def\arraystretch{1.8}
\clearOptions
\begin{longtable}{l<{\makecell[tl]{\optOption}}%
c<{\makecell[tc]{\optDefault}}%
>{\def\arraystretch{1.0}}p{0.5\textwidth}<{\clearOptions}}
\caption{#1} \label{#2} \\
\hspace*{12em}&\hspace*{8em}&\kill
\hline
\thead{Option} &
\thead{Default} &
\thead{Description} \\
\hline
\endfirsthead
\caption[]{#1 (Continued)} \\
\hspace*{12em}&\hspace*{8em}&\kill
\hline
\thead{Option} &
\thead{Default} &
\thead{Description} \\
\hline
\endhead
\multicolumn{3}{r}{Continued...}\\
\hline
\endfoot
\hline
\endlastfoot
}{%
\hline
\end{longtable}
}
\newenvironment{SEIListTable}[1]{%
\scriptsize
\def\arraystretch{1.8}
\clearOptions
\begin{longtable}{c<{\makecell[tl]{\optOption}}%
l<{\makecell[tc]{\optDefault}}%
>{\def\arraystretch{1.0}}p{0.3\textwidth}<{\clearOptions}}
\caption{#1} \\
\hspace*{12em}&\hspace*{8em}&\kill
\hline
\thead{SEI Number} &
\thead{SEI Name} &
\thead{Table number of encoder controls, if available} \\
\hline
\endfirsthead
\caption[]{#1 (Continued)} \\
\hspace*{12em}&\hspace*{8em}&\kill
\hline
\thead{SEI Number} &
\thead{SEI Name} &
\thead{Table number of encoder controls, if available} \\
\hline
\endhead
\multicolumn{3}{r}{Continued...}\\
\hline
\endfoot
\hline
\endlastfoot
}{%
\hline
\end{longtable}
}
\newenvironment{MacroTable}[1]{%
\scriptsize
\def\arraystretch{1.3}
\clearOptions
\begin{longtable}{lcp{0.5\textwidth}}
\caption{#1} \\
%\hspace*{12em}&&\hspace*{8em}&\kill
\hline
\thead{Option} &
\thead{Default} &
\thead{Description} \\
\hline
\endfirsthead
\caption[]{#1 (Continued)} \\
\hline
\thead{Option} &
\thead{Default} &
\thead{Description} \\
\hline
\endhead
\multicolumn{3}{r}{Continued...}\\
\hline
\endfoot
\hline
\endlastfoot
}{%
\end{longtable}
}
\title{VTM Software Manual}
\author{%
Frank Bossen
\email{frank@bossentech.com}
\and
David Flynn
\and
Xiang Li
\jvetdocpurpose{Information}
\jvetdocsource{AHG chairs}
\begin{document}
\maketitle
\begin{abstract}
This document is a user manual describing usage of the VTM reference software
for the VVC project. It applies to version 22.1 of the software.
\end{abstract}
\tableofcontents
\listoftables
\section{General Information}
Reference software is being made available to provide a reference
implementation of the HEVC standard being developed by the Joint
Video Experts Team (JVET) regrouping experts from
ITU-T SG 16 and ISO/IEC SC29 WG5. One of the main goals of the
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
reference software is to provide a basis upon which to conduct
experiments in order to determine which coding tools provide desired
coding performance. It is not meant to be a particularly efficient
implementation of anything, and one may notice its apparent
unsuitability for a particular use. It should not be construed to be a
reflection of how complex a production-quality implementation of a
future VVC standard would be.
This document aims to provide guidance on the usage of the reference
software. It is widely suspected to be incomplete and suggestions for
improvements are welcome. Such suggestions and general inquiries may be
sent to the general JVET email reflector on
\url{https://lists.rwth-aachen.de/postorius/lists/jvet.lists.rwth-aachen.de/}
(registration required).
\subsection*{Bug reporting}
Bugs should be reported on the issue tracker set up at:
\url{https://jvet.hhi.fraunhofer.de/trac/vvc/}
\section{Installation and compilation}
The software may be retrieved from the GitLab server located at:
\url{https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM}
Table~\ref{tab:project-files} lists the compiler environments and versions
for which building the software is tested.
Note that the software makes use of C++14 language features, which may not
be available in older compilers.
\begin{table}[ht]
\caption{Supported compilers}
\label{tab:project-files}
\centering
\begin{tabular}{ll}
\hline
\thead{Compiler environment} &
\thead{Versions} \\
\hline
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
Xcode/clang & latest \\
\hline
\end{tabular}
\end{table}
By default the software is built as 64-bit binaries to be used on a 64-bit OS.
This allows the software to use more than 2GB of RAM.
The software uses CMake to create platform-specific build files.
\subsection {Build instructions for plain CMake (suggested)}
\textbf{Note:} A working CMake installation is required for building the software.
CMake generates configuration files for the compiler environment/development
environment on each platform. The following is a list of examples for Windows
(MS Visual Studio), macOS (Xcode) and Linux (make).
Open a command prompt on your system and change into the root directory
of this project.
Create a build directory in the root directory:
\begin{minted}{bash}
mkdir build
\end{minted}
Use one of the following CMake commands, based on your platform. Feel free to change the
commands to satisfy your needs.
\textbf{Windows Visual Studio 2015 64 Bit:}
\begin{minted}{bash}
cd build
cmake .. -G "Visual Studio 14 2015 Win64"
\end{minted}
Then open the generated solution file in MS Visual Studio.
\textbf{macOS Xcode:}
\begin{minted}{bash}
cd build
cmake .. -G "Xcode"
\end{minted}
Then open the generated work space in Xcode.
\textbf{Linux}
For generating Linux Release Makefile:
\begin{minted}{bash}
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
\end{minted}
For generating Linux Debug Makefile:
\begin{minted}{bash}
cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug
\end{minted}
Then type
\begin{minted}{bash}
make -j
\end{minted}
to build the software.
For more details, refer to the CMake documentation: \url{https://cmake.org/cmake/help/latest/}
\subsection {Build instructions for make}
\textbf{Note:}
The build instructions in this section require the make tool and Python
to be installed, which are part of usual Linux and macOS environments.
See section \ref{windowsinstall} for installation instruction for Python
and GnuWin32 on Windows.
Open a command prompt on your system and change into the root directory
of this project.
To use the default system compiler simply call:
\begin{minted}{bash}
make all
\end{minted}
For MSYS2 and MinGW:
Open an MSYS MinGW 64-Bit terminal and change into the root directory
of this project.
Call:
\begin{minted}{bash}
make all toolset=gcc
\end{minted}
\subsection{Tool Installation on Windows}
\label{windowsinstall}
Download CMake: \url{http://www.cmake.org/} and install it.
Python and GnuWin32 are not mandatory, but they simplify the build process for the user.
\begin{table}[ht]
\footnotesize
\centering
\begin{tabular}{ll}
\hline
Python & \url{https://www.python.org/downloads/release/python-371/} \\
GnuWin32 & \url{https://sourceforge.net/projects/getgnuwin32/files/getgnuwin32/0.6.30/GetGnuWin32-0.6.3.exe/download} \\
\hline
\end{tabular}
\end{table}
To use MinGW, install MSYS2:
\url{http://repo.msys2.org/distrib/msys2-x86_64-latest.exe}
Installation instructions:
\url{https://www.msys2.org/}
Install the needed toolchains:
\begin{minted}{bash}
pacman -S --needed base-devel mingw-w64-i686-toolchain mingw-w64-x86_64-toolchain git subversion mingw-w64-i686-cmake mingw-w64-x86_64-cmake
\end{minted}
%%%%
%%%%
%%%%
\section{Using the encoder}
\begin{minted}{bash}

Karsten Suehring
committed
EncoderApp [--help] [-li -c config.cfg] [-li --parameter=value]
\end{minted}
\begin{table}[ht]
\footnotesize
\centering
\begin{tabular}{lp{0.5\textwidth}}
\hline
\thead{Option} &
\thead{Description} \\
\hline
\texttt{--help} & Prints parameter usage. \\
\texttt{-li} & Applies to its next config file or command line parameter only to define i-th layer encoding option. If empty, the configuration file applies to all layers\\
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
\texttt{-c} & Defines configuration file to use. Multiple configuration files
may be used with repeated --c options. \\
\texttt{--}\emph{parameter}\texttt{=}\emph{value}
& Assigns value to a given parameter as further described below.
Some parameters are also supported by shorthand
"--\em{opt}~\emph{value}". These are shown in brackets after the parameter
name in the tables of this document\\
\hline
\end{tabular}
\end{table}
Sample configuration files are provided in the cfg/ folder.
Parameters are defined by the last value encountered on the command line.
Therefore if a setting is set via a configuration file, and then a subsequent
command line parameter changes that same setting, the command line parameter
value will be used.
\subsection{GOP structure table}
\label{sec:gop-structure}
Defines the cyclic GOP structure that will be used repeatedly
throughout the sequence. The table should contain GOPSize lines,
named Frame1, Frame2, etc. The frames are listed in decoding
order, so Frame1 is the first frame in decoding order, Frame2 is
the second and so on. Among other things, the table specifies all
reference pictures kept by the decoder for each frame. This
includes pictures that are used for reference for the current
picture as well as pictures that will be used for reference in
the future. The encoder will not automatically calculate which
pictures have to be kept for future references, they must
be specified. Note that some specified reference frames for
pictures encoded in the very first GOP after an IDR frame might
not be available. This is handled automatically by the encoder,
so the reference pictures can be given in the GOP structure table
as if there were infinitely many identical GOPs before the
current one. Each line in the table contains the parameters used
for the corresponding frame, separated by whitespace:
\begin{itemize}
\item[]\textbf{Type}: Slice type, can be either I, P or B.
\item[]\textbf{POC}: Display order of the frame within a GOP, ranging
from 1 to GOPSize.
\item[]\textbf{QPOffset}: QP offset is added to the QP parameter to set
the final QP value to use for this frame.
\item[]\textbf{QPOffsetModelOff}: Offset parameter to a linear model to adjust final QP based on QP + QPoffset.
\item[]\textbf{QPOffsetModelScale}: Scale parameter to a linear model to adjust final QP based on QP + QPoffset.
\item[]\textbf{SliceCbQPOffset}: The slice-level Cb QP offset.
\item[]\textbf{SliceCrQPOffset}: The slice-level Cr QP offset.
\item[]\textbf{QPFactor}: Weight used during rate distortion
optimization. Higher values mean lower quality and less bits. Typical
range is between
0.3 and 1.
\item[]\textbf{tcOffsetDiv2}: An in-loop deblocking filter parameter for luma component, tcOffsetDiv2
is added to the base parameter DeblockingFilterTcOffset_div2 to set the final tc_offset_div2
parameter for this picture signalled in the slice segment header. The final
value of tc_offset_div2 shall be an integer number in the range $-12..12$.
\item[]\textbf{betaOffsetDiv2}: An in-loop deblocking filter parameter for luma component, betaOffsetDiv2
is added to the base parameter DeblockingFilterBetaOffset_div2 to set the final beta_offset_div2
parameter for this picture signalled in the slice segment header. The final
value of beta_offset_div2 shall be an integer number in the range $-12..12$.
\item[]\textbf{CbTcOffsetDiv2}: An in-loop deblocking filter parameter for Cb component, CbTcOffsetDiv2
is added to the base parameter DeblockingFilterCbTcOffset_div2 to set the final tc_offset_div2
parameter for this picture signalled in the slice segment header. The final
value of tc_offset_div2 shall be an integer number in the range $-12..12$.
\item[]\textbf{CbBetaOffsetDiv2}: An in-loop deblocking filter parameter for Cb component, CbBetaOffsetDiv2
is added to the base parameter DeblockingFilterCbBetaOffset_div2 to set the final beta_offset_div2
parameter for this picture signalled in the slice segment header. The final
value of beta_offset_div2 shall be an integer number in the range $-12..12$.
\item[]\textbf{CrTcOffsetDiv2}: An in-loop deblocking filter parameter for Cr component, CrTcOffsetDiv2
is added to the base parameter DeblockingFilterCrTcOffset_div2 to set the final tc_offset_div2
parameter for this picture signalled in the slice segment header. The final
value of tc_offset_div2 shall be an integer number in the range $-12..12$.
\item[]\textbf{CrBetaOffsetDiv2}: An in-loop deblocking filter parameter for Cr component, CrBetaOffsetDiv2
is added to the base parameter DeblockingFilterCrBetaOffset_div2 to set the final beta_offset_div2
parameter for this picture signalled in the slice segment header. The final
value of beta_offset_div2 shall be an integer number in the range $-12..12$.
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
\item[]\textbf{temporal_id}: Temporal layer of the frame. A frame cannot
predict from a frame with a higher temporal id. If a frame with higher
temporal IDs is listed among a frame's reference pictures, it is
not used, but is kept for possible use in future frames.
\item[]\textbf{num_ref_pics_active_L0}: Number of reference pictures in lists L0
that are used during coding.
\item[]\textbf{num_ref_pics_L0}: Size of reference picture list L0.
This includes pictures that are used for reference for the
current picture as well as pictures that will be used for reference in
the future.
\item[]\textbf{reference_pictures_L0}: A space-separated list of
num_ref_pics integers, specifying the POC of the reference pictures
kept, relative the POC of the current frame. The picture list shall be
ordered as their intendend order in the L0.
Note that any pictures not supplied in this list and in the list of L1 will be discarded and
therefore not available as reference pictures later.
\item[]\textbf{num_ref_pics_active_L1}: Number of reference pictures in lists L1
that are used during coding.
\item[]\textbf{num_ref_pics_L1}: Size of reference picture list L1.
This includes pictures that are used for reference for the
current picture as well as pictures that will be used for reference in
the future.
\item[]\textbf{reference_pictures_L1}: A space-separated list of
num_ref_pics integers, specifying the POC of the reference pictures
kept, relative the POC of the current frame. The picture list shall be
ordered as their intendend order in the L1.
Note that any pictures not supplied in this list and in the list of L0 will be discarded and
therefore not available as reference pictures later.
For example, consider the coding structure of Figure~\ref{fig:gop-example}.
This coding structure is of size 4. The pictures are listed in decoding
order. Frame1 shall therefore describe picture with $\textrm{POC}=4$. It
references picture 0, and therefore has 4 as a reference picture.
Similarly, Frame2 has a POC of 2, and since it references pictures 0 and
4, its reference pictures are listed as \verb|2 -2|. Frame3 is a special
case: even though it only references pictures with POC 0 and 2, it also
needs to include the picture with POC 4, which must be kept in order to
be used as a reference picture in the future. Note that picture with POC 4 can be
included in the L0 or L1. The reference picture list for Frame3 therefore becomes \verb|1 -1 -3|.
Frame4 has a POC of 3 and its list of reference pictures is \verb|1 -1|.
\end{itemize}
\begin{figure}[h]
\caption{A GOP structure}
\label{fig:gop-example}
\centering
\includegraphics[width=0.7\textwidth]{figures/gop-structure-example}
\end{figure}
In order to specify this to the encoder, the parameters in
Table~\ref{tab:gop-example} could be used.
\begin{table}[ht]
\footnotesize
\caption{GOP structure example}
\label{tab:gop-example}
\centering
\begin{tabular}{lrrrr}
\hline
\thead{} &
\thead{Frame1} &
\thead{Frame2} &
\thead{Frame3} &
\thead{Frame4} \\
\hline
Type & P & B & B & B \\
POC & 4 & 2 & 1 & 3 \\
QPOffset & 1 & 2 & 3 & 3 \\
QPOffsetModelOff & 0.0 & 0.0 & 0.0 & 0.0 \\
QPOffsetModelScale & 0.0 & 0.0 & 0.0 & 0.0 \\
SliceCbQPOffset & 0 & 0 & 0 & 0 \\
SliceCrQPOffset & 0 & 0 & 0 & 0 \\
QPfactor & 0.5 & 0.5 & 0.5 & 0.5 \\
tcOffsetDiv2 & 0 & 1 & 2 & 2 \\
betaOffsetDiv2 & 0 & 0 & 0 & 0 \\
CbTcOffsetDiv2 & 0 & 0 & 0 & 0 \\
CbBetaOffsetDiv2 & 0 & 0 & 0 & 0 \\
CrTcOffsetDiv2 & 0 & 0 & 0 & 0 \\
CrBetaOffsetDiv2 & 0 & 0 & 0 & 0 \\
temporal_id & 0 & 1 & 2 & 2 \\
num_ref_pics_active_L0 & 1 & 1 & 1 & 1 \\
num_ref_pics_L0 & 1 & 1 & 1 & 1 \\
reference_pictures_L0 & 4 & 2 & 1 & 1 \\
num_ref_pics_active_L1 & 0 & 1 & 1 & 1 \\
num_ref_pics_L1 & 0 & 1 & 2 & 1 \\
reference_pictures_L1 & & $-$2 & $-$1 $-$3 & $-$1 \\
\hline
\end{tabular}
\end{table}
Here, the frames used for prediction have been given higher
quality by assigning a lower QP offset. Also, the non-reference
frames have been marked as belonging to a higher temporal layer,
to make it possible to decode only every other frame. Note: each
line should contain information for one frame, so this
configuration would be specified as:
\begin{verbatim}
Frame1: P 4 1 0 0 0.5 0 0 0 0 0 0 0 1 1 4 1 1 4
Frame2: B 2 2 0 0 0.5 1 0 0 0 0 0 1 1 1 2 1 1 -2
Frame3: B 1 3 0 0 0.5 2 0 0 0 0 0 2 1 1 1 1 2 -1 -3
Frame4: B 3 3 0 0 0.5 2 0 0 0 0 0 2 1 1 1 1 1 -1
\end{verbatim}
%%%%
%%%%
%%%%
\newgeometry{tmargin=1.6cm,lmargin=1cm,rmargin=1cm,bmargin=1in,nohead}
\subsection{Encoder parameters}
%%
%% File, I/O and source parameters
%%
Shorthand alternatives for the parameter that can be used on the command line are shown in brackets after the parameter name.
\begin{OptionTableNoShorthand}{File, I/O and source parameters.}{tab:fileIO}
\Option{InputFile (-i)} &
%\ShortOption{-i} &
\Default{\NotSet} &
Specifies the input video file. If the file extension is Y4M, picture width, picture height, input bitdepth, chroma format and frame rate from Y4M will override the input from cfg and command line options.
Video data must be in a raw 4:2:0, or 4:2:2 planar format, 4:4:4 planar format (Y$'$CbCr, RGB or GBR), or in a raw 4:0:0 format.
Note: When the bit depth of samples is larger than 8, each sample is encoded in
2 bytes (little endian, LSB-justified).
\\
\Option{BitstreamFile (-b)} &
%\ShortOption{-b} &
\Default{\NotSet} &
Specifies the output coded bit stream file.
\\
\Option{ReconFile (-o)} &
%\ShortOption{-o} &
\Default{\NotSet} &
Specifies the output locally reconstructed video file. If more than one layer is encoded (i.e. MaxLayers > 1), a reconstructed file is written for each layer and the layer index is added as suffix to ReconFile. If one or more dots exist in the file name, the layer id is added before the last dot, e.g. 'reconst.yuv' becomes 'reconst0.yuv' for layer id 0, 'reconst' becomes 'reconst0'. If the file extension is Y4M, picture width, picture height, bitdepth, chroma format and frame rate of the current encoding will be output to the Y4M file.
\\
\Option{SourceWidth (-wdt)}%
\Option{SourceHeight (-hgt)} &
%\ShortOption{-wdt}%
%\ShortOption{-hgt} &
\Default{0}%
\Default{0} &
Specifies the width and height of the input video in luma samples.
\\
\Option{SourceScalingRatioHor}%
\Option{SourceScalingRatioVer} &
\Default{1.0}%
\Default{1.0} &
Specifies a scaling ratio to apply in hor and vert direction to the pictures read from input video file.
Note: The SourceWidth and SourceHeight are multiplied by these scaling factors. This option is useful for spatial scalability in a multi layer scenario to use enhancement layer source when base layer source is not available.
\\
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
\Option{InputBitDepth}
&
%\ShortOption{\None} &
\Default{8} &
Specifies the bit depth of the input video.
\\
\Option{MSBExtendedBitDepth} &
%\ShortOption{\None} &
\Default{0} &
Extends the input video by adding MSBs of value 0. When 0, no extension is applied and the InputBitDepth is used.
The MSBExtendedBitDepth becomes the effective file InputBitDepth for subsequent processing.
\\
\Option{InternalBitDepth} &
%\ShortOption{\None} &
\Default{0} &
Specifies the bit depth used for coding. When 0, the setting defaults to the
value of the MSBExtendedBitDepth.
If the input video is a different bit depth to InternalBitDepth, it is
automatically converted by:
\begin{displaymath}
\left\lfloor
\frac{\mathrm{Pel} * 2^{\mathrm{InternalBitDepth}}}{
2^{\mathrm{MSBExtendedBitDepth}}}
\right\rfloor
\end{displaymath}
Note: The effect of this option is as if the input video is externally
converted to the MSBExtendedBitDepth and then to the InternalBitDepth
and then coded with this value as InputBitDepth. The codec has no
notion of different bit depths.
\\
\Option{OutputBitDepth} &
%\ShortOption{\None} &
\Default{0} &
Specifies the bit depth of the output locally reconstructed video file.
When 0, the setting defaults to the value of InternalBitDepth.
Note: This option has no effect on the decoding process.
\\
\Option{InputBitDepthC}%
\Option{MSBExtendedBitDepthC}%
\Option{OutputBitDepthC} &
%\ShortOption{\None} &
\Default{0}%
\Default{0}%
\Default{0} &
Specifies the various bit-depths for chroma components. These only need
to be specified if non-equal luma and chroma bit-depth processing is
required. When 0, the setting defaults to the corresponding non-Chroma value.
\\
\Option{InputColourSpaceConvert} &
%\ShortOption{\None} &
\Default{\NotSet} &
The colour space conversion to apply to input video. Permitted values are:
\par
\begin{tabular}{lp{0.3\textwidth}}
UNCHANGED & No colour space conversion is applied \\
YCbCrToYCrCb & Swap the second and third components \\
YCbCrtoYYY & Set the second and third components to the values in the first \\
RGBtoGBR & Reorder the three components \\
\end{tabular}
\par
If no value is specified, no colour space conversion is applied. The list may eventually also include RGB to YCbCr or YCgCo conversions.
\\
\Option{SNRInternalColourSpace} &
%\ShortOption{\None} &
\Default{false} &
When this is set true, then no colour space conversion is applied prior to PSNR calculation, otherwise the inverse of InputColourSpaceConvert is applied.
\\
\Option{OutputInternalColourSpace} &
%\ShortOption{\None} &
\Default{false} &
When this is set true, then no colour space conversion is applied to the reconstructed video, otherwise the inverse of InputColourSpaceConvert is applied.
\\
\Option{InputChromaFormat} &
%\ShortOption{\None} &
\Default{420} &
Specifies the chroma format used in the input file. Permitted values (depending on the profile) are 400, 420, 422 or 444.
\\
\Option{ChromaFormatIDC (-cf)} &
%\ShortOption{-cf} &
\Default{0} &
Specifies the chroma format to use for processing. Permitted values (depending on the profile) are 400, 420, 422 or 444; the value of 0 indicates that the value of InputChromaFormat should be used instead.
\\
\Option{MSEBasedSequencePSNR} &
%\ShortOption{\None} &
\Default{false} &
When 0, the PSNR output is a linear average of the frame PSNRs; when 1, additional PSNRs are output which are formed from the average MSE of all the frames. The latter is useful when coding near-losslessly, where occasional frames become lossless.
\\
\Option{PrintFrameMSE} &
%\ShortOption{\None} &
\Default{false} &
When 1, the Mean Square Error (MSE) values of each frame will also be output alongside the default PSNR values.
\\
\Option{PrintSequenceMSE} &
%\ShortOption{\None} &
\Default{false} &
When 1, the Mean Square Error (MSE) values of the entire sequence will also be output alongside the default PSNR values.
\\
\Option{PrintWPSNR} &
%\ShortOption{\None} &
\Default{false} &
When 1, weighted PSNR (wPSNR) values of the entire sequence will also be output.
\\
\Option{PrintHighPrecEncTime} &
%\ShortOption{\None} &
\Default{false} &
When 1, prints per-frame encoding time in floating-point format. Otherwise prints an integer number of seconds.
\\
charles Salmon-Legagneur
committed
\Option{PrintRefLayerMetrics} &
%\ShortOption{\None} &
\Default{false} &
When 1, PSNR between current layer and the first reference layer (rescaled to the current layer size if needed) of the entire sequence will also be output. Only the first reference layer is processed for this metric.
\\
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
\Option{SummaryOutFilename} &
%\ShortOption{\None} &
\Default{false} &
Filename to use for producing summary output file. If empty, do not produce a file.
\\
\Option{SummaryPicFilenameBase} &
%\ShortOption{\None} &
\Default{false} &
Base filename to use for producing summary picture output files. The actual filenames used will have I.txt, P.txt and B.txt appended. If empty, do not produce a file.
\\
\Option{SummaryVerboseness} &
%\ShortOption{\None} &
\Default{false} &
Specifies the level of the verboseness of the text output.
\\
\Option{CabacZeroWordPaddingEnabled} &
%\ShortOption{\None} &
\Default{false} &
When 1, CABAC zero word padding will be enabled. This is currently not the default value for the setting.
\\
\Option{ConformanceWindowMode} &
%\ShortOption{\None} &
\Default{1} &
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
Specifies how the parameters related to the conformance window are interpreted (cropping/padding).
The following modes are available:
\par
\begin{tabular}{cp{0.43\textwidth}}
0 & No cropping / padding \\
1 & Automatic padding to the next minimum CU size \\
2 & Padding according to parameters HorizontalPadding and VerticalPadding \\
3 & Cropping according to parameters ConfWinLeft, ConfWinRight, ConfWinTop and ConfWinBottom \\
\end{tabular}
\\
\Option{HorizontalPadding (-pdx)}%
\Option{VerticalPadding (-pdy)} &
%\ShortOption{-pdx}%
%\ShortOption{-pdy} &
\Default{0} &
Specifies the horizontal and vertical padding to be applied to the input
video in luma samples when ConformanceWindowMode is 2. Must be a multiple of
the chroma resolution (e.g. a multiple of two for 4:2:0).
\\
\Option{ConfWinLeft}%
\Option{ConfWinRight}%
\Option{ConfWinTop}%
\Option{ConfWinBottom} &
%\ShortOption{\None} &
\Default{0} &
Specifies the horizontal and vertical cropping to be applied to the
input video in luma samples when ConformanceWindowMode is 3.
Must be a multiple of the chroma resolution (e.g. a multiple of
two for 4:2:0).
\\
\Option{ScalingWindow} &
\Default{0} &
Enable scaling window.
\\
\Option{ScalWinLeft (-swl)}%
\Option{ScalWinRight (-swr)}%
\Option{ScalWinTop (-swt)}%
\Option{ScalWinBottom (-swb)} &
\Default{0}
Specifies the horizontal and vertical offset for the scaling window.
Must be a multiple of the chroma resolution (e.g. a multiple of two for 4:2:0).
\\
\Option{FrameRate (-fr)} &
%\ShortOption{-fr} &
\Default{0} &
Specifies the frame rate of the input video. A frame rate may be specified by two numbers
such as 30000:1001 to define a non-integer value (e.g., 29.97).
Note: This option affects the reported bit rates.
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
\\
\Option{FrameSkip (-fs)} &
%\ShortOption{-fs} &
\Default{0} &
Specifies a number of frames to skip at beginning of input video file.
\\
\Option{FramesToBeEncoded (-f)} &
%\ShortOption{-f} &
\Default{0} &
Specifies the number of frames to be encoded (see note regarding TemporalSubsampleRatio). When 0, all frames are coded.
\\
\Option{TemporalSubsampleRatio (-ts)} &
%\ShortOption{-fs} &
\Default{1} &
Temporally subsamples the input video sequence. A value of $N$ will skip $(N-1)$ frames of input video after each coded input video frame. Note the FramesToBeEncoded does not account for the temporal skipping of frames, which will reduce the number of frames encoded accordingly. The reported bit rates will be reduced and VUI information is scaled so as to present the video at the correct speed. The minimum and default value is 1.
\\
\Option{FieldCoding} &
%\ShortOption{\None} &
\Default{false} &
When 1, indicates that field-based coding is to be applied.
\\
\Option{TopFieldFirst (-Tff)} &
%\ShortOption{\None} &
\Default{0} &
Indicates the order of the fields packed into the input frame. When 1, the top field is temporally first.
\\
\Option{ClipInputVideoToRec709Range} &
%\ShortOption{\None} &
\Default{0} &
If 1 then clip input video to the Rec. 709 Range on loading when InternalBitDepth is less than MSBExtendedBitDepth.
\\
\Option{ClipOutputVideoToRec709Range} &
%\ShortOption{\None} &
\Default{0} &
If 1 then clip output video to the Rec. 709 Range on saving when OutputBitDepth is less than InternalBitDepth.
\\
\Option{EfficientFieldIRAPEnabled} &
%\ShortOption{\None} &
\Default{1} &
Enable to code fields in a specific, potentially more efficient, order.
\\
\Option{HarmonizeGopFirstFieldCoupleEnabled} &
%\ShortOption{\None} &
\Default{1} &
Enables harmonization of Gop first field couple.
\\
\Option{AccessUnitDelimiter} &
%\ShortOption{\None} &
Add Access Unit Delimiter NAL units between all Access Units.
\\
\Option{EnablePictureHeaderInSliceHeader} &
%\ShortOption{\None} &
\Default{1} &
Enable Picture Header to be signalled in Slice Header when encoding with single slice per picture.
\\
Zhipin Deng
committed
\Option{RPR} &
%\ShortOption{\None} &
\Default{true} &
Specifies the value of sps_ref_pic_resampling_enabled_flag.
\\
\Option{ScalingRatioHor} &
%\ShortOption{\None} &
\Default{1.0} &
Kenneth Andersson
committed
Scaling ratio in horizontal direction for reference picture resampling. When GOPBasedRPR is true unless ratio is defined the ratio will be set to 2.0.
\\
\Option{ScalingRatioVer} &
%\ShortOption{\None} &
\Default{1.0} &
Kenneth Andersson
committed
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
Scaling ratio in vertical direction for reference picture resampling. When GOPBasedRPR is true unless ratio is defined the ratio will be set to 2.0.
\\
\Option{GOPBasedRPR} &
%\ShortOption{\None} &
\Default{false} &
Enables decision to encode pictures in GOP in full resolution or one of three downscaled resolutions (default is $1/2$, $2/3$ and $4/5$ in both dimensions).
First picture in GOP is rescaled to half resolution and then upscaled to full resolution. The luma PSNR of the rescaled picture compared to the source picture is compared with
PSNR thresholds for respective resolution: $(PsnrThresholdRPR - (QP - 37) * 0.5) < upscaledPSNR$.
The smallest resolution that has PSNR above the threshold is selected.
\\
\Option{GOPBasedRPRQPTh} &
%\ShortOption{\None} &
\Default{32} &
QP threshold parameter that determines which QP GOP-based RPR is invoked for given by $QP >= GOPBasedRPRQPTh$.
\\
\Option{ScalingRatioHor2} &
%\ShortOption{\None} &
\Default{1.5} &
Scaling ratio in hor direction for GOP based RPR ($2/3$).
\\
\Option{ScalingRatioVer2} &
%\ShortOption{\None} &
\Default{1.5} &
Scaling ratio in ver direction for GOP based RPR ($2/3$).
\\
\Option{ScalingRatioHor3} &
%\ShortOption{\None} &
\Default{1.25} &
Scaling ratio in hor direction for GOP based RPR ($4/5$).
\\
\Option{ScalingRatioVer3} &
%\ShortOption{\None} &
\Default{1.25} &
Scaling ratio in ver direction for GOP based RPR ($4/5$).
\\
\Option{PsnrThresholdRPR} &
%\ShortOption{\None} &
\Default{47.0} &
PSNR threshold for GOP based RPR for the case of ScalingRatioVer and ScalingRatioHor ($1/2$).
\\
\Option{PsnrThresholdRPR2} &
%\ShortOption{\None} &
\Default{44.0} &
PSNR threshold for GOP based RPR for the case of ScalingRatioVer2 and ScalingRatioHor2 ($2/3$).
\\
\Option{PsnrThresholdRPR3} &
%\ShortOption{\None} &
\Default{41.0} &
PSNR threshold for GOP based RPR for the case of ScalingRatioVer3 and ScalingRatioHor3 ($4/5$).
\\
\Option{QpOffsetRPR} &
%\ShortOption{\None} &
\Default{-6} &
QP offset for luma when encoding in reduced resolution with GOP based RPR ($1/2$).
\\
\Option{QpOffsetRPR2} &
%\ShortOption{\None} &
\Default{-4} &
QP offset for luma when encoding in reduced resolution with GOP based RPR ($2/3$).
\\
\Option{QpOffsetRPR3} &
%\ShortOption{\None} &
\Default{-2} &
QP offset for luma when encoding in reduced resolution with GOP based RPR ($4/5$).
\\
\Option{QpOffsetChromaRPR} &
%\ShortOption{\None} &
\Default{-6} &
QP offset for chroma when encoding in reduced resolution with GOP based RPR ($1/2$).
\\
\Option{QpOffsetChromaRPR2} &
%\ShortOption{\None} &
\Default{-4} &
QP offset for chroma when encoding in reduced resolution with GOP based RPR ($2/3$).
\\
\Option{QpOffsetChromaRPR3} &
%\ShortOption{\None} &
\Default{-2} &
QP offset for chroma when encoding in reduced resolution with GOP based RPR ($4/5$).
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
\Option{RPRFunctionalityTesting} &
%\ShortOption{\None} &
\Default{false} &
Enables testing of RPR functionality according to defined order of resolutions from full resolution or one of three downscaled resolutions (default is $1/2$, $2/3$ and $4/5$ in both dimensions).
The order is defined in RPRSwitchingResolutionOrderList and QP settings in RPRSwitchingResolutionOrderList and number of frames for each resolution in
RPRSwitchingSegmentSize or according to RPRSwitchingTime if thats non-zero.
\\
\Option{RPRSwitchingResolutionOrderList} &
%\ShortOption{\None} &
\Default{"1, 0, 2, 0, 3, 0, 1, 0, 2, 0, 3, 0"} &
Order of resolutions for each segment for RPR functionality testing where 0,1,2,3 corresponds to full resolution,4/5,2/3 and 1/2.
\\
\Option{RPRSwitchingQPOffsetOrderList} &
%\ShortOption{\None} &
\Default{"-2, 0, -4, 0, -6, 0, -2, 0, -4, 0, -6, 0"} &
Order of QP offset for each segment for RPR functionality testing, where the QP is modified according to the given offset.
\\
\Option{RPRSwitchingSegmentSize} &
%\ShortOption{\None} &
\Default{32} &
Number of frames with same resolution for RPR functionality testing.
\\
\Option{RPRSwitchingTime} &
%\ShortOption{\None} &
\Default{0.0} &
Segment switching time in seconds for RPR functionality testing, when non-zero it defines the segment size according to frame rate (multiple of 8).
\\
\Option{RPRPopulatePPSatIntra} &
%\ShortOption{\None} &
\Default{false} &
Populate all PPS which can be used for RPR at the Intra, e.g. full-res, 4/5, 2/3 and 1/2.
\\
\Option{FractionNumFrames} &
%\ShortOption{\None} &
\Default{1.0} &
Encode a fraction of the specified in FramesToBeEncoded frames.
\\
\Option{SwitchPocPeriod} &
%\ShortOption{\None} &
\Default{0} &
POC period at which resolution is changed.
\\
\Option{UpscaledOutput} &
%\ShortOption{\None} &
\Default{0} &
Kenneth Andersson
committed
Picture output options: output upscaled (2), decoded but in full resolution buffer (1) or decoded cropped (0, default) picture for reference picture resampling. When GOPBasedRPR is true it will be set to 2.
\Option{UpscaleFilterForDisplay} &
%\ShortOption{\None} &
\Default{1} &
Filters used for upscaling reconstruction to full resolution (2: ECM 12-tap luma and 6-tap chroma MC filters, 1: Alternative 12-tap luma and 6-tap chroma filters, 0: VVC 8-tap luma and 4-tap chroma MC filters).
\\
Rickard Sjöberg
committed
%%
%% GOP based temporal filter parameters
%%
\begin{OptionTableNoShorthand}{GOP based temporal filter parameters}{tab:gop-based-temporal-filter}
Rickard Sjöberg
committed
Rickard Sjöberg
committed
%\ShortOption{\None} &
Enable motion-compensated temporal pre-filter. When enabled, at least one of TemporalFilterPastRefs and TemporalFilterFutureRefs
must be larger than 0.
\\
\Option{TemporalFilterPastRefs} &
%\ShortOption{\None} &
\Default{4} &
Number of past frames used by the temporal filter.
Rickard Sjöberg
committed
\\
\Option{TemporalFilterFutureRefs} &
Rickard Sjöberg
committed
%\ShortOption{\None} &
\Default{4} &
Number of future frames used by the temporal filter. This may be set to 0 to avoid using future frames.
\\
\Option{FirstValidFrame} &
%\ShortOption{\None} &
\Default{0} &
Index of first frame in video sequence that may be used by the temporal filter. If a negative value is given, the index defaults to the value
of FrameSkip.
\\
\Option{LastValidFrame} &
%\ShortOption{\None} &
\Default{MAX_INT} &
Index of last frame in video sequence that may be used by the temporal filter. If a negative value is given, the index defaults to the value
of FrameSkip + FramesToBeEncoded - 1.
Rickard Sjöberg
committed
\\
\Option{TemporalFilterStrengthFrame*} &
%\ShortOption{\None} &
\Default{} &
Strength for every * frame in GOP based temporal filter, where * is an integer. E.g. --TemporalFilterStrengthFrame8 0.95 will
enable GOP based temporal filter at every 8th frame with strength 0.95. Longer intervals overrides shorter when there are
multiple matches.
\\
\Option{AlfTrueOrg} &
%\ShortOption{\None} &
\Default{true} &
When GOP based temporal filter is enabled, enable or disable using true original samples for ALF optimization .
\\
\Option{SaoTrueOrg} &
Nan Hu
committed
%\ShortOption{\None} &
\Default{false} &
When GOP based temporal filter is enabled, enable or disable using true original samples for SAO optimization .
Nan Hu
committed
\\
Rickard Sjöberg
committed
\end{OptionTableNoShorthand}
%%
%% profile, level and conformance options
%%
\begin{OptionTableNoShorthand}{Profile and level parameters}{tab:profile}
\Option{Profile} &
%\ShortOption{\None} &
\Default{none} &
Specifies the profile to which the encoded bitstream complies.
Valid VVC Ver. 1 values are: none, main_10, main_10_still_picture, main_10_444, main_10_444_still_picture,
multilayer_main_10, multilayer_main_10_still_picture, multilayer_main_10_444, multilayer_main_10_444_still_picture.
When one of the still picture profiles are selected, the OnePictureOnlyConstraintFlag setting will be forced to 1.
\\
\Option{Level} &
%\ShortOption{\None} &
\Default{none} &
Specifies the level to which the encoded bitstream complies.
Valid values are: none, 1, 2, 2.1, 3, 3.1, 4, 4.1, 5, 5.1, 5.2, 6, 6.1, 6.2, 15.5
NB: There is currently only limited validation that the encoder configuration complies with the profile, level and tier constraints.
\\
\Option{Tier} &
%\ShortOption{\None} &
\Default{main} &
Specifies the level tier to which the encoded bitsream complies.
Valid values are: main, high.
NB: There is currently only limited validation that the encoder configuration complies with the profile, level and tier constraints.
\\
\Option{FrameOnlyConstraintFlag} &
%\ShortOption{\None} &
\Default{1} &
Specifies the value of ptl_frame_only_constraint_flag .
\\
\Option{MultiLayerEnabledFlag} &
%\ShortOption{\None} &
\Default{0} &
Specifies the value of ptl_multilayer_enabled_flag.
\\
\Option{SubProfile} &
%\ShortOption{\None} &
\Default{0} &
Indicates interoperability metadata registered as specified by X Recommendation ITU-T T.35.
\\
\Option{EnableDecodingCapabilityInformation} &
Enables writing of a decoding capability information (DCI). If disabled, no DCI will be written.
\\
\Option{MaxBitDepthConstraint} &
%\ShortOption{\None} &
\Default{0} &
For --profile=main-RExt, specifies the value to use to derive the general_max_bit_depth constraint flags for RExt profiles; when 0, use InternalBitDepth.
\\
\Option{MaxChromaFormatConstraint} &
%\ShortOption{\None} &
\Default{0} &
For --profile=main-RExt, specifies the chroma-format to use for the general profile constraints for RExt profiles; when 0, use the value of ChromaFormatIDC.
\\
\Option{GciPresentFlag} &
%\ShortOption{\None} &
\Default{1} &
Specifies the value of gci_present_flag
\\
\Option{IntraOnlyConstraintFlag} &
Specifies the value of gci_intra_only_constraint_flag
\\
\Option{AllLayersIndependentConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of all_layers_independent_constraint_flag
\\
\Option{OnePictureOnlyConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of general_one_picture_only_constraint_flag
\Option{MaxBitDepthConstraintIdc} &
\Default{16} &
Specifies the value of 16 minus gci_sixteen_minus_max_bitdepth_constraint_idc
\Option{MaxChromaFormatConstraintIdc} &
%\ShortOption{\None} &
\Default{3} &
Specifies the value of 3 minus gci_three_minus_max_chroma_format_constraint_idc
\\
Zhipin Deng
committed
\Option{NoTrailConstraintFlag} &
Specifies the value of gci_no_trail_constraint_flag
Zhipin Deng
committed
\Option{NoStsaConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_stsa_constraint_flag
Zhipin Deng
committed
\Option{NoRaslConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_rasl_constraint_flag
\\
Zhipin Deng
committed
\Option{NoRadlConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_radl_constraint_flag
\\
Zhipin Deng
committed
\Option{NoIdrConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_idr_constraint_flag
\\
Zhipin Deng
committed
\Option{NoCraConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_cra_constraint_flag
\\
\Option{GdrConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_gdr_constraint_flag
\\
Zhipin Deng
committed
\Option{NoApsConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_aps_constraint_flag
\Option{NoIdrRplConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_idr_rpl_constraint_flag
\\
\Option{OneTilePerPicConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of one_tile_per_pic_constraint_flag
\\
\Option{PicHeaderInSliceHeaderConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of pic_header_in_slice_header_constraint_flag
\\
\Option{OneSlicePerPicConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of one_slice_per_pic_constraint_flag
\\
\Option{NoRectSliceConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_rectangular_slice_constraint_flag
\\
Specifies the value of gci_one_slice_per_subpic_constraint_flag
\\
\Option{NoSubpicInfoConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_subpic_info_constraint_flag
\Option{MaxLog2CtuSizeConstraintIdc} &
%\ShortOption{\None} &
\Default{8} &
Specifies the value of gci_three_minus_max_log2_ctu_size_constraint_idc
\\
Zhipin Deng
committed
\Option{NoPartitionConstraintsOverrideConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_partition_constraints_override_constraint_flag
\\
\Option{NoMttConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_mtt_constraint_flag
\\
Zhipin Deng
committed
\Option{NoQtbttDualTreeIntraConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_qtbtt_dual_tree_intra_constraint_flag
\\
Zhipin Deng
committed
\Option{NoPaletteConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_palette_constraint_flag
\\
Zhipin Deng
committed
\Option{NoIbcConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_ibc_constraint_flag
\\
Zhipin Deng
committed
\Option{NoIspConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_isp_constraint_flag
\\
Zhipin Deng
committed
\Option{NoMrlConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_mrl_constraint_flag
\\
Zhipin Deng
committed
\Option{NoMipConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_mip_constraint_flag
\\
Zhipin Deng
committed
\Option{NoCclmConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_cclm_constraint_flag
\\
Zhipin Deng
committed
\Option{NoRprConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_ref_pic_resampling_constraint_flag
\\
\Option{NoResChangeInClvsConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_res_change_in_clvs_constraint_flag
\\
\Option{NoWeightedPredictionConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_weighted_prediction_constraint_flag
\\
Zhipin Deng
committed
\Option{NoRefWraparoundConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_ref_wraparound_constraint_flag
\\
Zhipin Deng
committed
\Option{NoTemporalMvpConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_temporal_mvp_constraint_flag
\\
Zhipin Deng
committed
\Option{NoSbtmvpConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_sbtmvp_constraint_flag
\\
Zhipin Deng
committed
\Option{NoAmvrConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_amvr_constraint_flag
\\
Zhipin Deng
committed
\Option{NoSmvdConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_smvd_constraint_flag
\\
Zhipin Deng
committed
\Option{NoBdofConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_bdof_constraint_flag
\\
Zhipin Deng
committed
\Option{NoDmvrConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_dmvr_constraint_flag
\\
Zhipin Deng
committed
\Option{NoMmvdConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_mmvd_constraint_flag
\\
Zhipin Deng
committed
\Option{NoAffineMotionConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_affine_motion_constraint_flag
\\
Zhipin Deng
committed
\Option{NoProfConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_prof_constraint_flag
\\
Zhipin Deng
committed
\Option{NoBcwConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_bcw_constraint_flag
\\
Zhipin Deng
committed
\Option{NoCiipConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_ciip_constraint_flag
\\
Zhipin Deng
committed
\Option{NoGpmConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_gpm_constraint_flag
\\
Zhipin Deng
committed
\Option{NoTransformSkipConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_transform_skip_constraint_flag
\\
Zhipin Deng
committed
\Option{NoLumaTransformSize64ConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_luma_transform_size_64_constraint_flag
\\
Zhipin Deng
committed
\Option{NoBDPCMConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_bdpcm_constraint_flag
\\
Zhipin Deng
committed
\Option{NoMtsConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_mts_constraint_flag
\\
Zhipin Deng
committed
\Option{NoLfnstConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_lfnst_constraint_flag
\\
Zhipin Deng
committed
\Option{NoJointCbCrConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_joint_cbcr_constraint_flag
\\
Zhipin Deng
committed
\Option{NoSbtConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_sbt_constraint_flag
\\
Zhipin Deng
committed
\Option{NoActConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_act_constraint_flag
\\
Zhipin Deng
committed
\Option{NoExplicitScaleListConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_explicit_scaling_list_constraint_flag
\\
\Option{NoChromaQpOffsetConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gic_no_chroma_qp_offset_constraint_flag
\\
Zhipin Deng
committed
\Option{NoDepQuantConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_dep_quant_constraint_flag
\\
Zhipin Deng
committed
\Option{NoSignDataHidingConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_sign_data_hiding_constraint_flag
\\
Martin Pettersson
committed
\Option{NoCuQpDeltaConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_cu_qp_delta_constraint_flag
\\
Zhipin Deng
committed
\Option{NoSaoConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_sao_constraint_flag
\\
Zhipin Deng
committed
\Option{NoAlfConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_alf_constraint_flag
\\
Zhipin Deng
committed
\Option{NoCCAlfConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_ccalf_constraint_flag
\\
Zhipin Deng
committed
\Option{NoLmcsConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_lmcs_constraint_flag
\\
Zhipin Deng
committed
\Option{NoLadfConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_ladf_constraint_flag
\\
Zhipin Deng
committed
\Option{NoVirtualBoundaryConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_virtual_boundaries_constraint_flag
\\
Adrian Browne
committed
\Option{AllRapPicturesFlag} &
%\ShortOption{\None} &
\Default{false} &
Indicate that all pictures in OlsInScope are IRAP pictures or GDR pictures with ph_recovery_poc_cnt equal to 0
\\
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
\Option{NoExtendedPrecisionProcessingConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_extended_precision_processing_constraint_flag
\\
\Option{NoTsResidualCodingRiceConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_ts_residual_coding_rice_constraint_flag
\\
\Option{NoRrcRiceExtensionConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_rrc_rice_extension_constraint_flag
\\
\Option{NoPersistentRiceAdaptationConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_persistent_rice_adaptation_constraint_flag
\\
\Option{NoReverseLastSigCoeffConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of gci_no_reverse_last_sig_coeff_constraint_flag
\\
Adrian Browne
committed
\begin{OptionTableNoShorthand}{Layer parameters}{tab:layer}
\Option{MaxLayers} &
%\ShortOption{\None} &
\Default{1} &
Specifies the value to use to derive the vps_max_layers_minus1 for layered coding
\\
\Option{MaxSubLayers} &
%\ShortOption{\None} &

Karsten Suehring
committed
\Default{7} &
Specifies the maximum number of temporal sublayers to signal in the VPS
\\
\Option{DefaultPtlDpbHrdMaxTidFlag} &
%\ShortOption{\None} &
\Default{true} &
Specifies the value of vps_default_ptl_dpb_hrd_max_tid_flag in the VPS
\Option{EnableOperatingPointInformation} &
%\ShortOption{\None} &
\Default{false} &
Enables writing of a operating point information (OPI). If disabled, no OPI will
be written.
\\
\Option{TargetOutputLayerSet} &
%\ShortOption{\None} &
\Default{\NotSet} &
Specifies the target Output Layer Set Idx to be signalled in OPI. When not provided the value may be inferred from the VPS.
\\
\Option{MaxTemporalLayer} &
%\ShortOption{\None} &
\Default{\NotSet} &
Defines the maximum temporal layer to be signalled in OPI. When not provided the value may be inferred from the VPS.
\\
\Option{AllowablePredDirection} &
%\ShortOption{\None} &
\Default{""} &
Specifies a list of values of the allowable prediction directions for dependent layers. The number of entries is equal to the number of temporal layers.
\par
\begin{tabular}{cp{0.45\textwidth}}
0 & Both inter-layer and intra-layer preditions are allowed for the speficied temporal layer. \\
1 & Only inter-layer predition is allowed for the speficied temporal layer. \\
2 & Only intra-layer predition is allowed for the speficied temporal layer. \\
\end{tabular}
\\
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
\Option{LayerId\emph{i}} &
%\ShortOption{\None} &
\Default{0} &
Specifies the nuh_layer_id of the i-th layer (with i an integer greater than 0)
\\
\Option{NumRefLayers\emph{i}} &
%\ShortOption{\None} &
\Default{0} &
Specifies the number of direct reference layers of the i-th layer (with i an integer greater than 0)
\\
\Option{RefLayerIdx\emph{i}} &
%\ShortOption{\None} &
\Default{""} &
Specifies a list of indexes of the reference layers of the i-th layer (with i an integer greater than 0)
\\
\Option{EachLayerIsAnOlsFlag} &
%\ShortOption{\None} &
\Default{true} &
Specifies the value of each_layer_is_an_ols_flag in the VPS
\\
\Option{OlsModeIdc} &
%\ShortOption{\None} &
\Default{0} &
Specifies the value of ols_mode_idc in the VPS
\\
\Option{NumOutputLayerSets} &
%\ShortOption{\None} &
\Default{1} &
Specifies the number of output layer sets (OLS) signalled in the VPS
\\
\Option{OlsOutputLayer\emph{i}} &
%\ShortOption{\None} &
\Default{""} &
Specifies a list of indexes of the output layers of the i-th OLS (with i an integer greater than 0)
\\
\Option{NumPTLsInVPS} &
%\ShortOption{\None} &
\Default{1} &
Specifies the number of profile_tier_level (PTL) syntax structures signalled in the VPS
\\
\Option{LevelPTL\emph{i}} &
%\ShortOption{\None} &
\Default{Level::NONE} &
Specifies the level to signal in the i-th PTL of the VPS (with i an integer greater than 0)
\\
\Option{OlsPTLIdx\emph{i}} &
%\ShortOption{\None} &
\Default{0} &
Specifies the index of the PTL that applies to the i-th OLS (with i an integer greater than 0)
\\

Karsten Suehring
committed
\Option{SamePicTimingInAllOLS} &
%\ShortOption{\None} &
\Default{1} &
Indicates that all OLSs are using the same (not nested) picture timing SEI message, i.e. picture timing SEI will not
be included in scalable nesting SEI messages (if scalable nesting SEI is enabled).
\\

Karsten Suehring
committed
\Option{MaxTidILRefPicsPlusOneLayerId\emph{i}} &

Karsten Suehring
committed
%\ShortOption{\None} &
\Default{""} &
Specifies a list of the maximum temporal ID of the reference layers of the i-th layer plus 1 (with i an integer greater than 0). The value 0 allows only to use IRAP pictures for inter-layer prediction.

Karsten Suehring
committed
\\
\Option{AvoidIntraInDepLayer} &
%\ShortOption{\None} &
\Default{1} &
Replaces I slices in dependent layers with B slices, except for all-intra configuration (IntraPeriod=1).
\\
\Option{RPLofDepLayerInSH} &
%\ShortOption{\None} &
\Default{false} &
define Reference picture lists in slice header instead of SPS for dependant layers
\\
%%
%% Unit definition parameters
%%
\begin{OptionTableNoShorthand}{Unit definition parameters}{tab:unit}
\Option{CTUSize} &
%\ShortOption{\None} &
\Default{128} &
Defines the CTU size (width and height).
\Option{MaxCUWidth} &
%\ShortOption{\None} &
\Default{64} &
Defines the maximum CU width.
\\
\Option{MaxCUHeight} &
%\ShortOption{\None} &
\Default{64} &
Defines the maximum CU height.
\\
\Option{MaxCUSize (-s)} &
%\ShortOption{\None} &
\Default{64} &
Defines the maximum CU size.
\\
\Option{Log2MinCuSize} &
%\ShortOption{\None} &
\Default{2} &
Defines the minimum CU size in logarithm base 2.
%\ShortOption{\None} &
\Default{6 \\ ($= \mathrm{log}_2(64)$)} &
Defines the Maximum TU size in logarithm base 2.
\\
\Option{QuadtreeTULog2MinSize} &
%\ShortOption{\None} &
\Default{2 \\ ($= \mathrm{log}_2(4)$)} &
Defines the Minimum TU size in logarithm base 2.
\\
\Option{MaxMTTHierarchyDepth} &
%\ShortOption{\None} &
\Default{3} &
Defines the initial maximum depth of the multi-type tree for inter slices.
\\
\Option{MaxMTTHierarchyDepthI} &
%\ShortOption{\None} &
\Default{3} &
Defines the initial maximum depth of the multi-type tree for intra slices.
\\
\Option{MaxMTTHierarchyDepthISliceC} &
%\ShortOption{\None} &
\Default{3} &
Defines the initial maximum depth of the multi-type tree in dual tree for chroma components.
\\
\Option{MaxMTTHierarchyDepthISliceL} &
%\ShortOption{\None} &
\Default{3} &
Defines the initial maximum depth of the multi-type tree in dual tree for luma component.
Guichun
committed
\Option{MinQTChromaISliceInChromaSamples} &
Defines the initial minimum size of the quad tree in dual tree for chroma components.
Note: this size is defined in chroma sample unit in configuration, and it is converted
into luma sample unit according to the horizontal chroma subsampling ratio when applied
in the software. In chroma format 4:2:2 case, this value shall be set to the value of
the height of minimum chroma QT node in chroma samples.
\\
\Option{MinQTISlice} &
%\ShortOption{\None} &
\Default{8} &
Defines the initial minimum size of the quad tree for intra slices.
\\
\Option{MinQTLumaISlice} &
%\ShortOption{\None} &
\Default{8} &
Defines the initial minimum size of the quad tree in dual tree for luma component.
\\
\Option{MinQTNonISlice} &
%\ShortOption{\None} &
\Default{8} &
Defines the initial minimum size of the quad tree for inter slices.
Jie Chen
committed
\Option{MaxBTLumaISlice} &
%\ShortOption{\None} &
\Default{32} &
Defines the initial maximum size of the binary tree in dual tree for luma component.
Jie Chen
committed
\\
\Option{MaxBTChromaISlice} &
%\ShortOption{\None} &
\Default{64} &
Defines the initial maximum size of the binary tree in dual tree for chroma components.
Jie Chen
committed
\\
\Option{MaxBTNonISlice} &
%\ShortOption{\None} &
\Default{128} &
Defines the initial maximum size of the binary tree for inter slices.
Jie Chen
committed
\\
\Option{MaxTTLumaISlice} &
%\ShortOption{\None} &
\Default{32} &
Defines the initial maximum size of the tenary tree in dual tree for luma component.
Jie Chen
committed
\\
\Option{MaxTTChromaISlice} &
%\ShortOption{\None} &
\Default{32} &
Defines the initial maximum size of the tenary tree in dual tree for chroma components.
Jie Chen
committed
\\
\Option{MaxTTNonISlice} &
%\ShortOption{\None} &
\Default{64} &
Defines the initial maximum size of the tenary tree for inter slices.
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
\end{OptionTableNoShorthand}
%%
%% Coding structure parameters
%%
\begin{OptionTableNoShorthand}{Coding structure parameters}{tab:coding-structure}
\Option{IntraPeriod (-ip)} &
%\ShortOption{-ip} &
\Default{$-1$} &
Specifies the intra frame period.
A value of $-1$ implies an infinite period.
\\
\Option{DecodingRefreshType (-dr)} &
%\ShortOption{-dr} &
\Default{0} &
Specifies the type of decoding refresh to apply at the intra frame period
picture.
\par
\begin{tabular}{cp{0.45\textwidth}}
0 & Applies an I picture (not a intra random access point). \\
1 & Applies a CRA intra random access point (open GOP). \\
2 & Applies an IDR intra random access point (closed GOP). \\
3 & Use recovery point SEI messages to indicate random access. \\
\end{tabular}
\\
\Option{DRAPPeriod} &
%\ShortOption{\None} &
\Default{0} &
Specifies the DRAP period in frames.
Dependent RAP indication SEI messages are disabled if DRAPPeriod is 0.
\\
\Option{EDRAPPeriod} &
%\ShortOption{\None} &
\Default{0} &
Specifies the EDRAP period in frames.
Extended DRAP indication SEI messages are disabled if EDRAPPeriod is 0.
\\
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
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
\Option{GOPSize (-g)} &
%\ShortOption{-g} &
\Default{1} &
Specifies the size of the cyclic GOP structure.
\\
\Option{Frame\emph{N}} &
%\ShortOption{\None} &
\Default{\NotSet} &
Multiple options that define the cyclic GOP structure that will be used
repeatedly throughout the sequence. The table should contain GOPSize
elements.
\par
See section~\ref{sec:gop-structure} for further details.
\\
\Option{ReWriteParamSets} &
%\ShortOption{-ip} &
\Default{$0$} &
Enable writing of parameter sets (SPS, PPS, etc.) before every (intra) random access point to enable true random access.
\\
\end{OptionTableNoShorthand}
%%
%% Motion estimation parameters
%%
\begin{OptionTableNoShorthand}{Motion estimation parameters}{tab:motion-estimation}
\Option{FastSearch} &
%\ShortOption{\None} &
\Default{1} &
Enables or disables the use of a fast motion search.
\par
\begin{tabular}{cp{0.45\textwidth}}
0 & Full search method \\
1 & Fast search method - TZSearch\\
2 & Predictive motion vector fast search method \\
3 & Extended TZSearch method \\
\end{tabular}
\\
\Option{SearchRange (-sr)} &
%\ShortOption{-sr} &
\Default{96} &
Specifies the search range used for motion estimation.
Note: the search range is defined around a predictor. Motion vectors
derived by the motion estimation may thus have values larger than the
search range.
\\
\Option{BipredSearchRange} &
%\ShortOption{\None} &
\Default{4} &
Specifies the search range used for bi-prediction refinement in motion
estimation.
\\
\Option{ClipForBiPredMEEnabled} &
%\ShortOption{\None} &
\Default{0} &
Enables clipping in the Bi-Pred ME, which prevents values over- or under-flowing. It is usually disabled to reduce encoder run-time.
\\
\Option{FastMEAssumingSmootherMVEnabled} &
%\ShortOption{\None} &
\Default{0} &
Enables fast ME assuming a smoother MV.
\\
\Option{HadamardME} &
%\ShortOption{\None} &
\Default{true} &
Enables or disables the use of the Hadamard transform in fractional-pel motion
estimation.
\par
\begin{tabular}{cp{0.45\textwidth}}
0 & SAD for cost estimation \\
1 & Hadamard for cost estimation \\
\end{tabular}
\\
\Option{ASR} &
%\ShortOption{\None} &
\Default{false} &
Enables or disables the use of adaptive search ranges, where the motion
search range is dynamically adjusted according to the POC difference
between the current and the reference pictures.
\begin{displaymath}
\resizebox{\hsize}{!}{$
\mathrm{SearchRange}’ = \mathrm{Round}\left(
\mathrm{SearchRange}
* \mathrm{ADAPT\_SR\_SCALE}
* \frac{\mathrm{abs}(
\mathrm{POCcur} - \mathrm{POCref} )}{
\mathrm{RateGOPSize}}\right)
$}
\end{displaymath}
\\
\Option{MaxNumMergeCand} &
%\ShortOption{\None} &
\Default{5} &
Specifies the maximum number of merge candidates to use.
\\
\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
\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
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
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}&
%\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.
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
\\
\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.
\\
Shaowei Xie
committed
\Option{AlfLambdaOpt}&
%\ShortOption{\None}&
\Default{false}&
Enables or disables encoder-side optimization with adaptive loop filter. When it is enabled, lagrange multiplier optimization is applied for chroma ALF and CCALF.
\\
\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.
\\
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
\Option{MIP} &
%\ShortOption{\None} &
\Default{true} &
Enables or disables the use of matrix-based intra prediction (MIP).
\\
\Option{AMP} &
%\ShortOption{\None} &
\Default{true} &
Enables or disables the use of asymmetric motion partitions.
\\
\Option{ISP} &
%\ShortOption{\None} &
\Default{false} &
Enables or disables the Intra Sub-Partitions coding mode.
\\
\Option{ISPFast} &
%\ShortOption{\None} &
\Default{false} &
Enables or disables fast encoder methods for ISP.
Enables or disables the joint coding of chroma residuals.
%\ShortOption{\None} &
\Default{true} &
Enables or disables the sample adaptive offset (SAO) filter.
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
\Option{TestSAODisableAtPictureLevel} &
%\ShortOption{\None} &
\Default{false} &
Enables the testing of disabling SAO at the picture level after having analysed all blocks.
\\
\Option{SaoEncodingRate} &
%\ShortOption{\None} &
\Default{0.75} &
When >0 SAO early picture termination is enabled for luma and chroma.
\\
\Option{SaoEncodingRateChroma} &
%\ShortOption{\None} &
\Default{0.5} &
The SAO early picture termination rate to use for chroma (when m_SaoEncodingRate is >0). If <=0, use results for luma.
\\
\Option{SAOLcuBoundary} &
%\ShortOption{\None} &
\Default{false} &
Enables or disables SAO parameter estimation using non-deblocked pixels
for LCU bottom and right boundary areas.
\\
\Option{SAOResetEncoderStateAfterIRAP} &
%\ShortOption{\None} &
\Default{false} &
When true, resets the encoder's SAO state after an IRAP (POC order).
\\
\Option{SAOGreedyEnc} &
%\ShortOption{\None} &
\Default{false} &
Enables or disables the SAO greedy merge encoding algorithm.
\\
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
\Option{FastUDIUseMPMEnabled} &
%\ShortOption{\None} &
\Default{true} &
If enabled, adapt intra direction search, accounting for MPM
\\
\Option{FastMEForGenBLowDelayEnabled} &
%\ShortOption{\None} &
\Default{true} &
If enabled use a fast ME for generalised B Low Delay slices
\\
\Option{WeightedPredP (-wpP)} &
%\ShortOption{-wpP} &
\Default{false} &
Enables the use of weighted prediction in P slices.
\\
\Option{WeightedPredB (-wpB)} &
%\ShortOption{-wpB} &
\Default{false} &
Enables the use of weighted prediction in B slices.
\\
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
%\ShortOption{\-wpM} &
\Default{0} &
Sets the Weighted Prediction method to be used.
\par
\begin{tabular}{cp{0.45\textwidth}}
0 & Image DC based method with joint colour component decision. \\
1 & Image DC based method with separate colour component decision. \\
2 & DC + Histogram refinement method (no clipping). \\
3 & DC + Histogram refinement method (with clipping). \\
4 & DC + Dual Histogram refinement method (with clipping). \\
\end{tabular}
\\
\Option{SignHideFlag (-SBH)} &
%\ShortOption{-SBH} &
\Default{true} &
If enabled specifies that for each 4x4 coefficient group for which the
number of coefficients between the first nonzero coefficient and the
last nonzero coefficient along the scanning line exceeds 4, the sign bit
of the first nonzero coefficient will not be directly transmitted in the
bitstream, but may be inferred from the parity of the sum of all nonzero
coefficients in the current coefficient group.
\\
Martin Pettersson
committed
\Option{TMVPMode} &
%\ShortOption{\None} &
\Default{1} &
Controls the temporal motion vector prediction mode.
\par
\begin{tabular}{cp{0.45\textwidth}}
0 & Disabled for all slices. \\
1 & Enabled for all slices. \\
2 & Disabled only for the first picture of each GOPSize. \\
\end{tabular}
\\
\Option{SbTMVP} &
%\ShortOption{\None} &
\Default{false} &
Enables Subblock Temporal Motion Vector Prediction mode.
\\
\Option{SliceLevelRpl} &
%\ShortOption{\None} &
\Default{true} &
Code reference picture lists in slice headers rather than picture header.
\\
\Option{SliceLevelDblk} &
%\ShortOption{\None} &
\Default{true} &
Code deblocking filter parameters in slice headers rather than picture header.
\\
\Option{SliceLevelSao} &
%\ShortOption{\None} &
\Default{true} &
Code SAO parameters in slice headers rather than picture header.
\\
\Option{SliceLevelWeightedPrediction} &
%\ShortOption{\None} &
\Default{true} &
Code Weighted Prediction paremeters in slice headers rather than picture header.
\\
\Option{SliceLevelDeltaQp} &
%\ShortOption{\None} &
\Default{true} &
Code delta Qp in slice headers rather than picture header.
\\
\Option{TransformSkip} &
%\ShortOption{\None} &
\Default{false} &
Enables or disables transform-skipping mode decision.
\\
\Option{TransformSkipFast} &
%\ShortOption{\None} &
\Default{false} &
Enables or disables reduced testing of the transform-skipping mode
decision for chroma TUs. When enabled, no RDO search is performed for
chroma TUs, instead they are transform-skipped if the four corresponding
luma TUs are also skipped.
\par
This option has no effect if TransformSkip is disabled.
\\
\Option{ChromaTS} &
%\ShortOption{\None} &
\Default{false} &
Enables or disables reduced testing of the transform-skipping mode
decision for chroma TUs. When disabled, no RDO search is performed for
chroma TUs.
\par
This option has no effect if TransformSkip is disabled.
\\
\Option{ALF} &
%\ShortOption{\None} &
\Default{true} &
Enables or disables adaptive loop filter.
\\
\Option{UseNonLinearAlfLuma} &
%\ShortOption{\None} &
\Default{true} &
Enables optimization of non-linear filters for ALF on Luma channel.
\\
\Option{UseNonLinearAlfChroma} &
%\ShortOption{\None} &
\Default{true} &
Enables optimization of non-linear filters for ALF on Chroma channels.
\\
\Option{MaxNumAlfAlternativesChroma} &
%\ShortOption{\None} &
\Default{8} &
Specified the maximum number of alternative chroma filters that can be
switched at CTB level. Set to 1 to disable alternative chroma filters.
Value shall be in the range 1..8.
\\
\Option{ALFStrengthLuma} &
%\ShortOption{\None} &
\Default{1.0} &
Enables control of ALF filter strength for luma. The parameter scales the magnitudes of the ALF filter coefficients for luma. Valid values are in the range 0.0 to 1.0. NOTE: Refinement of quantized filter coefficents is not used when ALFStrengthLuma is different from 1.0. To ensure reduced filter strength the parameter ALFAllowPredefinedFilters should also be set to false.
\\
\Option{ALFStrengthChroma} &
%\ShortOption{\None} &
\Default{1.0} &
Enables control of ALF filter strength for chroma. The parameter scales the magnitudes of the ALF filter coefficients for chroma. Valid values are in the range 0.0 to 1.0.
\\
\Option{ALFStrengthTargetLuma} &
%\ShortOption{\None} &
\Default{1.0} &
Enables control of ALF filter strength target for luma filter optimization. The parameter scales the auto-correlation matrix E and the cross-correlation vector y for luma. Valid values are in the range 0.0 to 1.0.
\\
\Option{ALFStrengthTargetChroma} &
%\ShortOption{\None} &
\Default{1.0} &
Enables control of ALF filter strength target for chroma filter optimization. The parameter scales the auto-correlation matrix E and the cross-correlation vector y for chroma. Valid values are in the range 0.0 to 1.0.
Kenneth Andersson
committed
\\
\Option{ALFAllowPredefinedFilters} &
%\ShortOption{\None} &
\Default{true} &
Enables use of pre-defined filters for ALF.
\Option{CCALF} &
%\ShortOption{\None} &
\Default{true} &
Enables cross-component ALF.
\\
\Option{CCALFQpTh} &
%\ShortOption{\None} &
\Default{37} &
QP threshold above which the encoder reduces cross-component ALF usage.
\\
Kenneth Andersson
committed
\Option{CCALFStrength} &
%\ShortOption{\None} &
\Default{1.0} &
Enables control of CCALF filter strength. The parameter scales the magnitudes of the CCALF filter coefficients. Valid values are in the range 0.0 to 1.0. NOTE: Refinement of quantized filter coefficents is not used when CCALFStrength is different from 1.0.
\\
\Option{CCALFStrengthTarget} &
%\ShortOption{\None} &
\Default{1.0} &
Enables control of CCALF filter strength target in filter optimization. The parameter scales the auto-correlation matrix E and the cross-correlation vector y for CCALF. Valid values are in the range 0.0 to 1.0.
\\
\Option{MaxNumALFAPS} &
%\ShortOption{\None} &
\Default{8} &
Maximum number of ALF APSs.
\\
\Option{AlfapsIDShift} &
%\ShortOption{\None} &
\Default{0} &
Offset for ALF APSs.
\\
\Option{ConstantJointCbCrSignFlag} &
%\ShortOption{\None} &
\Default{0} &
Constant JointCbCr sign flag.
\\
\Option{SMVD} &
%\ShortOption{\None} &
\Default{false} &
Enables or disables symmetric MVD mode.
\\
\Option{Geo} &
%\ShortOption{\None} &
\Default{false} &
Enables or disables geometric partitioning mode.
\\
\Option{PLT} &
%\ShortOption{\None} &
\Default{false} &
Enables or disables palette mode coding.
\\
\Option{BDPCM} &
Enables or disables the use of intra block differential pulse code modulation mode.
\\
\Option{LFNST} &
%\ShortOption{\None} &
\Default{false} &
Enables or disables the use of low frequency non-separable transform (LFNST).
\\
\Option{FastLFNST} &
%\ShortOption{\None} &
\Default{false} &
Enables or disables the fast encoding of low frequency non-separable transform (LFNST).
\\
\Option{BCW} &
%\ShortOption{\None} &
\Default{false} &
Enables or disables the use of Bi-prediction with CU-level Weights (BCW).
\\
\Option{BcwFast} &
%\ShortOption{\None} &
\Default{false} &
Enables or disables the fast encoding of Bi-prediction with CU-level Weights (BCW).
\\
\Option{MTS} &
%\ShortOption{\None} &
\Default{0} &
Enables explicit mutiple transform set (MTS).
0: disable,
1: enable explicit intra MTS,
2: enable implicit intra and explicit inter MTS,
3: enable explicit intra and explicit inter MTS,
4: enable implicit intra MTS.
\\
\Option{MTSImplicit} &
%\ShortOption{\None} &
\Default{0} &
Enables implicit multiple transform set (MTS).
0: disable,
1: enable implicit intra MTS.
Must be 0 when MTS is nonzero. Setting MTS to 0 and MTSImplicit to 1 is equivalent to setting MTS to 4 and MTSImplicit to 0.
\\
\Option{BDOF} &
%\ShortOption{\None} &
\Default{false} &
Enables or disables the use of bi-directional optical flow (BDOF).
\Option{Affine} &
%\ShortOption{\None} &
\Default{false} &
Enables or disables the use of affine inter mode.
0: disable,
1: enable affine inter mode
\\
\Option{AdaptBypassAffineMe} &
%\ShortOption{\None} &
\Default{false} &
Enables or disables the fast method which adaptively bypasses affine ME.
\\
\Option{AffineAmvr} &
%\ShortOption{\None} &
\Default{false} &
Enables or disables the use of AMVR for affine inter mode.
\\
\Option{AffineAmvrEncOpt} &
%\ShortOption{\None} &
\Default{false} &
Enables or disables the encoder optimization of affine AMVR.
\\
\Option{AffineAmvp} &
%\ShortOption{\None} &
\Default{true} &
Enables or disables the use of AMVP for affine inter mode when affine inter mode is used (enabled).
\\
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
\Option{LMCSEnable} &
%\ShortOption{\None} &
\Default{true} &
Enables or disables the use of LMCS (luma mapping with chroma scaling).
\\
\Option{LMCSSignalType} &
%\ShortOption{\None} &
\Default{0} &
LMCS signal type: 0:SDR, 1:HDR-PQ, 2:HDR-HLG.
\\
\Option{LMCSUpdateCtrl} &
%\ShortOption{\None} &
\Default{0} &
LMCS model update control: 0:RA, 1:AI, 2:LDB/LDP.
\par
\begin{tabular}{cp{0.45\textwidth}}
0 & Random access: derive a new LMCS model at each IRAP.\\
1 & All intra: derive a new LMCS model at each intra slice.\\
2 & Low delay: derive a new LMCS model every second. \\
\end{tabular}
\\
\Option{LMCSAdpOption} &
%\ShortOption{\None} &
\Default{0} &
Adaptive LMCS mapping derivation options: Options 1 to 4 are for experimental testing purposes and need to set parameter LMCSInitialCW.
\par
\begin{tabular}{cp{0.45\textwidth}}
0 & Automatic adaptive algorithm (default).\\
1 & Derives LMCS mapping with input LMCSInitialCW and enables LMCS for all slices. Uses a static LMCS mapping for low QP ($QP<=22$). \\
2 & Derives LMCS mapping with input LMCSInitialCW and enables LMCS only for slices in lowest temporal layer. \\
3 & In addition to 1, disables LMCS for intra slices. \\
4 & Derives LMCS mapping with input LMCSInitialCW and enables LMCS only for inter slices. \\
\end{tabular}
\\
\Option{LMCSInitialCW} &
%\ShortOption{\None} &
\Default{0} &
LMCS initial total codeword (valid values [$0 - 1023$]) to be used in LMCS mapping derivation when LMCSAdpOption is not equal to 0.
\\
\Option{LMCSOffset} &
%\ShortOption{\None} &
\Default{0} &
Specifies the LMCS chroma residual scaling offset. This parameter corresponds to the value of lmcsDeltaCrs, derived from lmcs_delta_sign_crs_flag and lmcs_delta_abs_crs, that are transmitted in the APS. Valid values are in the range [-7;7].
\\
\Option{ColorTransform} &
%\ShortOption{\None} &
\Default{false} &
Enables or disables the use of adaptive color transform (ACT).
\\
\Option{HorCollocatedChroma} &
%\ShortOption{\None} &
Frank Bossen
committed
\Default{-1} &
Specifies location of top-left chroma sample relative to top-left luma sample in horizontal direction for reference picture resampling.
For chroma formats other than 4:2:0, the value defaults to 1.
When ChromaSampleLocType is equal to 6 (unspecified) and HorCollocatedChroma is equal to -1, the value defaults to 1.
\par
\begin{tabular}{cp{0.45\textwidth}}
Frank Bossen
committed
-1 & value based on ChromaSampleLocType (default)\\
0 & horizontally shifted by 0.5 units of luma samples\\
1 & collocated \\
\end{tabular}
\\
\Option{VerCollocatedChroma} &
%\ShortOption{\None} &
Frank Bossen
committed
\Default{-1} &
Specifies location of top-left chroma sample relative to top-left luma sample in vertical direction for cross-component linear model (CCLM)
intra prediction and for reference picture resampling.
For chroma formats other than 4:2:0, the value defaults to 1.
When ChromaSampleLocType is equal to 6 (unspecified) and VerCollocatedChroma is equal to -1, the value defaults to 0.
\par
\begin{tabular}{cp{0.45\textwidth}}
Frank Bossen
committed
-1 & value based on ChromaSampleLocType (default)\\
0 & vertically shifted by 0.5 units of luma samples\\
1 & collocated\\
Christopher Hollmann
committed
\Option{TSRCdisableLL} &
%\ShortOption{\None} &
\Default{1} &
Enables or disables the use of Transform Skip Residual Coding for lossless compression.
\\
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
\end{OptionTableNoShorthand}
%%
%% Rate control parameters
%%
\begin{OptionTableNoShorthand}{Rate control parameters}{tab:rate-control}
\Option{RateControl} &
%\ShortOption{\None} &
\Default{false} &
Rate control: enables rate control or not.
\\
\Option{TargetBitrate} &
%\ShortOption{\None} &
\Default{0} &
Rate control: target bitrate, in bps.
\\
\Option{KeepHierarchicalBit} &
%\ShortOption{\None} &
\Default{0} &
Rate control: 0: equal bit allocation among pictures;
1: fix ratio hierarchical bit allocation; 2: adaptive hierarchical ratio bit allocation.
It is suggested to enable hierarchical bit allocation for hierarchical-B coding structure.
\\
\Option{LCULevelRateControl} &
%\ShortOption{\None} &
\Default{true} &
Rate control: true: LCU level RC; false: picture level RC.
\\
\Option{RCLCUSeparateModel} &
%\ShortOption{\None} &
\Default{true} &
Rate control: use LCU level separate R-lambda model or not.
When LCULevelRateControl is equal to false, this parameter is meaningless.
\\
\Option{InitialQP} &
%\ShortOption{\None} &
\Default{0} &
Rate control: initial QP value for the first picture.
0 to auto determine the initial QP value.
\\
\Option{RCForceIntraQP} &
%\ShortOption{\None} &
\Default{false} &
Rate control: force intra QP to be equal to initial QP or not.
\\
\Option{RCCpbSaturation} &
%\ShortOption{\None} &
\Default{false} &
Rate control: enable target bits saturation to avoid CPB overflow and underflow or not.
\\
\Option{RCCpbSize} &
%\ShortOption{\None} &
\Default{0} &
Rate control: CPB size, in bps.
\\
\Option{RCInitialCpbFullness} &
%\ShortOption{\None} &
\Default{0.9} &
Rate control: ratio of initial CPB fullness per CPB size. (InitalCpbFullness/CpbSize)
RCInitialCpbFullness should be smaller than or equal to 1.
\\
\end{OptionTableNoShorthand}
%%
\begin{OptionTableNoShorthand}{GDR parameters}{tab:gdr}
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
\Option{GdrEnabled} &
%\ShortOption{\None} &
\Default{false} &
Enables or disables the use of GDR (Gradual Decoding Refresh)
\\
\Option{GdrPocStart} &
%\ShortOption{\None} &
\Default{-1} &
Specifies poc number of first GDR
\\
\Option{GdrPeriod} &
%\ShortOption{\None} &
\Default{-1} &
Specifies number of frames between GDR picture to the next GDR picture
\\
\Option{GdrInterval} &
%\ShortOption{\None} &
\Default{-1} &
Specifies number of of frames from GDR picture to the recovery point picture (note: ph_recovery_poc_cnt will be (GDR Inteval - 1))
\\
\Option{GdrNoHash} &
%\ShortOption{\None} &
\Default{true} &
Specifies not to generate picture hash SEI for GDR/recovering pictures
\\
\end{OptionTableNoShorthand}
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
%%
%% Encoder debug parameters
%%
\begin{OptionTableNoShorthand}{Encoder debug parameters}{tab:encoder-debugging}
\Option{DebugBitstream/DecodeBitstream1} &
%\ShortOption{\None} &
\Default{} &
Specifies the first bit stream to be read until a pre-defined switch point is encountered.
\\
\Option{DecodeBitstream2} &
%\ShortOption{\None} &
\Default{} &
Specifies the second bit stream, to be read after the first random access point after a QP switch point (specified using SwitchPOC and SwitchQP).
\\
\Option{DebugPOC} &
%\ShortOption{\None} &
\Default{-1} &
Specifies a POC, at which a bit stream specified using DebugBitstream or DecodeBitstream1 is no longer read, but rather normal encoding is started.
\\
\Option{DebugCTU} &
%\ShortOption{\None} &
\Default{-1} &
When the POC is encountered at which normal encoding is to be resumed, if set, this option specifies that CTUs up to the specified CTU(in raster scan addressing order are to be read from the specified bit stream, after which normal encoding is started the specified CTU.
\\
\Option{SwitchPOC} &
%\ShortOption{\None} &
\Default{-1} &
Specifies a POC, at which the specified bit stream is no longer read, but rather normal encoding is started.
\\
\Option{SwitchDQP} &
%\ShortOption{\None} &
\Default{0} &
Specifies a QP offset to be applied when normal encoding is started as specified by SwitchPOC.
\\
\Option{FastForwardToPOC} &
%\ShortOption{\None} &
\Default{0} &
When encoding a bit streams, all frames that are not references including transitive references to the specified POC are skipped.
\\
\Option{StopAfterFFtoPOC} &
%\ShortOption{\None} &
\Default{false} &
If enabled, causes the encoder to not encode any frame after the frame specified by FastForwardToPOC option, in encoding order.
\\
\end{OptionTableNoShorthand}
%%
%% VUI parameters
%%
\begin{OptionTableNoShorthand}{VUI parameters}{tab:VUI}
Allow writing VUI and HRD information from input Y4M file.
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
\Option{VuiParametersPresent (-vui)} &
\Default{false} &
Enable generation of vui_parameters().
\\
\Option{AspectRatioInfoPresent} &
\Default{false} &
Signals whether aspect_ratio_idc is present.
\\
\Option{AspectRatioIdc} &
\Default{0} &
aspect_ratio_idc
\\
\Option{SarWidth} &
\Default{0} &
Specifies the horizontal size of the sample aspect ratio.
\\
\Option{SarHeight} &
\Default{0} &
Specifies the vertical size of the sample aspect ratio.
\\
\Option{OverscanInfoPresent} &
\Default{false} &
Signals whether overscan_info_present_flag is present.
\\
\Option{OverscanAppropriate} &
\Default{false} &
Indicates whether cropped decoded pictures are suitable for display using overscan.
\par
\begin{tabular}{cp{0.45\textwidth}}
0 & Indicates that the decoded pictures should not be displayed using overscan. \\
1 & Indicates that the decoded pictures may be displayed using overscan. \\
\end{tabular}
\\
\Option{ColourDescriptionPresent} &
\Default{false} &
Signals whether colour_primaries, transfer_characteristics, matrix_coefficients and video_full_range_flag are present.
\\
\Option{ColourPrimaries} &
\Default{2} &
Indicates chromaticity coordinates of the source primaries.
\\
\Default{2} &
Indicates the opto-electronic transfer characteristics of the source.
\\
\Option{MatrixCoefficients} &
\Default{2} &
Describes the matrix coefficients used in deriving luma and chroma from RGB primaries.
\\
\Option{VideoFullRange} &
\Default{false} &
Indicates the black level and range of luma and chroma signals.
\par
\begin{tabular}{cp{0.45\textwidth}}
0 & Indicates that the luma and chroma signals are to be scaled prior to display. \\
1 & Indicates that the luma and chroma signals are not to be scaled prior to display. \\
\end{tabular}
\\
\Option{ProgressiveSource} &
\Default{false} &
Specifies the value of general_progressive_source_flag
\\
\Option{InterlacedSource} &
\Default{false} &
Specifies the value of general_interlaced_source_flag
\\
\Option{NonPackedSourceConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of general_non_packed_constraint_flag
\\
\Option{NonProjectedConstraintFlag} &
%\ShortOption{\None} &
\Default{false} &
Specifies the value of general_non_projected_constraint_flag
\\
Signals whether chroma_sample_loc_type_top_field, chroma_sample_loc_type_bottom_field and chroma_sample_loc_type are present.
\Default{6 (Unspecified)} &
Specifies the location of chroma samples for top field.
\\
\Option{ChromaSampleLocTypeBottomField} &
\Default{6 (Unspecified)} &
Specifies the location of chroma samples for bottom field.
\\
\Option{ChromaSampleLocType} &
\Default{6 (Unspecified)} &
Specifies the location of chroma samples for frame.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Range Extensions (Version 2) tool parameters}{tab:rext-tools}
\Option{CostMode} &
\Default{lossy} &
Specifies the cost mode to use.
\par
\begin{tabular}{lp{0.3\textwidth}}
lossy & $cost=distortion+\lambda \times bits$ \\
% sequence_level_lossless & $cost=distortion / \lambda + bits$. \\
lossless & $cost = bits$, QP'=0 is used for all transform blocks and the only allowed encoder result is either an empty transform block or an transform skipped block. \\
% mixed_lossless_lossy & As with sequence_level_lossless, but QP'=4 is used for pre-estimates of transquant-bypass blocks \\
\end{tabular}
\\
\Option{ExtendedPrecision} &
\Default{false} &
Specifies the use of extended_precision_processing flag. Note that unless the HIGH_BIT_DEPTH_SUPPORT macro in TypeDef.h is enabled, all internal bit depths must be 8 when the ExtendedPrecision setting is enabled.
This setting is only valid for the 16-bit RExt profiles.
\\
Hong-Jheng Jhu
committed
\Option{TSRCRicePresent} &
\Default{false} &
When true, specifies the that extension of the Golomb-Rice parameter derivation for TSRC is used. Version 1 profiles require this to be false and some Version 2 (RExt) profiles may require this to be true.
\\
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
\Option{HighPrecisionPredictionWeighting} &
\Default{false} &
Specifies the value of high_precision_prediction_weighting_flag. This setting is only valid for the 16-bit or 4:4:4 RExt profiles.
\\
\Option{ReconBasedCrossCPredictionEstimate} &
\Default{false} &
If true, then when determining the alpha value for cross-component prediction, use the reconstructed residual rather than the pre-transform encoder-side residual
\\
\Option{TransformSkipLog2MaxSize} &
\Default{2} &
Specifies the maximum TU size for which transform-skip can be used; the minimum value is 2. Version 1 and some Version 2 (RExt) profiles require this to be 2.
\\
\Option{ResidualRotation} &
\Default{false} &
When true, specifies the use of the residual rotation tool. Version 1 and some Version 2 (RExt) profiles require this to be false.
\\
\Option{SingleSignificanceMapContext} &
\Default{false} &
When true, specifies the use of a single significance map context for transform-skipped and transquant-bypassed TUs. Version 1 and some Version 2 (RExt) profiles require this to be false.
\\
\Option{ExtendedRiceRRC} &
\Default{false} &
When true, specifies the that extension of the Golomb-Rice parameter derivation for RRC is used. Version 1 profiles require this to be false and some Version 2 (RExt) profiles may require this to be true.
\\
\Option{GolombRiceParameterAdaptation} &
\Default{false} &
When true, enable the adaptation of the Golomb-Rice parameter over the course of each slice. Version 1 and some Version 2 (RExt) profiles require this to be false.
\\
\Option{ReverseLastSigCoeff} &
\Default{false} &
When true, enable reverse last significant coefficient postion in RRC. Version 1 and some Version 2 (RExt) profiles require this to be false.
\\
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
\Option{AlignCABACBeforeBypass} &
\Default{false} &
When true, align the CABAC engine to a defined fraction of a bit prior to coding bypass data (including sign bits) when coeff_abs_level_remaining syntax elements are present in the group.
This must always be true for the high-throughput-RExt profile, and false otherwise.
\\
\end{OptionTableNoShorthand}
\subsection{Encoder SEI parameters}
The table below lists the SEI messages defined for Version 1 and Range-Extensions, and if available, the respective table that lists the controls within the HM Encoder to include the messages within the bit stream.
\begin{SEIListTable}{List of Version 1 and RExt SEI messages}
0 & Buffering period & Table \ref{tab:sei-buffering-period} \\
1 & Picture timing & Table \ref{tab:sei-picture-timing} \\
2 & Pan-scan rectangle & (Not handled)\\
3 & Filler payload & (Not handled)\\
4 & User data registered by Rec. ITU-T T.35 & (Not handled)\\
5 & User data unregistered & Decoded only\\
6 & Recovery point & Table \ref{tab:sei-recovery-point} \\
9 & Scene information & (Not handled)\\
15 & Picture snapshot & (Not handled)\\
16 & Progressive refinement segment start & (Not handled)\\
17 & Progressive refinement segment end & (Not handled)\\
19 & Film grain characteristics & Table \ref{tab:sei-film-grain} \\
22 & Post-filter hint & Table \ref{tab:sei-post-filter hint} \\
23 & Tone mapping information & Table \ref{tab:sei-tone-mapping-info} \\
45 & Frame packing arrangement & Table \ref{tab:sei-frame-packing-arrangement} \\
47 & Display orientation & Table \ref{tab:sei-display-orientation} \\
56 & Green Metadata & Table \ref{tab:sei-green-metadata} \\
128 & Structure of pictures information & Table \ref{tab:sei-sop-info} \\
Rickard Sjöberg
committed
129 & Parameter sets inclusion indication & Table \ref{tab:sei-parameter-sets-inclusion-indication} \\
130 & Decoding unit information & Table \ref{tab:sei-decoding-unit-info} \\
131 & Temporal sub-layer zero index & Table \ref{tab:sei-temporal-level-0} \\
132 & Decoded picture hash & Table \ref{tab:sei-decoded-picture-hash} \\
133 & Scalable nesting & Table \ref{tab:sei-scalable-nesting} \\
134 & Region refresh information & Table \ref{tab:sei-region-refresh-info} \\
135 & No display & Table \ref{tab:sei-no-display} \\
136 & Time code & Table \ref{tab:sei-time-code} \\
137 & Mastering display colour volume & Table \ref{tab:sei-mastering-display-colour-volume} \\
138 & Segmented rectangular frame packing arrangement & Table \ref{tab:sei-seg-rect-fpa}\\
139 & Temporal motion-constrained tile sets & Table \ref{tab:sei-tmcts} \\
140 & Chroma resampling filter hint & Table \ref{tab:chroma-resampling-filter-hint} \\
141 & Knee function information & Table \ref{tab:sei-knee-function} \\
142 & Colour transform information & Table \ref{tab:sei-colour-transform}\\
144 & Content light level info & Table \ref{tab:sei-content-light-level}\\
147 & Alternative transfer characteristics & Table \ref{tab:sei-alternative-transfer-characteristics}\\
148 & Ambient viewing environment & Table \ref{tab:sei-ambient-viewing-environment}\\
149 & Content colour volume & Table \ref{tab:sei-content-colour-volume}\\
150 & Equirectangular projection & Table \ref{tab:sei-erp} \\
153 & Generalized cubemap projection & Table \ref{tab:sei-gcmp} \\
154 & Sphere rotation & Table \ref{tab:sei-sphere-rotation} \\
155 & Region-wise packing & Table \ref{tab:sei-rwp} \\
156 & Omni viewport & Table \ref{tab:sei-omni-viewport} \\
165 & Alpha Channel Information & Table \ref{tab:sei-aci} \\
168 & Frame-field information & Table \ref{tab:sei-frame-field} \\
177 & Depth Representation Information & Table \ref{tab:sei-dri} \\
179 & Multiview Acquisition Information & Table \ref{tab:sei-mai} \\
180 & Multiview View Position & Table \ref{tab:sei-mvp} \\
200 & SEI manifest & Table \ref{tab:sei-sei-manifest} \\
201 & SEI prefix indication & Table \ref{tab:sei-sei-prefix-indication} \\
202 & Annotated regions information & Table \ref{tab:sei-annotated-regions} \\
203 & Subpicture Level Information & Table \ref{tab:sei-subpic-level} \\
204 & Sample Aspect Ratio Information & Table \ref{tab:sei-sari} \\
205 & Scalability Dimension Information & Table \ref{tab:sei-sdi} \\
207 & Constrained RASL encoding & Table \ref{tab:sei-constrained-rasl-encoding} \\
Jeeva Raj A
committed
209 & Shutter Interval Information & Table \ref{tab:sei-sii} \\
210 & Neural network post-filter characteristics & Table \ref{tab:sei-nn-post-filter-characteristics} \\
211 & Neural netowrk post-filter activation & Table \ref{tab:sei-nn-post-filter-activation} \\
212 & Phase indication & Table \ref{tab:sei-phase-indication} \\
213 & Processing order SEI messages & Table \ref{tab:sei-processing order}\\
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
\end{SEIListTable}
%%
%% SEI messages
%%
\begin{OptionTableNoShorthand}{Buffering period SEI message encoder parameters}{tab:sei-buffering-period}
\Option{SEIBufferingPeriod} &
\Default{0} &
Enables or disables the insertion of the Buffering period
SEI messages. This option has no effect if VuiParametersPresent is disabled.
SEIBufferingPeriod requires SEIActiveParameterSets to be enabled.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Picture timing SEI message encoder parameters}{tab:sei-picture-timing}
\Option{SEIPictureTiming} &
\Default{0} &
Enables or disables the insertion of the Picture timing
SEI messages. This option has no effect if VuiParametersPresent is disabled.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Recovery point SEI message encoder parameters}{tab:sei-recovery-point}
\Option{SEIRecoveryPoint} &
\Default{0} &
Enables or disables the insertion of the Recovery point
SEI messages.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Film grain characteristics SEI message encoder parameters}{tab:sei-film-grain}
\Option{SEIFGCEnabled} &
\Default{0} &
Control generation of the film grain characteristics SEI message.
\\
\Option{SEIFGCAnalysisEnabled} &
\Default{0} &
Control adaptive film grain parameter estimation - film grain analysis. If
enabled, log2ScaleFactor, intensity intervals and model parameters will be
determined by the encoder, based on a denoised input and a flat area mask,
either internally generated or externally provided (see SEIFGCExternalDenoised
and SEIFGCExternalMask)
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
\Option{SEIFGCExternalMask} &
\Default{""} &
For film grain analysis, use this mask (yuv file) instead of internally
generated. Zero values represent flat areas. Must be the same bit depth and
chroma format as output.
\\
\Option{SEIFGCExternalDenoised} &
\Default{""} &
For film grain analysis, use this denoised video (yuv file) instead of
internally generated. Must be the same bit depth and chroma format as output.
\\
\Option{SEIFGCTemporalFilterPastRefs} &
\Default{"4"} &
When internally generating a denoised picture for film grain analysis, use this
number of past reference frames for the denoiser (specific to FGC analysis).
\\
\Option{SEIFGCTemporalFilterFutureRefs} &
\Default{"4"} &
When internally generating a denoised picture for film grain analysis, use this
number of future reference frames for the denoiser (specific to FGC analysis).
This should be set to zero in low-delay context.
\\
\Option{SEIFGCTemporalFilterStrengthFrame*} &
\Default{""} &
When internally generating a denoised picture for film grain analysis, use this
filtering strength every * frame for the denoiser (specific to FGC analysis),
where * is an integer. E.g. SEIFGCTemporalFilterStrengthFrame64 1.5 will
enable the denoiser at every 64th frame with strength 1.5. Longer intervals
overrides shorter when there are multiple matches.
If nothing is specified, the strength is set by default to 1.5 for
- every intra period in random-access mode
- every frame in all-intra
- every 2s in low-delay (i.e. intraPeriod < 1)
\\
\Option{SEIFGCCancelFlag} &
\Default{0} &
Specifies the persistence of any previous film grain characteristics SEI message in output order.
\\
\Option{SEIFGCPersistenceFlag} &
\Default{1} &
Specifies the persistence of the film grain characteristics SEI message for the current layer.
\\
\Option{SEIFGCPerPictureSEI} &
\Default{0} &
Film Grain SEI is added for each picture as speciffied in RDD5 to ensure bit accurate synthesis in tricky mode.
\\
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
\Option{SEIFGCModelID} &
\Default{0} &
Specifies the film grain simulation model.
\par
\begin{tabular}{cp{0.35\textwidth}}
0 & frequency filtering \\
1 & auto-regression \\
\end{tabular}
\\
\Option{SEIFGCSepColourDescPresentFlag} &
\Default{0} &
Specifies the presence of a distinct colour space description for the film grain characteristics specified in the SEI message.
\\
\Option{SEIFGCBlendingModeID} &
\Default{0} &
Specifies the blending mode used to blend the simulated film grain with the decoded images.
\par
\begin{tabular}{cp{0.35\textwidth}}
0 & additive \\
1 & multiplicative \\
\end{tabular}
\\
\Option{SEIFGCLog2ScaleFactor} &
\Default{0} &
Specifies a scale factor used in the film grain characterization equations.
\\
\Option{SEIFGCCompModelPresentComp0} &
\Default{0} &
Specifies the presence of film grain modelling on colour component 0.
\\
\Option{SEIFGCCompModelPresentComp1} &
\Default{0} &
Specifies the presence of film grain modelling on colour component 1.
\\
\Option{SEIFGCCompModelPresentComp2} &
\Default{0} &
Specifies the presence of film grain modelling on colour component 2.
\\
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
\Option{SEIFGCNumIntensityIntervalMinus1Comp0} &
\Default{0} &
Specifies the number of intensity intervals minus1 on colour component 0.
\\
\Option{SEIFGCNumIntensityIntervalMinus1Comp1} &
\Default{0} &
Specifies the number of intensity intervals minus1 on colour component 1.
\\
\Option{SEIFGCNumIntensityIntervalMinus1Comp2} &
\Default{0} &
Specifies the number of intensity intervals minus1 on colour component 2.
\\
\Option{SEIFGCNumModelValuesMinus1Comp0} &
\Default{0} &
Specifies the number of component model values minus1 on colour component 0.
\\
\Option{SEIFGCNumModelValuesMinus1Comp1} &
\Default{0} &
Specifies the number of component model values minus1 on colour component 1.
\\
\Option{SEIFGCNumModelValuesMinus1Comp2} &
\Default{0} &
Specifies the number of component model values minus1 on colour component 2.
\\
\Option{SEIFGCIntensityIntervalLowerBoundComp0} &
\Default{0} &
Specifies the lower bound for the intensity intervals on colour component 0.
\\
\Option{SEIFGCIntensityIntervalLowerBoundComp1} &
\Default{0} &
Specifies the lower bound for the intensity intervals on colour component 1.
\\
\Option{SEIFGCIntensityIntervalLowerBoundComp2} &
\Default{0} &
Specifies the lower bound for the intensity intervals on colour component 2.
\\
\Option{SEIFGCIntensityIntervalUpperBoundComp0} &
\Default{0} &
Specifies the upper bound for the intensity intervals on colour component 0.
\\
\Option{SEIFGCIntensityIntervalUpperBoundComp1} &
\Default{0} &
Specifies the upper bound for the intensity intervals on colour component 1.
\\
\Option{SEIFGCIntensityIntervalUpperBoundComp2} &
\Default{0} &
Specifies the upper bound for the intensity intervals on colour component 2.
\\
\Option{SEIFGCCompModelValuesComp0} &
\Default{0} &
Specifies the component model values on colour component 0.
\\
\Option{SEIFGCCompModelValuesComp1} &
\Default{0} &
Specifies the component model values on colour component 1.
\\
\Option{SEIFGCCompModelValuesComp2} &
\Default{0} &
Specifies the component model values on colour component 2.
\\
\begin{OptionTableNoShorthand}{Post-filter Hint SEI message encoder parameters}{tab:sei-post-filter hint}
\Option{SEIPostFilterHintEnabled} &
\Default{1} &
Specifies whether post-filter hint SEI message to be generated or not.
\\
\Option{SEIPostFilterHintCancelFlag} &
\Default{0} &
Specifies whether this SEI message cancels the previous post-filter hint SEI message.
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
\\
\Option{SEIPostFilterHintPersistenceFlag} &
\Default{0} &
Specifies whether this SEI message applies to just one picture or sequence of pictures.
\\
\Option{SEIPostFilterHintSizeY} &
\Default{1} &
Specifies the vertical size of the coefficient matrix for the filters.
\\
\Option{SEIPostFilterHintSizeX} &
\Default{1} &
Specifies the horizontal size of the coefficient matrix for the filters.
\\
\Option{SEIPostFilterHintType} &
\Default{0} &
Specifies the type of the filters.
\\
\Option{SEIPostFilterHintChromaCoeffPresentFlag} &
\Default{0} &
Specifies whether filters for chroma components are present of not.
\\
\Option{SEIPostFilterHintValue} &
\Default{\None} &
Array of filter coefficients.
The number of coefficients should be
If SEIPostFilterHintChromaCoeffPresentFlag is 0 then SEIPostFilterHintSizeY * SEIPostFilterHintSizeY
Else if SEIPostFilterHintChromaCoeffPresentFlag is 0 then SEIPostFilterHintSizeY * SEIPostFilterHintSizeY * 3
\\
\end{OptionTableNoShorthand}
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
\begin{OptionTableNoShorthand}{Tone mapping information SEI message encoder parameters}{tab:sei-tone-mapping-info}
\Option{SEIToneMappingInfo} &
\Default{0} &
Enables or disables the insertion of the Tone Mapping SEI message.
\\
\Option{SEIToneMapId} &
\Default{0} &
Specifies Id of Tone Mapping SEI message for a given session.
\\
\Option{SEIToneMapCancelFlag} &
\Default{false} &
Indicates that Tone Mapping SEI message cancels the persistance or follows.
\\
\Option{SEIToneMapPersistenceFlag} &
\Default{true} &
Specifies the persistence of the Tone Mapping SEI message.
\\
\Option{SEIToneMapCodedDataBitDepth} &
\Default{8} &
Specifies Coded Data BitDepth of Tone Mapping SEI messages.
\\
\Option{SEIToneMapTargetBitDepth} &
\Default{8} &
Specifies Output BitDepth of Tome mapping function.
\\
\Option{SEIToneMapModelId} &
\Default{0} &
Specifies Model utilized for mapping coded data into
target_bit_depth range.
\par
\begin{tabular}{cp{0.35\textwidth}}
0 & linear mapping with clipping \\
1 & sigmoidal mapping \\
2 & user-defined table mapping \\
3 & piece-wise linear mapping \\
4 & luminance dynamic range mapping \\
\end{tabular}
\\
\Option{SEIToneMapMinValue} &
\Default{0} &
Specifies the minimum value in mode 0.
\\
\Option{SEIToneMapMaxValue} &
\Default{1023} &
Specifies the maxmum value in mode 0.
\\
\Option{SEIToneMapSigmoidMidpoint} &
\Default{512} &
Specifies the centre point in mode 1.
\\
\Option{SEIToneMapSigmoidWidth} &
\Default{960} &
Specifies the distance between 5% and 95% values of
the target_bit_depth in mode 1.
\\
\Option{SEIToneMapStartOfCodedInterval} &
\Default{\None} &
Array of user-defined mapping table.
Default table can be set to the following:
\par
\begin{tabular}{cp{0.35\textwidth}}
0 12 24 36 48 60 72 84 96 108 120 132 144 156 168 180
\\
192 192 196 204 208 216 220 228 232 240 248 252 260 264
\\
272 276 284 292 292 296 300 304 308 312 320 324 328 332
\\
336 344 348 352 356 360 368 372 376 380 384 388 396 400
\\
404 408 412 420 424 428 432 436 444 444 444 448 452 456
\\
460 464 468 472 476 476 480 484 488 492 496 500 504 508
\\
508 512 516 520 524 528 532 536 540 540 544 548 552 556
\\
560 564 568 572 572 576 580 584 588 592 596 600 604 604
\\
608 612 616 620 624 628 632 636 636 640 644 648 652 656
\\
660 664 668 672 672 672 676 680 680 684 688 692 692 696
\\
700 704 704 708 712 716 716 720 724 724 728 732 736 736
\\
740 744 748 748 752 756 760 760 764 768 768 772 776 780
\\
780 784 788 792 792 796 800 804 804 808 812 812 816 820
\\
824 824 828 832 836 836 840 844 848 848 852 856 860 860
\\
860 864 864 868 872 872 876 880 880 884 884 888 892 892
\\
896 900 900 904 908 908 912 912 916 920 920 924 928 928
\\
932 936 936 940 940 944 948 948 952 956 956 960 964 964
\\
968 968 972 976 976 980 984 984 988 992 992 996 996 1000
\\
1004 1004 1008 1012 1012 1016 1020 1024
\\
\end{tabular}
\\
\Option{SEIToneMapNumPivots} &
\Default{0} &
Specifies the number of pivot points in mode 3.
\\
\Option{SEIToneMapCodedPivotValue} &
\Default{\None} &
Array of coded pivot point in mode 3.
A suggested table is:
\par
\begin{tabular}{cp{0.45\textwidth}}
64 128 256 512 768
\end{tabular}
\\
\Option{SEIToneMapTargetPivotValue} &
\Default{\None} &
Array of target pivot point in mode 3.
A suggested table is:
\par
\begin{tabular}{cp{0.45\textwidth}}
48 73 111 168 215
\end{tabular}
\\
\Option{SEIToneMap...} \Option{CameraIsoSpeedIdc} &
\Default{0} &
Indicates the camera ISO speed for daylight illumination.
\\
\Option{SEIToneMap...} \Option{CameraIsoSpeedValue} &
\Default{400} &
Specifies the camera ISO speed for daylight illumination of Extended_ISO.
\\
\Option{SEIToneMap...} \Option{ExposureIndexIdc} &
\Default{0} &
Indicates the exposure index setting of the camera.
\\
\Option{SEIToneMap...} \Option{ExposureIndexValue} &
\Default{400} &
Specifies the exposure index setting of the cameran of Extended_ISO.
\\
\Option{SEIToneMapExposure...} \Option{CompensationValueSignFlag} &
\Default{0} &
Specifies the sign of ExposureCompensationValue.
\\
\Option{SEIToneMapExposure...} \Option{CompensationValueNumerator} &
\Default{0} &
Specifies the numerator of ExposureCompensationValue.
\\
\Option{SEIToneMapExposure...} \Option{CompensationValueDenomIdc} &
\Default{2} &
Specifies the denominator of ExposureCompensationValue.
\\
\Option{SEIToneMapRef...} \Option{ScreenLuminanceWhite} &
\Default{350} &
Specifies reference screen brightness setting in units of candela per square metre.
\\
\Option{SEIToneMapExtended...} \Option{RangeWhiteLevel} &
\Default{800} &
Indicates the luminance dynamic range.
\\
\Option{SEIToneMapNominal...} \Option{BlackLevelLumaCodeValue} &
\Default{16} &
Specifies luma sample value of the nominal black level assigned decoded pictures.
\\
\Option{SEIToneMapNominal...} \Option{WhiteLevelLumaCodeValue} &
\Default{235} &
Specifies luma sample value of the nominal white level assigned decoded pictures.
\\
\Option{SEIToneMapExtended...} \Option{WhiteLevelLumaCodeValue} &
\Default{300} &
Specifies luma sample value of the extended dynamic range assigned decoded pictures.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Frame packing arrangement SEI message encoder parameters}{tab:sei-frame-packing-arrangement}
\Option{SEIFramePacking} &
\Default{0} &
Enables or disables the insertion of the Frame packing arrangement SEI messages.
\\
\Option{SEIFramePackingType} &
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
Indicates the arrangement type in the Frame packing arrangement SEI message.
This option has no effect if SEIFramePacking is disabled.
\par
\begin{tabular}{cp{0.35\textwidth}}
3 & Side by Side \\
4 & Top Bottom \\
5 & Frame Alternate \\
\end{tabular}
\\
\Option{SEIFramePackingInterpretation} &
\Default{0} &
Indicates the constituent frames relationship in the Frame packing arrangement SEI message.
This option has no effect if SEIFramePacking is disabled.
\par
\begin{tabular}{cp{0.35\textwidth}}
0 & Unspecified \\
1 & Frame 0 is associated with the left view of a stereo pair \\
2 & Frame 0 is associated with the right view of a stereo pair \\
\end{tabular}
\\
\Option{SEIFramePackingQuincunx} &
Enables or disables the quincunx_sampling signalling in the
Frame packing arrangement SEI messages. This option has no
effect if SEIFramePacking is disabled.
\\
\Option{SEIFramePackingId} &
\Default{0} &
Indicates the session number in the Frame packing arrangement
SEI messages. This option has no effect if SEIFramePacking is
disabled.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Display orientation SEI message encoder parameters}{tab:sei-display-orientation}
\Option{SEIDisplayOrientationEnabled} &
\Default{false} &
Enables (true) or disables (false) the insertion of the Display orientation SEI messages.
\\
\Option{SEIDisplayOrientationCancelFlag} &
\Default{true} &
Indicates that display orientation SEI message cancels the persistence (true) or follows (false).
\\
\Option{SEIDisplayOrientationPersistenceFlag} &
\Default{false} &
Specifies the persistence of the display orientation SEI message.
\\
\Option{SEIDisplayOrientationTransformType} &
Specifies the rotation and mirroring to be applied to the picture.
\begin{OptionTableNoShorthand}{Green Metadata SEI message encoder parameters}{tab:sei-green-metadata}
\Option{SEIGreenMetadataType} &
\Default{-1} &
Specifies the type of metadata that is present in the SEI message.
\par
\begin{tabular}{cp{0.35\textwidth}}
-1 & Disabled \\
0 & Metadata for decoder complexity metrics \\
1 & Metadata enabling quality recovery after low-power encoding\\
\Option{SEIGreenMetadataPeriodType} &
Indicates the period type of metadata.
0 & Metadata are applicable to a single picture \\
1 & Metadata are applicable to all pictures in decoding order, up to (but not including) the picture containing the next I slice (not implemented) \\
2 & Metadata are applicable to all pictures over a specified time interval in seconds \\
3 & Metadata are applicable over a specified number of pictures counted in decoding order \\
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
\Option{SEIGreenMetadataPeriodTypeSeconds} &
\Default{1} &
Indicates the number of seconds over which metadata should be valid (if SEIGreenMetadataPeriodType == 2)
\\
\Option{SEIGreenMetadataPeriodTypePictures} &
\Default{1} &
Indicates the number of pictures, counted in decoding order, over which metadata should be valid (if SEIGreenMetadataPeriodType == 3)
\\
\Option{SEIGreenMetadataExtendedRepresentation} &
\Default{0} &
Enables or disables the signaling of extended complexity metrics (if SEIGreenMetadataType == 0)
\\
\Option{GMFA} &
\Default{false} &
Enables or disables the output of a file containing analysis statistics for green metadata generation (if SEIGreenMetadataType == 0)
\\
\Option{GMFAFile} &
\Default{} &
File name for GMFA output file.
\\
\Option{GMFAFramewise} &
\Default{false} &
Enables or disables frame-wise output of the statistics. If disabled, statistics are calculated for the complete bit stream.
\\
\Option{SEIXSDMetricNumber} &
\Default{1} &
Number of quality metrics to be signaled (if SEIGreenMetadataType == 1)
\\
\Option{SEIXSDMetricTypePSNR} &
\Default{false} &
Enables or disables sending of PSNR metric.
\\
\Option{SEIXSDMetricTypeSSIM} &
\Default{false} &
Enables or disables sending of SSIM metric.
\\
\Option{SEIXSDMetricTypeWPSNR} &
\Default{false} &
Enables or disables sending of wPSNR metric.
\\
\Option{SEIXSDMetricTypeWSPSNR} &
\Default{false} &
Enables or disables sending of WS-PSNR metric.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Structure of pictures information SEI message encoder parameters}{tab:sei-sop-info}
\Option{SEISOPDescription} &
\Default{0} &
Enables or disables the insertion of the Structure of pictures information SEI messages.
\\
\end{OptionTableNoShorthand}
Rickard Sjöberg
committed
\begin{OptionTableNoShorthand}{Parameter sets inclusion indication SEI message encoder parameters}{tab:sei-parameter-sets-inclusion-indication}
\Option{SEIParameterSetsInclusionIndication} &
Rickard Sjöberg
committed
Enables or disables the insertion of the Parameter sets inclusion SEI messages.
\\
\Option{SEISelfContainedClvsFlag} &
\Default{0} &
When equal to 1, the SEI specifies that the CLVS contains all the required NAL units for decoding the CLVS that is associated with the SEI message and that sublayer up-switching within the CLVS works without a need of fetching parameter sets from PUs earlier in decoding order than the PU containing the picture at which the sublayer up-switching occurs.
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Decoding unit information SEI message encoder parameters}{tab:sei-decoding-unit-info}
\Option{SEIDecodingUnitInfo} &
\Default{0} &
Enables or disables the insertion of the Decoding unit information
SEI messages. This option has no effect if VuiParametersPresent is disabled.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Temporal sub-layer zero index SEI message encoder parameters}{tab:sei-temporal-level-0}
\Option{SEITemporalLevel0Index} &
\Default{0} &
Enables or disables the insertion of the Temporal level zero index
SEI messages.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Decoded picture hash SEI message encoder parameters}{tab:sei-decoded-picture-hash}
\Option{SEIDecodedPictureHash} &
\Default{0} &
Enables or disables the calculation and insertion of the Decoded picture hash
SEI messages.
\par
\begin{tabular}{cp{0.35\textwidth}}
0 & Disabled \\
1 & Transmits MD5 in SEI message and writes the value to the encoder
log \\
2 & Transmits CRC in SEI message and writes the value to the encoder
log \\
3 & Transmits checksum in SEI message and writes the value to the encoder
log \\
\end{tabular}
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Scalable nesting SEI message encoder parameters}{tab:sei-scalable-nesting}
\Option{SEIScalableNesting} &
\Default{0} &

Karsten Suehring
committed
Enables creation of scalable nesting SEI messages for buffering period and picture timing SEI messages.
\\
\Option{SubpicDecodedPictureHash} &
\Default{0} &
Enables creation of decoded picture hash SEI messages for each subpicture and writes these in scalable nesting SEI messages.
\par
\begin{tabular}{cp{0.35\textwidth}}
0 & Disabled \\
1 & MD5 \\
2 & CRCs \\
3 & checksum \\
\end{tabular}
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Region refresh information SEI message encoder parameters}{tab:sei-region-refresh-info}
\Option{SEIGradualDecodingRefreshInfo} &
\Default{0} &
Enables or disables the insertion of the Gradual decoding refresh information
SEI messages.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{No display SEI message encoder parameters}{tab:sei-no-display}
\Option{SEINoDisplay} &
\Default{0} &
When non-zero, generate no-display SEI message for temporal layer N or higher.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Time code SEI message encoder parameters}{tab:sei-time-code}
\Option{SEITimeCodeEnabled} &
\Default{false} &
When true (non-zero), generate Time code SEI messages.
\\
\Option{SEITimeCodeNumClockTs} &
\Default{0} &
Number of clock time sets, in the range of 0 to 3 (inclusive).
\\
\Option{SEITimeCodeTimeStampFlag} &
\Default{\None} &
Time stamp flag associated to each time set (comma or space separated list of entries).
\\
\Option{SEITimeCodeFieldBasedFlag} &
\Default{\None} &
Field based flag associated to each time set (comma or space separated list of entries).
\\
\Option{SEITimeCodeCountingType} &
\Default{\None} &
Counting type associated to each time set (comma or space separated list of entries).
\\
\Option{SEITimeCodeFullTsFlag} &
\Default{\None} &
Full time stamp flag associated to each time set (comma or space separated list of entries).
\\
\Option{SEITimeCodeDiscontinuityFlag} &
\Default{\None} &
Discontinuity flag associated to each time set (comma or space separated list of entries).
\\
\Option{SEITimeCodeCntDroppedFlag} &
\Default{\None} &
Counter dropped flag associated to each time set (comma or space separated list of entries).
\\
\Option{SEITimeCodeNumFrames} &
\Default{\None} &
Number of frames associated to each time set (comma or space separated list of entries).
\\
\Option{SEITimeCodeSecondsFlag} &
\Default{\None} &
Flag to signal seconds value presence in each time set (comma or space separated list of entries).
\\
\Option{SEITimeCodeMinutesFlag} &
\Default{\None} &
Flag to signal minutes value presence in each time set (comma or space separated list of entries).
\\
\Option{SEITimeCodeHoursFlag} &
\Default{\None} &
Flag to signal hours value presence in each time set (comma or space separated list of entries).
\\
\Option{SEITimeCodeSecondsValue} &
\Default{\None} &
Seconds value for each time set (comma or space separated list of entries).
\\
\Option{SEITimeCodeMinutesValue} &
\Default{\None} &
Minutes value for each time set (comma or space separated list of entries).
\\
\Option{SEITimeCodeHoursValue} &
\Default{\None} &
Hours value for each time set (comma or space separated list of entries).
\\
\Option{SEITimeCodeOffsetLength} &
\Default{\None} &
Time offset length associated to each time set (comma or space separated list of entries).
\\
\Option{SEITimeCodeTimeOffset} &
\Default{\None} &
Time offset associated to each time set (comma or space separated list of entries).
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Mastering display colour volume SEI message encoder parameters}{tab:sei-mastering-display-colour-volume}
\Option{SEIMasteringDisplayColourVolume} &
\Default{false} &
When true (non-zero), generate Mastering display colour volume SEI message.
\\
\Option{SEIMasteringDisplayMaxLuminance} &
\Default{10000} &
Specifies the mastering display maximum luminance value in units of 1/10000 candela per square metre.
\\
\Option{SEIMasteringDisplayMinLuminance} &
\Default{0} &
Specifies the mastering display minimum luminance value in units of 1/10000 candela per square metre.
\\
\Option{SEIMasteringDisplayPrimaries} &
\Default{0,50000, 0,0, 50000,0} &
Mastering display primaries for all three colour planes in CIE xy coordinates in increments of 1/50000 (results in the ranges 0 to 50000 inclusive).
\\
\Option{SEIMasteringDisplayWhitePoint} &
\Default{16667, 16667} &
Mastering display white point CIE xy coordinates in normalized increments of 1/50000 (e.g. 0.333 = 16667).
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Segmented rectangular frame packing arrangement SEI message encoder parameters}{tab:sei-seg-rect-fpa}
\Option{SEISegmentedRectFramePacking} &
\Default{0} &
Controls generation of segmented rectangular frame packing SEI messages.
\\
\Option{SEISegmentedRectFramePackingCancel} &
\Default{false} &
If true, cancels the persistence of any previous SRFPA SEI message.
\\
\Option{SEISegmentedRectFramePackingType} &
\Default{0} &
Specifies the arrangement of the frames in the reconstructed picture.
\\
\Option{SEISegmentedRectFramePackingPersistence} &
\Default{false} &
If false the SEI applies to the current frame only.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Temporal motion-constrained tile sets SEI message encoder parameters}{tab:sei-tmcts}
\Option{SEITempMotionConstrainedTileSets} &
\Default{false} &
When true (non-zero), generates example temporal motion constrained tile sets SEI messages.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Chroma resampling filter hint SEI message encoder parameters}{tab:chroma-resampling-filter-hint}
\Option{SEIChromaResamplingFilterHint} &
\Default{false} &
When true (non-zero), generates example chroma sampling filter hint SEI messages.
\\
\Option{SEIChromaResamplingHorizontalFilterType} &
\Default{2} &
Defines the index of the chroma sampling horizontal filter:
\par
\begin{tabular}{cp{0.35\textwidth}}
0 & Unspecified \\
1 & Filters signalled within the SEI message \\
2 & Filters as described by SMPTE RP 2050-1:2012\\
\end{tabular}
\\
\Option{SEIChromaResamplingVerticalFilterType} &
\Default{2} &
Defines the index of the chroma sampling vertical filter:
\par
\begin{tabular}{cp{0.35\textwidth}}
0 & Unspecified \\
1 & Filters signalled within the SEI message \\
2 & Filters as described in the 5/3 filter description of ITU-T Rec. T.800 | ISO/IEC 15444-1\\
\end{tabular}
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Knee function SEI message encoder parameters}{tab:sei-knee-function}
\Option{SEIKneeFunctionInfo} &
\Default{false} &
Enables (true) or disables (false) the insertion of the Knee function SEI messages.
\\
\Option{SEIKneeFunctionId} &
\Default{0} &
Specifies Id of Knee function SEI message for a given session.
\\
\Option{SEIKneeFunctionCancelFlag} &
\Default{false} &
Indicates that Knee function SEI message cancels the persistance (true) or follows (false).
\\
\Option{SEIKneeFunctionPersistenceFlag} &
\Default{true} &
Specifies the persistence of the Knee function SEI message.
\\
\Option{SEIKneeFunctionInputDrange} &
\Default{1000} &
Specifies the peak luminance level for the input picture of Knee function SEI messages.
\\
\Option{SEIKneeFunctionInputDispLuminance} &
\Default{100} &
Specifies the expected display brightness for the input picture of Knee function SEI messages.
\\
\Option{SEIKneeFunctionOutputDrange} &
\Default{4000} &
Specifies the peak luminance level for the output picture of Knee function SEI messages.
\\
\Option{SEIKneeFunctionOutputDispLuminance} &
\Default{800} &
Specifies the expected display brightness for the output picture of Knee function SEI messages.
\\
\Option{SEIKneeFunctionNumKneePointsMinus1} &
\Default{2} &
Specifies the number of knee points - 1.
\\
\Option{SEIKneeFunctionInputKneePointValue} &
\Default{} &
Array of input knee point. Default table can be set to the following:
\par
\begin{tabular}{cp{0.45\textwidth}}
600 800 900
\end{tabular}
\\
\Option{SEIKneeFunctionOutputKneePointValue} &
\Default{} &
Array of output knee point. Default table can be set to the following:
\par
\begin{tabular}{cp{0.45\textwidth}}
100 250 450
\end{tabular}
\\
\end{OptionTableNoShorthand}
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
\begin{OptionTableNoShorthand}{Colour transform information SEI message encoder parameters}{tab:sei-colour-transform}
\Option{SEICTIEnabled} &
\Default{false} &
Enables (true) or disables (false) the insertion of colour transform information (CTI) SEI message.
Examples configuration files for CTI can be found in folder cfg/examples_SEI_CTI.
\\
\Option{SEICTIId} &
\Default{0} &
Specifies the ID of the CTI SEI message.
\\
\Option{SEICTISignalInfoFlag} &
\Default{false} &
Enables (true) or disables (false) the insertion of output signal information after applying the colour transform.
\\
\Option{SEICTIFullRangeFlag} &
\Default{false} &
Specifies the range (true:full, false:limited) of the output signal after applying the colour transform.
\\
\Option{SEICTIPrimaries} &
\Default{0} &
Specifies the colour primaries of the output signal after applying the colour transform.
\\
\Option{SEICTITransferFunction} &
\Default{0} &
Specifies the transfer function (characteristics) of the output signal after applying the colour transform.
\\
\Option{SEICTIMatrixCoefs} &
\Default{0} &
Specifies the matrix coefficients type of the output signal after applying the colour transform.
\\
\Option{SEICTICrossCompFlag} &
\Default{true} &
Enables (true) or disables (false) the cross-component scaling for applying the colour transform.
\\
\Option{SEICTICrossCompInferred} &
\Default{true} &
Infers (true) or signals (false) the cross-component scaling tables for the colour transform.
\\
\Option{SEICTINbChromaLut} &
\Default{0} &
Specifies the number of chroma tables (1 or 2) for the colour transform (only used when SEICTICrossCompInferred = false).
\\
\Option{SEICTILut0} &
\Default{0} &
Specifies the transform table for colour component 0.
\\
\Option{SEICTILut1} &
\Default{0} &
Specifies the transform table for colour component 1 (only used when SEICTICrossCompFlag = false).
\\
\Option{SEICTILut2} &
\Default{0} &
Specifies the transform table for colour component 2 (only used when SEICTINbChromaLut = 2).
\\
\Option{SEICTIChromaOffset} &
\Default{0} &
Specifies the offset to be added to the values of the cross-component scaling tables (only used when SEICTICrossCompInferred = false).
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
\begin{OptionTableNoShorthand}{Equirectangular Projection SEI message encoder parameters}{tab:sei-erp}
\Option{SEIErpEnabled} &
\Default{false} &
Enables (true) or disables (false) the insertion of equirectangular projection SEI message.
\\
\Option{SEIErpCancelFlag} &
\Default{true} &
Indicates that equirectangular projection SEI message cancels the persistence (true) or follows (false).
\\
\Option{SEIErpPersistenceFlag} &
\Default{false} &
Specifies the persistence of the equirectangular projection SEI message.
\\
\Option{SEIErpGuardBandFlag} &
\Default{false} &
Indicates the existence of guard band areas in the constituent picture.
\\
\Option{SEIErpGuardBandType} &
\Default{0} &
Indicates the type of the guard bands.
\\
\Option{SEIErpLeftGuardBandWidth} &
\Default{0} &
Inicates the width of the guard band on the left side of the onstituent picture.
\\
\Option{SEIErpRightGuardBandWidth} &
\Default{0} &
Inicates the width of the guard band on the right side of the onstituent picture.
\\
\end{OptionTableNoShorthand}
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
\begin{OptionTableNoShorthand}{Generalized Cubemap Projection SEI message encoder parameters}{tab:sei-gcmp}
\Option{SEIGcmpEnabled} &
\Default{false} &
Enables (true) or disables (false) the insertion of generalized cubemap projection SEI message.
\\
\Option{SEIGcmpCancelFlag} &
\Default{true} &
Indicates that generalized cubemap projection SEI message cancels the persistence (true) or follows (false).
\\
\Option{SEIGcmpPersistenceFlag} &
\Default{false} &
Specifies the persistence of the generalized cubemap projection SEI message.
\\
\Option{SEIGcmpPackingType} &
\Default{0} &
Specifies the packing type.
\par
\begin{tabular}{cp{0.35\textwidth}}
0 & 6 rows and 1 columns \\
1 & 3 rows and 2 columns \\
2 & 2 rows and 3 columns \\
3 & 1 rows and 6 columns \\
4 & 1 rows and 5 columns (hemisphere cubemap) \\
5 & 5 rows and 1 columns (hemisphere cubemap) \\
\end{tabular}
\\
\Option{SEIGcmpMappingFunctionType} &
\Default{0} &
Specifies the mapping function used to adjust the sample locations.
\par
\begin{tabular}{cp{0.35\textwidth}}
0 & Disabled (conventional cubemap projection) \\
1 & Equi-angular mapping function \\
2 & Defined by SEIGcmpFunctionCoeffU, SEIGcmpFunctionUAffectedByVFlag, SEIGcmpFunctionCoeffV, and SEIGcmpFunctionVAffectedByUFlag \\
\end{tabular}
\\
\Option{SEIGcmpFaceIndex} &
\Default{} &
An array that specifies the face index for the faces packed in the cubemap projected picture.
\par
\begin{tabular}{cp{0.35\textwidth}}
0 & Front face \\
1 & Back face \\
2 & Top face \\
3 & Bottom face \\
4 & Right face \\
5 & Left face \\
\end{tabular}
\\
\Option{SEIGcmpFaceRotation} &
\Default{} &
An array that specifies the rotation to be applied to the faces.
\par
\begin{tabular}{cp{0.35\textwidth}}
0 & No rotation \\
1 & 90 degree anticlockwise \\
2 & 180 degree anticlockwise \\
3 & 270 degree anticlockwise \\
\end{tabular}
\\
\Option{SEIGcmpFunctionCoeffU} &
\Default{} &
An array that specifies the coefficients used in the cubemap mapping function of the u-axis for the faces when SEIGcmpMappingFunctionType is set to 2.
\\
\Option{SEIGcmpFunctionUAffectedByVFlag} &
\Default{} &
An array that specifies whether the cubemap mapping function of the u-axis refers to the v position of the sample location for the faces when SEIGcmpMappingFunctionType is set to 2.
\\
\Option{SEIGcmpFunctionCoeffV} &
\Default{} &
An array that specifies the coefficients used in the cubemap mapping function of the v-axis for the faces when SEIGcmpMappingFunctionType is set to 2.
\\
\Option{SEIGcmpFunctionVAffectedByUFlag} &
\Default{} &
An array that specifies whether the cubemap mapping function of the v-axis refers to the u position of the sample location for the faces when SEIGcmpMappingFunctionType is set to 2.
\\
\Option{SEIGcmpGuardBandFlag} &
\Default{false} &
Indicates the existence of guard band areas in the picture.
\\
\Option{SEIGcmpGuardBandType} &
\Default{0} &
Indicates the type of the guard bands.
\par
\begin{tabular}{cp{0.35\textwidth}}
0 & Unspecified \\
1 & Suffice for interpolation of sample values at sub-pel sample fractional locations within the coded face. \\
2 & Represent actual picture content that is spherically adjacent to the content in the coded face at quality that gradually changes from the picture quality of the coded face to that of the spherically adjacent region. \\
3 & Represent actual picture content that is spherically adjacent to the content in the coded face at a similar picture quality as within the coded face. \\
\end{tabular}
\\
\Option{SEIGcmpGuardBandBoundaryExteriorFlag} &
\Default{false} &
Enables (true) or disables (false) the boundary guard bands.
\\
\Option{SEIGcmpGuardBandSamplesMinus1} &
\Default{0} &
Specifies the number of guard band samples minus 1 used in the cubemap projected picture.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Sphere Rotation SEI message encoder parameters}{tab:sei-sphere-rotation}
\Option{SEISphereRotationEnabled} &
\Default{false} &
Enables (true) or disables (false) the insertion of sphere rotation SEI message.
\\
\Option{SEISphereRotationCancelFlag} &
\Default{true} &
Indicates that the sphere rotation SEI message cancels the persistence (true) or follows (false).
\\
\Option{SEISphereRotationPersistenceFlag} &
\Default{false} &
Specifies the persistence of the sphere rotation SEI message.
\\
\Default{0} &
Specifies the value of the yaw rotation angle.
\\
\Default{0} &
Specifies the value of the pitch rotation angle.
\\
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
\Default{0} &
Specifies the value of the roll rotation angle.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Region-wise packing SEI message encoder parameters}{tab:sei-rwp}
\Option{SEIRwpEnabled} &
\Default{false} &
Enables (true) or disables (false) the insertion of region-wise packing SEI message.
\\
\Option{SEIRwpCancelFlag} &
\Default{true} &
Indicates that RWP SEI message cancels the persistence (true) or follows (false).
\\
\Option{SEIRwpPersistenceFlag} &
\Default{false} &
Specifies the persistence of the RWP SEI message.
\\
\Option{SEIRwpConstituentPictureMatchingFlag} &
\Default{false} &
Specifies the RWP SEI message applies individually to each constituent picture (true) or to the projected picture (false).
\\
\Option{SEIRwpNumPackedRegions} &
\Default{0} &
Specifies the number of packed regions when constituent picture matching flag is equal to 0.
\\
\Option{SEIRwpProjPictureWidth} &
\Default{0} &
Specifies the width of the projected picture.
\\
\Option{SEIRwpProjPictureHeight} &
\Default{0} &
Specifies the height of the projected picture.
\\
\Option{SEIRwpPackedPictureWidth} &
\Default{0} &
Specifies the width of the packed picture.
\\
\Option{SEIRwpPackedPictureHeight} &
\Default{0} &
Specifies the height of the packed picture.
\\
\Option{SEIRwpTransformType} &
\Default{} &
An array that specifies the rotation and mirroring to be applied to the packed regions.
\\
\Option{SEIRwpGuardBandFlag} &
\Default{} &
An array that specifies the existence of guard band in the packed regions.
\\
\Option{SEIRwpProjRegionWidth} &
\Default{} &
An array that specifies the width of the projected regions.
\\
\Option{SEIRwpProjRegionHeight} &
\Default{} &
An array that specifies the height of the projected regions.
\\
\Option{SEIRwpGuardBandFlag} &
\Default{} &
An array that specifies the existence of guard band in the packed regions.
\\
\Option{SEIRwpProjRegionTop} &
\Default{} &
An array that specifies the top sample row of the projected regions.
\\
\Option{SEIRwpProjRegionLeft} &
\Default{} &
An array that specifies the left-most sample column of the projected regions.
\\
\Option{SEIRwpPackedRegionWidth} &
\Default{} &
An array that specifies the width of the packed regions.
\\
\Option{SEIRwpPackedRegionHeight} &
\Default{} &
An array that specifies the height of the packed regions.
\\
\Option{SEIRwpPackedRegionTop} &
\Default{} &
An array that specifies the top luma sample row of the packed regions.
\\
\Option{SEIRwpPackedRegionLeft} &
\Default{} &
An array that specifies the left-most luma sample column of the packed regions.
\\
\Option{SEIRwpLeftGuardBandWidth} &
\Default{} &
An array that specifies the width of the guard band on the left side of the packed regions.
\\
\Option{SEIRwpRightGuardBandWidth} &
\Default{} &
An array that specifies the width of the guard band on the right side of the packed regions.
\\
\Option{SEIRwpTopGuardBandHeight} &
\Default{} &
An array that specifies the height of the guard band above the packed regions.
\\
\Option{SEIRwpBottomGuardBandHeight} &
\Default{} &
An array that specifies the height of the guard band below the packed regions.
\\
\Option{SEIRwpGuardBandNotUsedForPredFlag} &
\Default{} &
An array that specifies if the guard bands is used in the inter prediction process.
\\
\Option{SEIRwpGuardBandType} &
\Default{} &
An array that specifies the type of the guard bands for the packed regions.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Omni Viewport SEI message encoder parameters}{tab:sei-omni-viewport}
\Option{SEIOmniViewportEnabled} &
\Default{false} &
Enables (true) or disables (false) the insertion of omni viewport SEI message.
\\
\Option{SEIOmniViewportId} &
\Default{0} &
Contains an identifying number that may be used to identify the purpose of the one or more recommended viewport regions.
\\
\Option{SEIOmniViewportCancelFlag} &
\Default{true} &
Indicates that the omni viewport SEI message cancels the persistence (true) or follows (false).
\\
\Option{SEIOmniViewportPersistenceFlag} &
\Default{false} &
Specifies the persistence of the omni viewport SEI message.
\\
\Option{SEIOmniViewportCntMinus1} &
\Default{0} &
Specifies the number of recommended viewport regions minus 1.
\\
\Option{SEIOmniViewportAzimuthCentre} &
\Default{} &
An array that indicates the centre of the i-th recommended viewport region.
\\
\Option{SEIOmniViewportElevationCentre} &
\Default{} &
An array that indicates the centre of the i-th recommended viewport region.
\\
\Option{SEIOmniViewportTiltCentre} &
\Default{} &
An array that indicates the tilt angle of the i-th recommended viewport region.
\\
\Option{SEIOmniViewportHorRange} &
\Default{} &
An array that indicates the azimuth range of the i-th recommended viewport region.
\\
\Option{SEIOmniViewportVerRange} &
\Default{} &
An array that indicates the elevation range of the i-th recommended viewport region.
\\
\end{OptionTableNoShorthand}
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
\begin{OptionTableNoShorthand}{Sample Aspect Ratio Information SEI message encoder parameters}{tab:sei-sari}
\Option{SEISampleAspectRatioInfo} &
\Default{false} &
Enables (true) or disables (false) the insertion of Sample Aspect Ratio Information SEI message.
\\
\Option{SEISARICancelFlag} &
\Default{true} &
Indicates that the Sample Aspect Ratio Information SEI message cancels the persistence (true) or follows (false).
\\
\Option{SEISARIPersistenceFlag} &
\Default{false} &
Specifies the persistence of the Sample Aspect Ratio Information SEI message.
\\
\Option{SEISARIAspectRatioIdc} &
\Default{0} &
Specifies aspect ratio IDC as defined in the standard.
\\
\Option{SEISARISarWidth} &
\Default{0} &
Specifies the horizontal size of the sample aspect ratio, if SEISARIAspectRatioIdc is equal to 255.
\\
\Option{SEISARISarHeight} &
\Default{0} &
Specifies the vertical size of the sample aspect ratio, if SEISARIAspectRatioIdc is equal to 255.
\\
\end{OptionTableNoShorthand}
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
\begin{OptionTableNoShorthand}{Scalability Dimension Information SEI message encoder parameters}{tab:sei-sdi}
\Option{SEISDIEnabled} &
\Default{false} &
Enables (true) or disables (false) the insertion of Scalability Dimension Information SEI message.
\\
\Option{SEISDIMaxLayersMinus1} &
\Default{0} &
Specifies the maximum number of layers minus 1 in the current CVS.
\\
\Option{SEISDIMultiviewInfoFlag} &
\Default{false} &
Specifies the current CVS may have multiple views and the sdi_view_id_val[ ] syntax elements are present in the scalaibility dimension information SEI message.
\\
\Option{SEISDIAuxiliaryInfoFlag} &
\Default{false} &
Specifies that one or more layers in the current CVS may be auxiliary layers, which carry auxiliary information, and the sdi_aux_id[ ] syntax elements are present in the scalaibility dimension information SEI message.
\\
\Option{SEISDIViewIdLenMinus1} &
\Default{0} &
Specifies the length, in bits, of the sdi_view_id_val[ i ] syntax element minus 1 in the scalaibility dimension information SEI message.
\\
\Option{SEISDILayerId} &
\Default{""} &
List of the layer identifiers that may be present in the scalaibility dimension information SEI message in the current CVS.
\\
\Option{SEISDIViewIdVal} &
\Default{""} &
List of the view identifiers in the scalaibility dimension information SEI message.
\\
\Option{SEISDIAuxId} &
\Default{""} &
List of the auxiliary identifiers in the scalaibility dimension information SEI message.
\\
\Option{SEISDINumAssociatedPrimaryLayersMinus1} &
\Default{""} &
List of the numbers of associated primary layers of i-th layer, which is an auxiliary layer.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Alpha Channel Information SEI message encoder parameters}{tab:sei-aci}
\Option{SEIACIEnabled} &
\Default{false} &
Enables (true) or disables (false) the insertion of Alpha Channel Information SEI message.
\\
\Option{SEIACICancelFlag} &
\Default{false} &
Specifies the persistence of any previous alpha channel information SEI message in output order.
\\
\Option{SEIACIUseIdc} &
\Default{0} &
Specifies the usage of the auxiliary picture in the alpha channel information SEI message.
\\
\Option{SEIACIBitDepthMinus8} &
\Default{0} &
Specifies the bit depth of the samples of the auxiliary picture in the alpha channel information SEI message.
\\
\Option{SEIACITransparentValue} &
\Default{0} &
Specifies the interpretation sample value of an auxiliary coded picture luma sample for which the associated luma and chroma samples of the primary coded picture are considered transparent for purposes of alpha blending in the alpha channel information SEI message.
\\
\Option{SEIACIOpaqueValue} &
\Default{0} &
Specifies the interpretation sample value of an auxiliary coded picture luma sample for which the associated luma and chroma samples of the primary coded picture are considered opaque for purposes of alpha blending in the alpha channel information SEI message.
\\
\Option{SEIACIIncrFlag} &
\Default{false} &
Specifies the interpretation sample value for each decoded auxiliary picture luma sample value is equal to the decoded auxiliary picture sample value for purposes of alpha blending in the alpha channel information SEI message.
\\
\Option{SEIACIClipFlag} &
\Default{false} &
Specifies whether clipping operation is applied in the alpha channel information SEI message.
\\
\Option{SEIACIClipTypeFlag} &
\Default{false} &
Specifies the type of clipping operation in the alpha channel information SEI message.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Depth Representation Information SEI message encoder parameters}{tab:sei-dri}
\Option{SEIDRIEnabled} &
\Default{false} &
Enables (true) or disables (false) the insertion of Depth Representation Information SEI message.
\\
\Option{SEIDRIZNearFlag} &
\Default{false} &
Specifies the presence of the nearest depth value in the depth representation information SEI message.
\\
\Option{SEIDRIZFarFlag} &
\Default{false} &
Specifies the presence of the farthest depth value in the depth representation information SEI message.
\\
\Option{SEIDRIDMinFlag} &
\Default{false} &
Specifies the presence of the minimum disparity value in the depth representation information SEI message.
\\
\Option{SEIDRIDMaxFlag} &
\Default{false} &
Specifies the presence of the maximum disparity value in the depth representation information SEI message.
\\
\Option{SEIDRIZNear} &
\Default{0.0} &
Specifies the nearest depth value in the depth representation information SEI message.
\\
\Option{SEIDRIZFar} &
\Default{0.0} &
Specifies the farest depth value in the depth representation information SEI message.
\\
\Option{SEIDRIDMin} &
\Default{0.0} &
Specifies the minimum disparity value in the depth representation information SEI message.
\\
\Option{SEIDRIDMax} &
\Default{0.0} &
Specifies the maximum disparity value in the depth representation information SEI message.
\\
\Option{SEIDRIDepthRepresentationType} &
\Default{0} &
Specifies the the representation definition of decoded luma samples of auxiliary pictures in the depth representation information SEI message.
\\
\Option{SEIDRIDisparityRefViewId} &
\Default{0} &
Specifies the ViewId value against which the disparity values are derived in the depth representation information SEI message.
\\
\Option{SEIDRINonlinearNumMinus1} &
\Default{0} &
Specifies the number of piece-wise linear segments minus 2 for mapping of depth values to a scale that is uniformly quantized in terms of disparity in the depth representation information SEI message.
\\
\Option{SEIDRINonlinearModel} &
\Default{""} &
List of the piece-wise linear segments for mapping of decoded luma sample values of an auxiliary picture to a scale that is uniformly quantized in terms of disparity in the depth representation information SEI message.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Multiview Acquisition Information SEI message encoder parameters}{tab:sei-mai}
\Option{SEIMAIEnabled} &
\Default{false} &
Enables (true) or disables (false) the insertion of Multiview Acquisition Information SEI message.
\\
\Option{SEIMAIIntrinsicParamFlag} &
\Default{false} &
Specifies the presence of intrinsic camera parameters in the multiview acquisition information SEI message.
\\
\Option{SEIMAIExtrinsicParamFlag} &
\Default{false} &
Specifies the presence of extrinsic camera parameters in the multiview acquisition information SEI message.
\\
\Option{SEIMAINumViewsMinus1} &
\Default{0} &
Specifies the number of views minus 1 in the multiview acquisition information SEI message.
\\
\Option{SEIMAIIntrinsicParamsEqualFlag} &
\Default{false} &
Specifies the intrinsic camera parameters are equal for all cameras in the multiview acquisition information SEI message.
\\
\Option{SEIMAIPrecFocalLength} &
\Default{0} &
Specifies the exponent of the maximum allowable truncation error for focal_length_x[i] and focal_length_y[i] in the multiview acquisition information SEI message.
\\
\Option{SEIMAIPrecPrincipalPoint} &
\Default{0} &
Specifies the exponent of the maximum allowable truncation error for principal_point_x[i] and principal_point_y[i] in the multiview acquisition information SEI message.
\\
\Option{SEIMAIPrecSkewFactor} &
\Default{0} &
Specifies the exponent of the maximum allowable truncation error for skew factor in the multiview acquisition information SEI message.
\\
\Option{SEIMAISignFocalLengthX} &
\Default{""} &
List of the signs of the focal length of the camera in the horizontal direction in the multiview acquisition information SEI message.
\\
\Option{SEIMAIExponentFocalLengthX} &
\Default{""} &
List of the exponent parts of the focal length of the camera in the horizontal direction. in the multiview acquisition information SEI message.
\\
\Option{SEIMAIMantissaFocalLengthX} &
\Default{""} &
List of the mantissa parts of the focal length of the camera in the horizontal direction in the multiview acquisition information SEI message.
\\
\Option{SEIMAISignFocalLengthY} &
\Default{""} &
List of the signs of the focal length of the camera in the vertical direction in the multiview acquisition information SEI message.
\\
\Option{SEIMAIExponentFocalLengthY} &
\Default{""} &
List of the exponent parts of the focal length of the camera in the vertical direction in the multiview acquisition information SEI message.
\\
\Option{SEIMAIMantissaFocalLengthY} &
\Default{""} &
List of the mantissa parts of the focal length of the camera in the vertical direction in the multiview acquisition information SEI message.
\\
\Option{SEIMAISignPrincipalPointX} &
\Default{""} &
List of the signs of the principal point of the camera in the horizontal direction in the multiview acquisition information SEI message.
\\
\Option{SEIMAIExponentPrincipalPointX} &
\Default{""} &
List of the exponent parts of the principal point of the camera in the horizontal direction in the multiview acquisition information SEI message.
\\
\Option{SEIMAIMantissaPrincipalPointX} &
\Default{""} &
List of the mantissa parts of the principal point of the camera in the horizontal direction in the multiview acquisition information SEI message.
\\
\Option{SEIMAISignPrincipalPointY} &
\Default{""} &
List of the signs of the principal point of the camera in the vertical direction in the multiview acquisition information SEI message.
\\
\Option{SEIMAIExponentPrincipalPointY} &
\Default{""} &
List of the exponent parts of the principal point of the camera in the vertical direction in the multiview acquisition information SEI message.
\\
\Option{SEIMAIMantissaPrincipalPointY} &
\Default{""} &
List of the mantissa parts of the principal point of the camera in the vertical direction in the multiview acquisition information SEI message.
\\
\Option{SEIMAISignSkewFactor} &
\Default{""} &
List of the signs of the skew factor of the camera in the multiview acquisition information SEI message.
\\
\Option{SEIMAIExponentSkewFactor} &
\Default{""} &
List of the exponent parts of the skew factor of the camera in the multiview acquisition information SEI message.
\\
\Option{SEIMAIMantissaSkewFactor} &
\Default{""} &
List of the mantissa parts of the skew factor of the camera in the multiview acquisition information SEI message.
\\
\Option{SEIMAIPrecRotationParam} &
\Default{0} &
Specifies the exponent of the maximum allowable truncation error for rotation in the multiview acquisition information SEI message.
\\
\Option{SEIMAIPrecTranslationParam} &
\Default{0} &
Specifies the exponent of the maximum allowable truncation error for translation in the multiview acquisition information SEI message.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Multiview View Position SEI message encoder parameters}{tab:sei-mvp}
\Option{SEIMVPEnabled} &
\Default{false} &
Enables (true) or disables (false) the insertion of Multiview View Position SEI message.
\\
\Option{SEIMVPNumViewsMinus1} &
\Default{0} &
Specifies the number of views minus 1 in the multiview view position SEI message.
\\
\Option{SEIMVPViewPosition} &
\Default{""} &
List of the view position in the multiview view position SEI message.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Frame-Field Information SEI message encoder parameters}{tab:sei-frame-field}
\Option{SEIFrameFieldInfo} &
\Default{false} &
Enables (true) or disables (false) the insertion of Frame-Field Information SEI message.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{SEI manifest SEI message encoder parameters}{tab:sei-sei-manifest}
\Option{SEISEIManifestEnabled} &
\Default{false} &
Enables (true) or disables (false) the SEI manifest SEI message.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{SEI prefix indication SEI message encoder parameters}{tab:sei-sei-prefix-indication}
\Option{SEISEIPrefixIndicationEnabled} &
\Default{false} &
Enables (true) or disables (false) the SEI prefix indication SEI message.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Annotated Regions SEI message encoder parameters}{tab:sei-annotated-regions}
\Option{SEIAnnotatedRegionsFileRoot (-cri)} &
\Default{\NotSet} &
Specifies the prefix of input Annotated Regions file. Prefix is completed by ``_x.txt'' where x is the POC number.
The contents of the file are a list of the SEI message's syntax element names (in decoding order) immediately followed by a `:' and then the associated value.
An example file can be found in cfg/sei_vui/annotated_regions/anno_reg_0.txt.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Subpicture Level Information SEI message encoder parameters}{tab:sei-subpic-level}
\Option{SEISubpictLevelInfoEnabled} &
\Default{false} &
Enables (true) or disables (false) the insertion of Subpicture Level Information SEI message.
Note, currently no other configuration options are available, because this depends on the number of subpictures,
which are still not supported in the software. An example SEI with dummy values is generated, when the option is enabled.
\\
\Option{SEISubpicLevelInfoExplicitFraction} &
\Default{false} &
Enable signalling of explicit fraction for each level and subpicture
\\
\Option{SEISubpicLevelInfoNumSubpics} &
\Default{1} &
Number of subpictures in context of the SEI. Has to be equal to NumSubpics
\\
\Option{SEISubpicLevelInfoMaxSublayers} &
\Default{1} &
Number of sublayers in context of the SEI. Has to be equal to vps_max_sublayers_minus1 + 1
\\
\Option{SEISubpicLevelInfoSublayerInfoPresentFlag} &
\Default{false} &
Enable signalling of level information for each sublayer
\par
\begin{tabular}{cp{0.45\textwidth}}
1 & Each sublayer specifies its own level information \\
0 & All sublayers use the same level information \\
\end{tabular}
\\
\Option{SEISubpicLevelInfoNonSubpicLayersFractions} &
\Default{""} &
List of fractions of levels to be signalled for non-subpicture layers. Each value in the list shall be in the range 0 to 255.
\par
\begin{tabular}{p{0.49\columnwidth}}
When sli_sublayer_info_present_flag = 0, the number of input elements shall be equal to numReflevels. List is ordered by level.\\
When sli_sublayer_info_present_flag = 1, the number of input elements shall be equal to numReflevels * maxSublayers. List is ordered by level then sublayer. For example, let Amn denotes the reference level indices for the m-th sublayer and and n-th reference level, the first N elements (A00...A0n-1) denotes the RefLevelFractions for N levels in the 0-th sublayer, and the following N elements (A10...A1n-1) denotes the RefLevelFractions for N levels in the 1st sublayer, and so on, untill all MxN elements specified.\\
\end{tabular}
\\
\Option{SEISubpicLevelInfoRefLevels} &
\Default{""} &
List of reference levels to be signalled.
\par
\begin{tabular}{p{0.49\columnwidth}}
When sli_sublayer_info_present_flag = 0, the number of input elements shall be equal to numReflevels. List is ordered by level.\\
When sli_sublayer_info_present_flag = 1, the number of input elements shall be equal to numReflevels * maxSublayers. List is ordered by level then sublayer. For example, let Amn denotes the reference level indices for the m-th sublayer and and n-th reference level, the first N elements (A00...A0n-1) denotes the RefLevelFractions for N levels in the 0-th sublayer, and the following N elements (A10...A1n-1) denotes the RefLevelFractions for N levels in the 1st sublayer, and so on, untill all MxN elements specified.\\
\end{tabular}
\\
\Option{SEISubpicLevelInfoRefLevelFractions} &
List of fractions of levels to be signalled. Each value in the list shall be in the range 0 to 255.
\par
\begin{tabular}{p{0.49\columnwidth}}
When sli_sublayer_info_present_flag = 0, the number of input elements shall be equal to numSubpics * numReflevels. List is ordered by subpicture then level.\\
When sli_sublayer_info_present_flag = 1, the number of elements shall be equal to numSubpics * numReflevels * maxSublayers. List is ordered by subpicture then level then sublayer. For example, let Bmnk denotes the reference level fractions for the m-th sublayer and n-th reference level and k-th subpicture, the first K elements (B000...B00k-1) denotes the RefLevelFractions for K subpictures in the 0-th levels and 0-th sublayer, and followed by K elements (B010...B0n-1k-1) denotes the RefLevelFractions for K subpictures in the 1st level and 0-th sublayer, and so on, untill all M*N*K elements specified. In another word, among all the specified M*N*K elements, the first N*K elements specify RefLevelFractions for N*K subpictures of N levels in the 0-th sublayer, and the following N*K elements specify RefLevelFractions for N*K subpictures of N levels in the 1st sublayer, and etc.\\
\end{tabular}
\\
\end{OptionTableNoShorthand}
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
\begin{OptionTableNoShorthand}{Content light level info SEI message encoder parameters}{tab:sei-content-light-level}
\Option{SEICLLEnabled} &
\Default{false} &
Enables or disables the insertion of the content light level SEI message.
\\
\Option{SEICLLMaxContentLightLevel} &
\Default{4000} &
When not equal to 0, specifies an upper bound on the maximum light level among all individual samples in a 4:4:4 representation of red, green, and blue colour primary intensities in the linear light domain for the pictures of the CLVS, in units of candelas per square metre. When equal to 0, no such upper bound is indicated.
\\
\Option{SEICLLMaxPicAvgLightLevel} &
\Default{0} &
When not equal to 0, specifies an upper bound on the maximum average light level among the samples in a 4:4:4 representation of red, green, and blue colour primary intensities in the linear light domain for any individual picture of the CLVS, in units of candelas per square metre. When equal to 0, no such upper bound is indicated.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Alternative transfer characteristics SEI message encoder parameters}{tab:sei-alternative-transfer-characteristics}
\Option{SEIPreferredTransferCharacteristics} &
\Default{18} &
Indicates a preferred alternative value for the transfer_characteristics syntax element that is indicated by the colour description syntax of VUI parameters.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Ambient viewing environment SEI message encoder parameters}{tab:sei-ambient-viewing-environment}
\Option{SEIAVEEnabled} &
\Default{false} &
Enables or disables the insertion of the ambient viewing environment SEI message.
\\
\Option{SEIAVEAmbientIlluminance} &
\Default{100000} &
Specifies the environmental illuminance of the ambient viewing environment in units of 1/10000 lux. The value shall not be 0.
\\
\Option{SEIAVEAmbientLightX} &
\Default{15635} &
Specifies the x chromaticity coordinate, according to the CIE 1931 definition, of the environmental ambient light in the nominal viewing environment in normalized increments of 1/50000. The value shall be in the range of 0 to 50,000, inclusive.
\\
\Option{SEIAVEAmbientLightY} &
\Default{16450} &
Specifies the y chromaticity coordinate, according to the CIE 1931 definition, of the environmental ambient light in the nominal viewing environment in normalized increments of 1/50000. The value shall be in the range of 0 to 50,000, inclusive.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Content colour volume SEI message encoder parameters}{tab:sei-content-colour-volume}
\Option{SEICCVEnabled} &
\Default{false} &
Enables or disables the insertion of the content colour volume SEI message.
\\
\Option{SEICCVCancelFlag} &
\Default{0} &
Specifies the persistence of any previous content colour volume SEI message in output order.
\\
\Option{SEICCVPersistenceFlag} &
\Default{1} &
Specifies the persistence of the content colour volume SEI message for the current layer.
\\
\Option{SEICCVPrimariesPresent} &
\Default{1} &
Specifies whether the CCV primaries are present in the content colour volume SEI message.
\\
\Option{m_ccvSEIPrimariesX0} &
\Default{0.300} &
Specifies the x coordinate, according to the CIE 1931 definition, of the first (green) colour primary component in normalized increments of 1/50000.
\\
\Option{m_ccvSEIPrimariesY0} &
\Default{0.600} &
Specifies the y coordinate, according to the CIE 1931 definition, of the first (green) colour primary component in normalized increments of 1/50000.
\\
\Option{m_ccvSEIPrimariesX1} &
\Default{0.150} &
Specifies the x coordinate, according to the CIE 1931 definition, of the second (blue) colour primary component in normalized increments of 1/50000.
\\
\Option{m_ccvSEIPrimariesY1} &
\Default{0.060} &
Specifies the y coordinate, according to the CIE 1931 definition, of the second (blue) colour primary component in normalized increments of 1/50000.
\\
\Option{m_ccvSEIPrimariesX2} &
\Default{0.640} &
Specifies the x coordinate, according to the CIE 1931 definition, of the third (red) colour primary component in normalized increments of 1/50000.
\\
\Option{m_ccvSEIPrimariesY2} &
\Default{0.330} &
Specifies the y coordinate, according to the CIE 1931 definition, of the third (red) colour primary component in normalized increments of 1/50000.
\\
\Option{SEICCVMinLuminanceValuePresent} &
\Default{1} &
Specifies whether the CCV min luminance value is present in the content colour volume SEI message.
\\
\Option{SEICCVMinLuminanceValue} &
\Default{0.0} &
specifies the CCV min luminance value in the content colour volume SEI message.
\\
\Option{SEICCVMaxLuminanceValuePresent} &
\Default{1} &
Specifies whether the CCV max luminance value is present in the content colour volume SEI message.
\\
\Option{SEICCVMaxLuminanceValue} &
\Default{0.1} &
specifies the CCV max luminance value in the content colour volume SEI message.
\\
\Option{SEICCVAvgLuminanceValuePresent} &
\Default{1} &
Specifies whether the CCV avg luminance value is present in the content colour volume SEI message.
\\
\Option{SEICCVAvgLuminanceValue} &
\Default{0.01} &
specifies the CCV avg luminance value in the content colour volume SEI message.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Constrained RASL encoding for bitstream switching}{tab:sei-constrained-rasl-encoding}
\Option{SEIConstrainedRASL} &
\Default{false} &
When true (non-zero), the SEI enables several restrictions for encoding RASL frames: CCLM estimation is skipped in intra search, TMVP is disabled and PH syntax ph_dmvr_disabled_flag is set to 1.
\\
\end{OptionTableNoShorthand}
Jeeva Raj A
committed
\begin{OptionTableNoShorthand}{Shutter Interval Information SEI message encoder parameters}{tab:sei-sii}
\Option{SEIShutterIntervalEnabled} &
\Default{false} &
Enables (true) or disables (false) the insertion of Shutter Interval Information SEI message.
\\
\Option{SEISiiTimeScale} &
\Default{27000000} &
Specifies sii_time_scale.
\\
\Option{SEISiiInputNumUnitsInShutterInterval} &
\Default{false} &
Specifies sii_num_units_in_shutter_interval for single entry.If multiple entries, the values are set to sub_layer_num_units_in_shutter_interval[ ] corresponding to each temporal sub layer starting from temporal layer id 0.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Neural network post-filter characteristics}{tab:sei-nn-post-filter-characteristics}
\Option{SEINNPFCEnabled} &
\Default{false} &
Enables (true) or disables (false) the insertion of the neural network post-filter characteristics SEI message.
\\
Antti Hallapuro
committed
\Default{false} &
Code NNPFC SEI either as suffix (true) or prefix (false) SEI message.
\\
\Option{SEINNPFCNumFilters} &
\Default{0} &
Specifies the number of neural network post-filters.
\\
\Option{SEINNPFCId\emph{i}} &
\Default{0} &
Specifies the id of the \emph{i}-th neural network post-filter.
\\
\Option{SEINNPFCModeIdc\emph{i}} &
\Default{0} &
Specifies the nnpfc_mode_idc of the \emph{i}-th neural network post-filter.
\\
\Option{SEINNPFCUriTag{i}} &
Maria Santamaria
committed
\Default{""} &
specifies that the post-processing filter of the \emph{i}-th neural network post-filter is a neural network identified by a specified tag URI.
\\
\Option{SEINNPFCUri{i}} &
Maria Santamaria
committed
\Default{""} &
specifies that the post-processing filter of the \emph{i}-th neural network post-filter is a neural network information URI.
\\
\Option{SEINNPFCPropertyPresentFlag\emph{i}} &
Maria Santamaria
committed
\Default{false} &
When true (non-zero) specifies, for the \emph{i}-th neural network post-filter, that the filter input formatting, output formatting, and complexity are present.
Maria Santamaria
committed
\\
\Option{SEINNPFCBaseFlag\emph{i}} &
\Default{false} &
When true (non-zero) specifies, for the \emph{i}-th neural network post-filter, that the filter is a base filter.
\\
\Option{SEINNPFCPurpose\emph{i}} &
\Default{0} &
Specifies the purpose of the \emph{i}-th neural network post-filter.
\par
\begin{tabular}{cp{0.28\textwidth}}
0 & Determined by the application \\
(nnpfc\_purpose \& 0x01) != 0 & Visual quality improvement \\
(nnpfc\_purpose \& 0x02) != 0 & Chroma upsampling from the 4:2:0 chroma format to the 4:2:2 or 4:4:4 chroma format, or from the 4:2:2 chroma format to the 4:4:4 chroma format \\
(nnpfc\_purpose \& 0x04) != 0 & Resolution upsampling (increasing the width or height) \\
(nnpfc\_purpose \& 0x08) != 0 & Frame rate upsampling \\
(nnpfc\_purpose \& 0x10) != 0 & Bit depth upsampling \\
(nnpfc\_purpose \& 0x20) != 0 & Colourization \\
\Option{SEINNPFCOutSubCFlag\emph{i}} &
Specifies the values of outSubWidthC and outSubHeightC
\par
\begin{tabular}{cp{0.4\textwidth}}
true & outSubWidthC is equal to 1 and outSubHeightC is equal to 1 \\
false & outSubWidthC is equal to 2 and outSubHeightC is equal to 1 \\
\end{tabular}
\\
\Option{SEINNPFCOutColourFormatIdc\emph{i}} &
\Default{0} &
Specifies the colour format of the NNPF output.
\par
\begin{tabular}{cp{0.4\textwidth}}
1 & The colour format of the NNPF output is the 4:2:0 format \\
2 & The colour format of the NNPF output is the 4:2:2 format \\
3 & The colour format of the NNPF output is the 4:4:4 format \\
\end{tabular}
\\
Hendry
committed
\Option{SEINNPFCPicWidthNumerator\emph{i}} &
\Default{1} &
Specifies the output picture width numerator (relative to the input picture size) for the \emph{i}-th neural network post-filter.
Hendry
committed
\Option{SEINNPFCPicWidthDenominator\emph{i}} &
\Default{1} &
Specifies the output picture width denominator (relative to the input picture size) for the \emph{i}-th neural network post-filter.
\\
\Option{SEINNPFCPicHeightNumerator\emph{i}} &
\Default{1} &
Specifies the output picture height numerator (relative to the input picture size) for the \emph{i}-th neural network post-filter.
\\
\Option{SEINNPFCPicHeightDenominator\emph{i}} &
\Default{1} &
Specifies the output picture height denominator (relative to the input picture size) for the \emph{i}-th neural network post-filter.
\Option{SEINNPFCComponentLastFlag\emph{i}} &
\Default{false} &
Specifies, for the \emph{i}-th neural network post-filter, the location of the channel component in the input and output tensors.
\par
\begin{tabular}{cp{0.43\textwidth}}
true & Specifies that the last dimension in the input tensor to the \emph{i}-th neural network post-filter and the output tensor outputTensor resulting from the \emph{i}-th neural network post-filter is used for the channel. \\
false & Specifies that the second dimension in the input tensor to the \emph{i}-th neural network post-filter and the output tensor resulting from the \emph{i}-th neural network post-filter is used for the channel. \\
\end{tabular}
\\
\Option{SEINNPFCInpFormatIdc\emph{i}} &
Specifies the method of converting a sample value of the decoded picture to an input value to the \emph{i}-th neural network post-filter.
\par
\begin{tabular}{cp{0.45\textwidth}}
0 & Real numbers where the value range is 0 to 1, inclusive. \\
1 & Unsigned integer value range of 0 to the bit depth indicated for the input tensor (see syntax element below).
\end{tabular}
\Option{SEINNPFCInpTensorBitLumaDepthMinusEight\emph{i}} &

Karsten Suehring
committed
Specifies the bit depth of the input luma tensor - 8 for the \emph{i}-th neural network post-filter, when nnpfc_inp_format_idc is equal to 1.
Philip Cowan
committed
\\
\Option{SEINNPFCInpTensorBitDepthChromaMinusEight\emph{i}} &
Philip Cowan
committed
\Default{0} &

Karsten Suehring
committed
Specifies the bit depth of the input chroma tensor - 8 for the \emph{i}-th neural network post-filter, when nnpfc_inp_format_idc is equal to 1.
\Option{SEINNPFCAuxInpIdc\emph{i}} &
\Default{0} &
Specifies that auxiliary input data may be present in the neural network input tensor for any allowed luma-only, chroma-only, and luma-chroma configuration.
\\
\Option{SEINNPFCSepColDescriptionFlag\emph{i}} &
\Default{false} &
Specifies that the colour primaries, transfer characteristics, and matrix coefficients of the picture that results from the neural-network post filtering may be different than for the input to the filter.
\par

Karsten Suehring
committed
When true (non-zero) the syntax elements nnpfc_colour_primaries, nnpfc_transfer_characteristic, and nnpfc_matrix_coeffs specify the colour primaries, transfer characteristics, and matrix coefficients of the picture that results from the neural-network post filtering.
\par
When false the syntax elements nnpfc_colour_primaries, nnpfc_transfer_chracteristics, and nnpfc_matrix_coeffs are assumed to be the same as the input to the filter.
\Option{SEINNPFCFullRangeFlag\emph{i}} &
\Default{false} &
Specifies scaling and offset values applied in association with the matrix coefficients as specified by nnpfc_matrix_coeff.
\par
Semantics of nnpfc_full_range_flag are as specified for the VideoFullRangeFlag parameter in Rec. ITU-T H.273 | ISO/IEC 23091-2
\\
\Option{SEINNPFCColPrimaries\emph{i}} &
\Default{0} &
Specifies the colour primaries of the picture resulting from applying the neural-network post-filter specified in the SEI message, rather than the colour primaries used for the CLVS.
\\
\Option{SEINNPFCTransCharacteristics\emph{i}} &
\Default{0} &
Specifies the transfer characteristics of the picture resulting from applying the neural-network post-filter specified in the SEI message, rather than the transfer characteristics used for the CLVS.
\\
\Option{SEINNPFCMatrixCoeffs\emph{i}} &
\Default{0} &
Specifies the matrix coefficients of the picture resulting from applying the neural-network post-filter specified in the SEI message, rather than the matrix coefficients used for the CLVS
\\
\Option{SEINNPFCInpOrderIdc\emph{i}} &
\Default{0} &
Specifies the method of ordering the input sample arrays for the \emph{i}-th neural network post-filter.
\par
\begin{tabular}{cp{0.46\textwidth}}
0 & Only the luma matrix is present in the input tensor, thus the number of channels is 1 \\
1 & Only the chroma matrices are present in the input tensor, thus the number of channels is 2 \\
2 & The luma and chroma matrices are present in the input tensor, thus the number of channels is 3 \\
3 & Four luma matrices, two chroma matrices, and a quantization parameter matrix are present in the input tensor, thus the number of channels is 7 \\
\end{tabular}
\\
\Option{SEINNPFCOutFormatIdc\emph{i}} &
Specifies the sample values output by the \emph{i}-th neural network post-filter.
\par
\begin{tabular}{cp{0.46\textwidth}}
0 & Real numbers where the value range is 0 to 1, inclusive. \\
1 & Unsigned integer numbers where the value range is 0 to $(1 << bitDepth) - 1$ inclusive.
\end{tabular}
\Option{SEINNPFCOutTensorBitDepthLumaMinusEight\emph{i}} &
Philip Cowan
committed
\Default{0} &

Karsten Suehring
committed
Specifies the bit depth of the output luma tensor - 8 for the \emph{i}-th neural network post-filter, when nnpfc_out_format_idc is equal to 1.
Philip Cowan
committed
\\
\Option{SEINNPFCOutTensorBitDepthChromaMinusEight\emph{i}} &

Karsten Suehring
committed
Specifies the bit depth of the output chroma tensor - 8 for the \emph{i}-th neural network post-filter, when nnpfc_out_format_idc is equal to 1.
\Option{SEINNPFCOutOrderIdc\emph{i}} &
\Default{0} &
Specifies the method of ordering the output sample arrays for the \emph{i}-th neural network post-filter.
\par
\begin{tabular}{cp{0.46\textwidth}}
0 & Only the luma matrix is present in the input tensor, thus the number of channels is 1 \\
1 & Only the chroma matrices are present in the input tensor, thus the number of channels is 2 \\
2 & The luma and chroma matrices are present in the input tensor, thus the number of channels is 3 \\
3 & Four luma matrices, two chroma matrices, and a quantization parameter matrix are present in the input tensor, thus the number of channels is 7 \\
\end{tabular}
\\
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
\Option{SEINNPFCChromaLocInfoPresentFlag\emph{i}} &
\Default{false} &
Specifies nnpfc_chroma_loc_info_present_flag of the \emph{i}-th neural network post-filter.
\par
When true (non-zero) specifies the presence of the nnpfc_chroma_sample_loc_type_frame syntax element in the NNPFC SEI message.
\par
When false specifies the absence of the nnpfc_chroma_sample_loc_type_frame syntax element in the NNPFC SEI message.
\\
\Option{SEINNPFCChromaSampleLocTypeFrame\emph{i}} &
\Default{0} &
Specifies the location of chroma samples of the output pictures for the \emph{i}-th neural network post-filter.
\par
\begin{tabular}{cp{0.46\textwidth}}
0 & Left \\
1 & Center \\
2 & Top left \\
3 & Top \\
4 & Bottom left \\
5 & Bottom \\
6 & Unspecified \\
\end{tabular}
\\
\Option{SEINNPFCConstantPatchSizeFlag\emph{i}} &
\Default{false} &
Specifies nnpfc_constant_patch_size_flag of the \emph{i}-th neural network post-filter.
\par

Karsten Suehring
committed
When true (non-zero) specifies that the \emph{i}-th neural network post-filter accepts exactly the patch size indicated by nnpfc_patch_width_minus1 and nnpfc_patch_height_minus1 as input.
\par
When false specifies that the \emph{i}-th neural network post-filter accepts any patch size that is a positive integer multiple of the patch size indicated by nnpfc_patch_width_minus1 and nnpfc_patch_height_minus1 as input.
\Option{SEINNPFCPatchWidthMinus1\emph{i}} &
\Default{0} &
Specifies the horizontal sample counts of a patch for the \emph{i}-th neural network post-filter.
\par

Karsten Suehring
committed
When nnpfc_constant_patch_size_flag is true (non-zero), specifies the horizontal sample counts of the patch size required for the input to the \emph{i}-th neural network post-filter.
\Option{SEINNPFCPatchHeightMinus1\emph{i}} &
\Default{0} &
Specifies the vertical sample counts of a patch for the \emph{i}-th neural network post-filter.
\par

Karsten Suehring
committed
When nnpfc_constant_patch_size_flag is true (non-zero), specifies the vertical sample counts of the patch size required for the input to the \emph{i}-th neural network post-filter.
\Option{SEINNPFCExtendedPatchWidthCdDeltaMinus1\emph{i}} &
\Default{0} &
Specifies the extended patch width for the \emph{i}-th neural network post-filter.
\par

Karsten Suehring
committed
When nnpfc_constant_patch_size_flag is false (zero), nnpfc_extended_patch_width_cd_delta_minus1+1+2*nnpfc_overlap indicates a common divisor of the all allowed values of the width of an extended patch for the input to the \emph{i}-th neural network post-filter.
\Option{SEINNPFCExtendedPatchHeightCdDeltaMinus1\emph{i}} &
\Default{0} &
Specifies the extended patch height \emph{i}-th neural network post-filter.
\par

Karsten Suehring
committed
When nnpfc_constant_patch_size_flag is false (zero), nnpfc_extended_patch_height_cd_delta_minus1+1+2*nnpfc_overlap indicates a common divisor of the all allowed values of the height of an extended patch for the input to the \emph{i}-th neural network post-filter.
\Option{SEINNPFCOverlap\emph{i}} &
\Default{0} &
Specifies the overlapping horizontal and vertical sample counts of adjacent input tensors of the \emph{i}-th neural network post-filter.
\\
\Option{SEINNPFCPaddingType\emph{i}} &
\Default{0} &
Specifies the process of padding when referencing sample locations outside the boundaries of the cropped decoded output picture for the \emph{i}-th neural network post-filter.
\par
\begin{tabular}{cp{0.46\textwidth}}
0 & zero padding \\
1 & replication padding \\
2 & reflection padding \\
3 & wrap-around padding \\
4 & fixed padding \\
\Option{SEINNPFCLumaPadding\emph{i}} &
\Default{0} &
Specifies the luma padding when when nnpfc_padding_type is equal to 4 of the \emph{i}-th neural network post-filter.
\\
\Option{SEINNPFCCrPadding\emph{i}} &
\Default{0} &
Specifies the Cr padding when when nnpfc_padding_type is equal to 4 of the \emph{i}-th neural network post-filter.
\\
\Option{SEINNPFCCbPadding\emph{i}} &
\Default{0} &
Specifies the Cb padding when when nnpfc_padding_type is equal to 4 of the \emph{i}-th neural network post-filter.
\\
\Option{SEINNPFCComplexityInfoPresentFlag\emph{i}} &
\Default{false} &
Specifies the nnpfc_complexity_present_flag of the \emph{i}-th neural network post-filter.
\Option{SEINNPFCParameterTypeIdc\emph{i}} &
\Default{0} &
Specifies the nnpfc_parameter_type_idc of the \emph{i}-th neural network post-filter.
\begin{tabular}{cp{0.46\textwidth}}
0 & Indicates that the \emph{i}-th neural network post-filter uses only integer parameters \\
1 & Indicates that the \emph{i}-th neural network post-filter may use floating point or integer parameters \\
2 & Indicates that the \emph{i}-th neural network post-filter may use binary parameters \\
\Option{SEINNPFCLog2ParameterBitLengthMinus3\emph{i}} &
\Default{0} &
For the \emph{i}-th neural network post-filter, nnpfc_log2_parameter_bit_length_minus3 equal to 0, 1, 2, and 3 indicates that the neural network does not use parameters of bit length
greater than 8, 16, 32, and 64, respectively.
\\
\Option{SEINNPFCNumParametersIdc\emph{i}} &
\Default{0} &
Specifies the maximum number of neural network parameters for the \emph{i}-th neural network post-filter in units of a power of 2048. nnpfc_num_parameters_idc = 0 indicates that the maximum number of neural network
parameters is not specified.
\\
\Option{SEINNPFCNumParametersIdc\emph{i}} &
\Default{0} &
Specifies the maximum number of neural network parameters for the \emph{i}-th neural network post-filter in units of a power of 2048.
nnpfc_num_parameters_idc = 0 specifies that the maximum number of neural network parameters is not specified.
\\
\Option{SEINNPFCNumKmacOperationsIdc\emph{i}} &
\Default{0} &
Specifies that the maximum number of multiply-accumulate (MAC) operations per sample of the \emph{i}-th neural network post-filter is less than or equal to nnpfc_num_kmac_operations_idc * 1000.
nnpfc_num_kmac_operations_idc = 0 specifies that the maximum number of MAC operations of the network is not specified.
\\
\Option{SEINNPFCTotalKilobyteSize\emph{i}} &
\Default{0} &
Indicates the total size in kilobytes required to store the uncompressed NN parameters in the \emph{i}-th neural network post-filter when nnpfc_total_kilobyte_size is greater than 0. The total size in bits is a number equal to or greater than the sum of bits used to store each parameter. nnpfc_total_kilobyte_size is the total size in bits divided by 8000, rounded up.
nnpfc_total_kilobyte_size equal to 0 indicates that the total size required to store the parameters for the neural network is unknown.
\\
\Option{SEINNPFCPayloadFilename\emph{i}} &
\Default{""} &
Specifies the NNR bitstream of the \emph{i}-th neural network post-filter.
\\
\Option{SEINNPFCNumberInputDecodedPicsMinusOne\emph{i}} &
Philip Cowan
committed
\Default{0} &
Philip Cowan
committed
Specifies the number of decoded output pictures minus 1 used as input for the \emph{i}-th neural network post-filter.
Philip Cowan
committed
\\
\Option{SEINNPFCNumberInterpolatedPics\emph{i}} &
Philip Cowan
committed
\Default{0} &
Philip Cowan
committed
Specifies a list, where the j-th entry in the list specifies interpolated pictures generated by the \emph{i}-th neural network post-filter between the j-th and (j+1)-th picture used as input for the post processing filter.
\\
\Option{SEINNPFCInputPicOutputFlag\emph{i}} &
Philip Cowan
committed
\Default{false} &
Indicates whether the i-th neural network post filter generates a corresponding output picture for the i-th input picture.
Philip Cowan
committed
\\
\Option{SEINNPFCAbsentInputPicZeroFlag\emph{i}} &
\Default{false} &
Specifies the nnpfc_absent_input_pic_zero_flag of the \emph{i}-th neural network post-filter.
\\
\end{OptionTableNoShorthand}

Karsten Suehring
committed
\begin{OptionTableNoShorthand}{Neural network post-filter activation}{tab:sei-nn-post-filter-activation}
\Option{SEINNPostFilterActivationEnabled} &
\Default{false} &
Enables (true) or disables (false) the insertion of the neural network post-filter activation SEI message.
\\
\Option{SEINNPostFilterActivationUseSuffixSEI} &
Antti Hallapuro
committed
\Default{false} &
Code NNPFA SEI either as suffix (true) or prefix (false) SEI message.
\\
\Option{SEINNPostFilterActivationTargetId} &
\Default{0} &
Specifies the id of the neural network post-filter.
\\
\Option{SEINNPostFilterActivationCancelFlag} &
\Default{false} &
Indicates that the NNPFA SEI message cancels the persistence (true) or follows (false).
\Option{SEINNPostFilterActivationTargetBaseFlag} &
\Default{false} &
Specifies that the target NNPF is the base NNPF.
\\
\Option{SEINNPostFilterActivationPersistenceFlag} &
\Default{false} &
Specifies the persistence of the target neural-network post-processing filter for the current layer.
\Option{SEINNPostFilterActivationNoPrevCLVSFlag} &
\Default{false} &
Specifies whether input pictures cannot (true) or can (false) originate from a previous CLVS.
\Option{SEINNPostFilterActivationNoFollCLVSFlag} &
\Default{false} &
Specifies whether input pictures cannot (true) or can (false) originate from a following CLVS.
\\
\Option{SEINNPostFilterActivationOutputFlag} &
\Default{\NotSet} &
Specifies a list of flags indicating whether the NNPF-generated picture that corresponds to the input picture having index InpIdx[i] is output or not.
\\
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
\begin{OptionTableNoShorthand}{Phase indication}{tab:sei-phase-indication}
\Option{SEIPhaseIndicationFullResolution} &
\Default{false} &
Control generation of Phase Indication SEI messages for full resolution pictures.
\\
\Option{SEIPIHorPhaseNumFullResolution} &
\Default{0} &
Specifies the Horizontal Phase Numerator of Phase Indication SEI messages for full resolution pictures.
\\
\Option{SEIPIHorPhaseDenMinus1FullResolution} &
\Default{0} &
Specifies the Horizontal Phase Denominator minus 1 of Phase Indication SEI messages for full resolution pictures.
\\
\Option{SEIPIVerPhaseNumFullResolution} &
\Default{0} &
Specifies the Vertical Phase Numerator of Phase Indication SEI messages for full resolution pictures.
\\
\Option{SEIPIVerPhaseDenMinus1FullResolution} &
\Default{0} &
Specifies the Vertical Phase Denominator minus 1 of Phase Indication SEI messages for full resolution pictures.
\\
\Option{SEIPhaseIndicationReducedResolution} &
\Default{false} &
Control generation of Phase Indication SEI messages for reduced resolution pictures.
\\
\Option{SEIPIHorPhaseNumReducedResolution} &
\Default{0} &
Specifies the Horizontal Phase Numerator of Phase Indication SEI messages for reduced resolution pictures.
\\
\Option{SEIPIHorPhaseDenMinus1ReducedResolution} &
\Default{0} &
Specifies the Horizontal Phase Denominator minus 1 of Phase Indication SEI messages for reduced resolution pictures.
\\
\Option{SEIPIVerPhaseNumReducedResolution} &
\Default{0} &
Specifies the Vertical Phase Numerator of Phase Indication SEI messages for reduced resolution pictures.
\\
\Option{SEIPIVerPhaseDenMinus1ReducedResolution} &
\Default{0} &
Specifies the Vertical Phase Denominator minus 1 of Phase Indication SEI messages for reduced resolution pictures.
\\
\end{OptionTableNoShorthand}
\begin{OptionTableNoShorthand}{Processing order SEI message encoder parameters}{tab:sei-processing order}
\Option{SEIPOEnabled} &
\Default{false} &
Enables (true) or disables (false) the insertion of processing order SEI message.
\\
\Option{SEIPOId} &
\Default{0} &
Specifies the id of the SEI processing order SEI message.
\\
\Option{SEIPONumMinus2} &
\Default{0} &
Specifies the number of SEIs minus 2 in SEI processing order SEI message.
\\
\Option{SEIPOWrappingFlag\emph{i}} &
\Default{false} &
Specifies whether the \emph{i}-th SEI message is (true) wrapped inside the SEI processing order SEI message or (false) present outside the SEI processing order SEI. For wrapped SEI, specifiy the SEI parameters after SEIPOPrefixByte
\\
\Option{SEIPOImportanceFlag\emph{i}} &
\Default{false} &
Specifies whether the \emph{i}-th SEI message is (true) important or (false) not.
\\
\Option{SEIPOPrefixFlag\emph{i}} &
\Default{0} &
Specifies the SEIPONumofPrefixByte is present for the \emph{i}-th SEI message for which information is provided in the SEI processing order SEI message.
\\
\Option{SEIPOPayLoadType\emph{i}} &
\Default{0} &
Specifies the value of payloadType for the \emph{i}-th SEI message for which information is provided in the SEI processing order SEI message.
\\
\Option{SEIPOProcessingOrder\emph{i}} &
\Default{0} &
Specifies the preferred order of processing any SEI message with payloadType equal to SEIPOPayLoadType\emph{i}.
\\
\Option{SEIPONumofPrefixBits\emph{i}} &
Specifies the number of prefix bits for the \emph{i}-th SEI message present in processing order SEI message.
\\
\Option{SEIPOPrefixByte\emph{i}} &
\Default{0} &
Specifies the \emph{i}-th prefix byte present in processing order SEI message.
\\
\end{OptionTableNoShorthand}
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
%\Option{SEITimeCode} &
%\Default{false} &
%When true, generate time code SEI messages.
%\\
%%
%%
%%
\subsection{Hardcoded encoder parameters}
\begin{MacroTable}{CommonDef.h constants}
ADAPT_SR_SCALE &
1 &
Defines a scaling factor used to derive the motion search range is
adaptive (see ASR configuration parameter). Default value is 1.
\\
MAX_GOP &
64 &
maximum size of value of hierarchical GOP.
\\
MAX_NUM_REF &
4 &
maximum number of multiple reference frames
\\
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
MAX_NUM_REF_LC &
8 &
maximum number of combined reference frames
\\
AMVP_MAX_NUM_CANDS &
2 &
maximum number of final candidates
\\
AMVP_MAX_NUM_CANDS_MEM &
3 &
\\
MRG_MAX_NUM_CANDS &
5 &
\\
DYN_REF_FREE &
off &
dynamic free of reference memories
\\
MAX_TLAYER &
8 &
maximum number of temporal layers
\\
ADAPT_SR_SCALE &
on &
division factor for adaptive search range
\\
EARLY_SKIP_THRES &
1.5 &
early skip if RD < EARLY_SKIP_THRES*avg[BestSkipRD]
\\
MAX_NUM_REF_PICS &
16 &
\\
MAX_CHROMA_FORMAT_IDC &
3 &
\\
\end{MacroTable}
\subsubsection*{TypeDef.h}
Numerous constants that guard individual adoptions are defined within
\url{source/Lib/TLibCommon/TypeDef.h}.
%%
%%
%%
\clearpage
\section{Using the decoder}
\subsection{General}
\begin{minted}{bash}

Karsten Suehring
committed
DecoderApp -b str.bin -o dec.yuv [options]
\end{minted}
\begin{OptionTableNoShorthand}{Decoder options}{tab:decoder-options}
\Option{(--help)} &
%\ShortOption{\None} &
\Default{\None} &
Prints usage information.
\\
\Option{BitStreamFile (-b)} &
%\ShortOption{-b} &
\Default{\NotSet} &
Defines the input bit stream file name.
\\
\Option{ReconFile (-o)} &
%\ShortOption{-o} &
\Default{\NotSet} &
Defines the reconstructed video file name. If empty, no file is generated. If the bitstream contains multiple layer and no single target layer is specified (i.e. TargetOutputLayerSet=-1), a reconstructed file is written for each layer and the layer index is added as suffix to ReconFile. If one or more dots exist in the file name, the layer id is added before the last dot, e.g. 'decoded.yuv' becomes 'decoded0.yuv' for layer id 0, 'decoded' becomes 'decoded0'. If the file extension is Y4M, picture width, picture height, bitdepth, chroma format and frame rate of the current decoding will be output to the Y4M file. As frame rate information is not mandatory in VVC bitstreams, best guess will be used. If no frame rate information is avaiable in a bitstream, a default frame rate (50 fps) will be output to the Y4M file.
\Option{OplFile (-opl)} &
%\ShortOption{-o} &
\Default{\NotSet} &
Defines the output log file name (*.opl file). If empty, no file is generated. Each output picture log file contains one row for each output picture in the bitstream, in output order. Each row contains the following information, as CSV: PicOrderCntVal, pic\_width\_max\_in\_luma\_samples, pic\_height\_max\_in\_luma\_samples, MD5 checksum for the Y component, MD5 checksum for the U component, MD5 checksum for the V component. The format of output log file is specified in JVET-P2008.
\\
\Option{SkipFrames (-s)} &
%\ShortOption{-s} &
\Default{0} &
Defines the number of pictures in decoding order to skip.
\\
\Option{MaxTemporalLayer (-t)} &
%\ShortOption{-t} &
\Default{\NotSet} &
Defines the maximum temporal layer to be decoded. If -1, then all layers are decoded. When not provided the value may be inferred from the OPI NAL unit or the VPS NAL unit of the bitstream.
\\
\Option{TarDecLayerIdSetFile (-l)} &
%\ShortOption{-t} &
\Default{\NotSet} &
Specifies the targetDecLayerIdSet file name. The file would contain white-space separated LayerId values of the layers that are to be decoded.
Omitting the parameter, or using a value of -1 in the file decodes all layers.
\\
\Option{UpscaledOutput} &
%\ShortOption{\None} &
\Default{0} &
Picture output options: output upscaled (2), decoded but in full resolution buffer (1) or decoded cropped (0, default) picture for reference picture resampling.
\\
\Option{UpscaleFilterForDisplay} &
%\ShortOption{\None} &
\Default{1} &
Filters used for upscaling reconstruction to full resolution (2: ECM 12-tap luma and 6-tap chroma MC filters, 1: Alternative 12-tap luma and 6-tap chroma filters, 0: VVC 8-tap luma and 4-tap chroma MC filters).
\\
\Option{OutputBitDepth (-d)} &
%\ShortOption{-d} &
\Default{0 \\ (Native)} &
Specifies the luma bit-depth of the reconstructed YUV file (the value 0 indicates
that the native bit-depth is used)
\\
\Option{OutputBitDepthC} &
%\ShortOption{\None} &
\Default{0 \\ (Native)} &
Defines the chroma bit-depth of the reconstructed YUV file (the value 0 indicates
that the native bit-depth is used)
\\
Specifies the target bitstream Layer to be decoded. (the value -1 indicates
that decoding the whole bitstream ). When not provided the value may be inferred from the OPI NAL unit or the VPS NAL unit of the bitstream.
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
\\
\Option{SEIDecodedPictureHash} &
%\ShortOption{\None} &
\Default{1} &
Enable or disable verification of any Picture hash SEI messages. When
this parameter is set to 0, the feature is disabled and all messages are
ignored. When set to 1 (default), the feature is enabled and the decoder
has the following behaviour:
\begin{itemize}
\item
If Picture hash SEI messages are included in the bit stream, the same type
of hash is calculated for each decoded picture and written to the
log together with an indication whether the calculted value matches
the value in the SEI message.
Decoding will continue even if there is a mismatch.
\item
After decoding is complete, if any MD5sum comparison failed, a warning
is printed and the decoder exits with the status EXIT_FAILURE
\item
The per-picture MD5 log message has the following formats:
[MD5:d41d8cd98f00b204e9800998ecf8427e,(OK)],
[MD5:d41d8cd98f00b204e9800998ecf8427e,(unk)],
[MD5:d41d8cd98f00b204e9800998ecf8427e,(***ERROR***)] [rxMD5:b9e1...]
where, "(unk)" implies that no MD5 was signalled for this picture,
"(OK)" implies that the decoder agrees with the signalled MD5,
"(***ERROR***)" implies that the decoder disagrees with the signalled
MD5. "[rxMD5:...]" is the signalled MD5 if different.
\end{itemize}
\\
\Option{OutputDecodedSEIMessagesFilename} &
%\ShortOption{\None} &
\Default{\NotSet} &
When a non-empty file name is specified, information regarding any decoded SEI messages will be output to the indicated file. If the file name is '-', then stdout is used instead.
\\
\Option{SEICTIFilename} &
Specifies that the colour transform information (CTI) SEI message should be applied to the output video, with the output written to this file.
If no value is specified, the SEI message is ignored and no mapping is applied.
\\
\Option{SEIAnnotatedRegionsInfoFilename} &
%\ShortOption{\None} &
\Default{\NotSet} &
When a non-empty file name is specified, object information using the decoded SEI messages will be output to the indicated file.
If no value is specified, the SEI message will not be output.
\\
\Option{OutputColourSpaceConvert} &
\Default{\NotSet} &
Specifies the colour space conversion to apply to 444 video. Permitted values are:
\par
\begin{tabular}{lp{0.45\textwidth}}
UNCHANGED & No colour space conversion is applied \\
YCrCbToYCbCr & Swap the second and third components \\
GBRtoRGB & Reorder the three components \\
\end{tabular}
If no value is specified, no colour space conversion is applied. The list may eventually also include RGB to YCbCr or YCgCo conversions.\\
\\

Christian Helmrich
committed
\Option{PYUV} &
\Default{false} &
When true, output 10-bit and 12-bit YUV data as 5-byte and 3-byte (respectively) packed YUV data. See doc/pyuv_format.pdf for details. Ignored for interlaced output.
\\
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
\Option{SEINoDisplay} &
\Default{false} &
When true, do not output frames for which there is an SEI NoDisplay message.
\\
\Option{ClipOutputVideoToRec709Range} &
%\ShortOption{\None} &
\Default{0} &
If 1 then clip output video to the Rec. 709 Range on saving when OutputBitDepth is less than InternalBitDepth.
\\
\end{OptionTableNoShorthand}
\subsection{Using the decoder analyser}
If the decoder is compiled with the macro RExt__DECODER_DEBUG_BIT_STATISTICS defined as 1 (either externally, or by editing TypeDef.h), the decoder will gather fractional bit counts associated with the different syntax elements, producing a table of the number of bits per syntax element, and where appropriate, according to block size and colour component/channel.
The Linux makefile will compile both the analyser and standard version when the `all' or `everything' target is used (where the latter will also build high-bit-depth executables).
\section{Block statistics extension}
\label{sec:block-stat-extens}
The block statistics extension enables straightforward visualization and statistical analysis of coding tool
usage in encoded bitstreams. The extension enables the reference
software encoder and decoder to write out statistics files in a configurable
way, which in turn can be loaded into a suitable YUV player for overlay of the
reconstructed YUV sequence, or can be used for statistical analysis at a
selectable scope (e.g. block/picture/sequence level). An example implementation
for such visualization is available with the open-source YUView player
(\url{https://github.com/IENT/YUView}).
\subsection{Usage}
\label{sec:usage}
The software has to be compiled with the macros ENABLE_TRACING and
K0149_BLOCK_STATISTICS defined as 1. The statistics can be written by either
encoder or decoder.
The extension adds additional trace channels to the ``dtrace'' functionality of
the software. The following trace channels were added:
\begin{description}
\item[D_BLOCK_STATISTICS_ALL] All syntax elements are written, no matter whether
they are actually encoded or derived.
\item[D_BLOCK_STATISTICS_CODED] Tries to write only syntax elements, which have
also been encoded.
\end{description}
The following additional encoder options are available (part of ``dtrace''). See
the file dtrace_next.h for more details.
\begin{OptionTableNoShorthand}{Decoder options}{tab:decoder-block-statistics}
\Option{TraceFile} &
%\ShortOption{\None} &
\Default{\None} &
File name of the produced trace file.
\\
\Option{TraceRule} &
%\ShortOption{-b} &
\Default{\NotSet} &
Specifies which traces should be saved, and for which POCs.
\\
\end{OptionTableNoShorthand}
Concrete examples of calls for generating a block statistics file are:
\begin{minted}{bash}
bin/DecoderAppStatic -b str/BasketballDrive_1920x1080_QP37.vvc \
--TraceFile="stats/BasketballDrive_1920x1080_QP37_coded.vtmbmsstats" \
--TraceRule="D_BLOCK_STATISTICS_CODED:poc>=0"
bin/DecoderAppStatic -b str/BasketballDrive_1920x1080_QP37.vvc \
--TraceFile="stats/BasketballDrive_1920x1080_QP37_all.vtmbmsstats" \
--TraceRule="D_BLOCK_STATISTICS_ALL:poc>=0"
\end{minted}
\subsection{Block statistics file formats}
\label{sec:block-stat-file}
The trace file will contain a header listing information of all available block
statistics. For each statistic it lists a type and a scale for vectors or range
for integers if applicable:
\begin{verbatim}
# VTMBMS Block Statistics
# Sequence size: [832x 480]
# Block Statistic Type: PredMode; Flag;
# Block Statistic Type: MergeFlag; Flag;
# Block Statistic Type: MVL0; Vector; Scale: 4
# Block Statistic Type: MVL1; Vector; Scale: 4
# Block Statistic Type: IPCM; Flag;
# Block Statistic Type: Y_IntraMode; Integer; [0, 73]
# Block Statistic Type: Cb_IntraMode; Integer; [0, 73]
\end{verbatim}
Two formats are available for the statistics for each block, a human readable
format and a CSV based format. The header remains the same for both cases.
For both formats each row contains the information for one block statistic. The
order of the data is: picture order count (POC), location of top left corner of
the block, size of the block, name of the statistic, and value of the
statistic.
The macro BLOCK_STATS_AS_CSV is available in order to choose the required format.
The human readable format can also be easily processed with other software, for
example YUView, using regular expressions. The CSV based formats provides the
universal interface required by spreadsheet applications.
The human readable format is based on the format used for the other dtrace
statistics. Some examples for this format are:
\begin{verbatim}
BlockStat: POC 16 @( 112, 0) [ 8x 8] SkipFlag=1
BlockStat: POC 16 @( 112, 0) [ 8x 8] InterDir=1
BlockStat: POC 16 @( 112, 0) [ 8x 8] MergeFlag=1
BlockStat: POC 16 @( 112, 0) [ 8x 8] MergeIdx=0
BlockStat: POC 16 @( 112, 0) [ 8x 8] MergeType=0
BlockStat: POC 16 @( 112, 0) [ 8x 8] MVPIdxL0=255
BlockStat: POC 16 @( 112, 0) [ 8x 8] MVPNumL0=255
BlockStat: POC 16 @( 112, 0) [ 8x 8] RefIdxL0=0
BlockStat: POC 16 @( 112, 0) [ 8x 8] MVDL0={ 0, 0}
BlockStat: POC 16 @( 112, 0) [ 8x 8] MVL0={ -70, 18}
BlockStat: POC 16 @( 112, 8) [ 8x 8] PredMode=0
BlockStat: POC 16 @( 112, 8) [ 8x 8] PartSize=0
\end{verbatim}
Some examples of the CSV based format are:
\begin{verbatim}
BlockStat;16; 112; 0; 8; 8;SkipFlag;1
BlockStat;16; 112; 0; 8; 8;InterDir;1
BlockStat;16; 112; 0; 8; 8;MergeFlag;1
BlockStat;16; 112; 0; 8; 8;MergeIdx;0
BlockStat;16; 112; 0; 8; 8;MergeType;0
BlockStat;16; 112; 0; 8; 8;MVPIdxL0;255
BlockStat;16; 112; 0; 8; 8;MVPNumL0;255
BlockStat;16; 112; 0; 8; 8;RefIdxL0;0
BlockStat;16; 112; 0; 8; 8;MVDL0; 0; 0
BlockStat;16; 112; 0; 8; 8;MVL0; -70; 18
BlockStat;16; 112; 8; 8; 8;PredMode;0
BlockStat;16; 112; 8; 8; 8;PartSize;0
\end{verbatim}
\subsection{Visualization}
\label{sec:visualization}
The block statistics can be viewed with YUView, which is freely available under
GPLv3: \url{https://github.com/IENT/YUView}. The latest releases and the master
branch have the functionality required for viewing the block statistics. YUView
assumes that the file extension of block statistics file is
“.vtmbmsstats”. However, if a file is not recognized you can choose from a list
of supported file formats.
Statistics can be overlaid with YUV sequences. Some example snapshots are:
\begin{figure}[htpb]
\centering
\includegraphics[width=0.8\linewidth]{figures/YUView}
\caption{YUView}
\label{fig:yuview}
\end{figure}
\begin{figure}[htpb]
\centering
\includegraphics[width=0.5\linewidth]{figures/raceHorsesShot2MotionVectors}
\caption{Motion vectors}
\label{fig:motion-vectors}
\end{figure}
\begin{figure}[htpb]
\centering
\includegraphics[width=0.5\linewidth]{figures/raceHorsesShot3SkipFlag}
\caption{Skip flag}
\label{fig:skip-flag}
\end{figure}
\subsection{Adding statistics}
\label{sec:adding-statistics}
In order to add further block statistics, do the following:
\begin{description}
\item[source/Lib/CommonLib/dtrace_blockstatistics.h]
Add your statistic to the BlockStatistic enum:
\begin{minted}{c++}
enum class BlockStatistic {
// general
PredMode,
PartSize,
Depth,
\end{minted}
Further, add your statistic to the map blockstatistic2description:
\begin{minted}{c++}
static const std::map<BlockStatistic,
std::tuple<std::string, BlockStatisticType, std::string>>
blockstatistic2description =
{
{ BlockStatistic::PredMode,
std::tuple<std::string, BlockStatisticType, std::string>
{"PredMode", BlockStatisticType::Flag, ""}},
{ BlockStatistic::MergeFlag,
std::tuple<std::string, BlockStatisticType, std::string>
{"MergeFlag", BlockStatisticType::Flag, ""}},
{ BlockStatistic::MVL0,
std::tuple<std::string, BlockStatisticType, std::string>
{"MVL0", BlockStatisticType::Vector, "Scale: 4"}},
YOURS
\end{minted}
\item[source/Lib/CommonLib/dtrace_blockstatistics.cpp] All code for
writing syntax elements is kept in this file in
getAndStoreBlockStatistics. This function is called once for each
CTU, after it has been en/decoded. The following macros have been
defined to facilitate writing of block statistics:
\begin{minted}{c++}
DTRACE_BLOCK_SCALAR(ctx,channel,cs_cu_pu,stat_type,val)
DTRACE_BLOCK_SCALAR_CHROMA(ctx,channel,cs_cu_pu,stat_type,val)
DTRACE_BLOCK_VECTOR(ctx,channel,cu_pu,stat_type,v_x,v_y)
DTRACE_BLOCK_AFFINETF(ctx,channel,pu,stat_type,v_x0,v_y0,v_x1,v_y1,v_x2,v_y2)
\end{minted}
An example:
\begin{minted}{c++}
DTRACE_BLOCK_SCALAR(g_trace_ctx, D_BLOCK_STATISTICS_ALL,
cu, GetBlockStatisticName(BlockStatistic::PredMode), cu.predMode);
\end{minted}
\item[Block statistics for debugging] The statistics can also be used
to write out other data, not just syntax elements. Add your
statistics to dtrace_blockstatistics.h. Where it should be used the
following headers have to be included:
\begin{minted}{c++}
#include "dtrace_next.h"
#include "dtrace_blockstatistics.h"
\end{minted}
\end{description}
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
\section{Coding tool statistics extension for green metadata}
\label{sec:green-meta-sei}
The encoder and the decoder include an extension that generates coding tool statistic. In the encoder, the extension calculates green metadata for encoding green SEI messages, in particular complexity metrics for decoder power reduction. The decoder extension can be used for cross-checking the correct functionality of the encoding extension.
The output of the analyzer can be enabled with the option 'GMFA' (Green Metadata Feature Analyzer). The output file name is specified with the flag 'GMFAFile'.
Furthermore, it is possible to generate a framewise analysis with the option 'GMFAFramewise'. The output file is generated in a Matlab-readable way. Here is an example for both the encoder and the decoder:
\begin{minted}{bash}
bin/EncoderAppStatic -b bitstream.vvc --GMFA 1 --GMFAFramewise=1 --GMFAFile="bitstream.m" [encoder options]
bin/DecoderAppStatic -b bitstream.vvc --GMFA 1 --GMFAFramewise=1 --GMFAFile="bitstream.m" [decoder options]
\end{minted}
The output file contains arrays with statistics on the use of coding tools on block-size level. As an example, the number of intra-coded blocks is returned as:
\begin{minted}{bash}
n.intraBlocks = [...
0 0 0 0 0 0 0 0 ;...
0 0 0 16412 2142 54 0 0 ;...
0 0 41654 41906 9780 665 27 0 ;...
0 0 23494 22855 8641 906 26 0 ;...
0 0 4670 4797 4030 1215 60 0 ;...
0 0 433 507 881 1104 84 0 ;...
0 0 38 48 43 122 131 0 ;...
0 0 0 0 0 0 0 0 ];
\end{minted}
The horizontal position indicates the logarithm to the basis 2 block width (1, 2, 4, .., 128) and the vertical position the block height, accordingly. In this example, the bit stream contains $16{,}412$ intra-coded blocks of size $8\times 2$.
More information can be found in JVET-P0085 and \url{10.1109/ICIP40778.2020.9190840}.
\section{Using the stream merge tool}
\label{sec:stream-merge-tool}
The StreamMergeApp tool takes multiple single-layer (singe nuh_layer_id) bistreams
Emmanuel Thomas
committed
as inputs and merge them into a multi-layer bistream by interleaving the Picture Units
from the input single layer bistreams. During the merge, the tool assigns a new unique
Emmanuel Thomas
committed
nuh_layer_id for each input bitstream as well as unique parameter sets identifiers for each layer.
Then the decoder can specify which layer bitstream to be decoded through the command line option "-p nuh_layer_id".
Some current limitations of the tool:
\begin{itemize}
\item All input bitstreams are single layer and thus all layers in the output bitstream are independent layers.
\item Each layer in the output bitstream is abitrarily put in an individual OLS and is also an output layer.
\item All parameter sets from the input bitstreams are treated as different parameter sets. There is thus no parameters sets sharing in the output bitstream.
\item The slice header in the input bitstreams shall contain no picture header structure and no alf information.
\end{itemize}
\subsection{Usage}
\label{sec:stream-merge-usage}
\begin{minted}{bash}
StreamMergeApp <bitstream1> <bitstream2> [<bitstream3> ...] <outfile>
\end{minted}
The command line options bistreamX specify the file names of the input single-layer
bistreams. At least two input bitstreams need to be specified. The merged multi-layer
bistream will be stored into the outfile.
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
\section{Using the subpicture merge tool}
\label{sec:subpicture-merge-tool}
The SubpicMergeApp takes multiple bitstreams as inputs and merges them into one output bitstream where each input bitstream forms a single subpicture. Subpicture layout and input bitstreams are defined in a subpicture list file. Sequence parameter set and picture parameter set are modified accordingly based on the layout.
The merge tool has an alternative mode for merging YUV files. This mode can be used for verifying YUV output after decoding merged bitstream.
If VTM encoder is used for encoding input bitstreams, it is recommnended that ALF, CCALF, joint chroma coding, LMCS and AMaxBT are disabled. This prevents those tools having parameters with different values in different subpictures which would result in merged bitstream being non-conformant.
\subsection{Usage}
\label{sec:subpicture-merge-usage}
\begin{minted}{bash}
SubpicMergeApp [-l <subpiclistfile>] [-o <outfile>] [-m 0|1] [-yuv 0|1] [-d <bitdepth>] [-f 400|420|422|444]
\end{minted}
\begin{table}[ht]
\footnotesize
\centering
\begin{tabular}{lp{0.5\textwidth}}
\hline
\thead{Option} &
\thead{Description} \\
\hline
\texttt{--help} & Prints parameter usage. \\
\texttt{-l} & File containing list of input pictures to be merged \\
\texttt{-o} & Output file name \\
\texttt{-m} & Enable mixed NALU type bitstreams merging \\
\texttt{-yuv} & Perform YUV merging (instead of bitstream merging) \\
\texttt{-d} & Bitdepth for YUV merging \\
\texttt{-f} & Chroma format for YUV merging, 420 (default), 400, 422 or 444 \\
\hline
\end{tabular}
\end{table}
Format of the subpicture list file given with '-l' command is as follows:
\begin{minted}{bash}
subpic1_width subpic1_height subpic1_x subpic1_y subpic1_bitstream_file
subpic2_width subpic2_height subpic2_x subpic2_y subpic2_bitstream_file
...
subpicN_width subpicN_height subpicN_x subpicN_y subpicN_bitstream_file
\end{minted}
Coordinates x and y define the location of top-left corner of the subpicture in the merged picture. Parameters width, height, x and y are given in units of luma samples.
YUV merging uses the same file format, only difference being that YUV file name is supplied instead of bitstream file name.