source: 3DVCSoftware/branches/HTM-15.2-dev/doc/software-manual.tex @ 1362

Last change on this file since 1362 was 1362, checked in by tech, 9 years ago

Align macros

File size: 93.2 KB
Line 
1\documentclass[a4paper,11pt]{jctvcdoc}
2
3\usepackage{geometry}[2010/02/12]
4
5\usepackage{hyperref}
6\hypersetup{colorlinks=true,
7            linkcolor=black,      % color of internal links (change box color with linkbordercolor)
8            citecolor=black,      % color of links to bibliography
9            filecolor=black,      % color of file links
10            urlcolor=blue}
11\usepackage{color,soul}
12
13\usepackage[position=bottom]{subfig}
14\captionsetup[subfloat]{position=top}
15\usepackage{multirow}
16\usepackage{dcolumn}
17\newcolumntype{.}{D{.}{.}{-1}}
18\usepackage{colortbl}
19\usepackage{makecell}
20\usepackage{longtable}
21\usepackage{array}
22\usepackage{algorithm2e}
23
24\usepackage[strings]{underscore}
25\usepackage{csquotes}
26\MakeOuterQuote{"}
27\EnableQuotes
28
29\newcommand\None{}
30\newcommand\NotSet{}
31\makeatletter
32\newcommand{\Option}[1]{\ifx\optOption\@empty\gdef\optOption{#1}\else\g@addto@macro\optOption{ \\ #1}\fi}
33\newcommand{\ShortOption}[1]{\ifx\optShortOption\@empty\gdef\optShortOption{#1}\else\g@addto@macro\optShortOption{ \\ #1}\fi}
34\newcommand{\Default}[1]{\ifx\optDefault\@empty\gdef\optDefault{#1}\else\g@addto@macro\optDefault{ \\ #1}\fi}
35\newcommand{\clearOptions}{\gdef\optOption{}\gdef\optShortOption{}\gdef\optDefault{}}
36\makeatother
37\newenvironment{OptionTable}[1]{%
38        \footnotesize
39        \def\arraystretch{1.8}
40        \clearOptions
41        \begin{longtable}{l<{\makecell[tl]{\optOption}}%
42                          >{\texttt\bgroup}l<{\makecell[tl]{\optShortOption}\egroup}%
43                          c<{\makecell[tc]{\optDefault}}%
44                          >{\def\arraystretch{1.0}}p{0.5\textwidth}<{\clearOptions}}
45        \caption{#1} \\
46        \hspace*{12em}&&\hspace*{8em}&\kill
47        \hline
48         \thead{Option} &
49         \egroup\thead{Shorthand}\bgroup &
50         \thead{Default} &
51         \thead{Description} \\
52        \hline
53        \endfirsthead
54        \caption[]{#1 (Continued)} \\
55        \hspace*{12em}&&\hspace*{8em}&\kill
56        \hline
57         \thead{Option} &
58         \egroup\thead{Shorthand}\bgroup &
59         \thead{Default} &
60         \thead{Description} \\
61        \hline
62        \endhead
63         \multicolumn{4}{r}{Continued...}\\
64         \hline
65        \endfoot
66         \hline
67        \endlastfoot
68}{%
69        \hline
70        \end{longtable}
71}
72
73\newenvironment{OptionTableNoShorthand}[2]{%
74        \footnotesize
75        \def\arraystretch{1.8}
76        \clearOptions
77        \begin{longtable}{l<{\makecell[tl]{\optOption}}%
78                          c<{\makecell[tc]{\optDefault}}%
79                          >{\def\arraystretch{1.0}}p{0.5\textwidth}<{\clearOptions}}
80        \caption{#1} \label{#2} \\
81        \hspace*{12em}&\hspace*{8em}&\kill
82        \hline
83         \thead{Option} &
84         \thead{Default} &
85         \thead{Description} \\
86        \hline
87        \endfirsthead
88        \caption[]{#1 (Continued)} \\
89        \hspace*{12em}&\hspace*{8em}&\kill
90        \hline
91         \thead{Option} &
92         \thead{Default} &
93         \thead{Description} \\
94        \hline
95        \endhead
96         \multicolumn{3}{r}{Continued...}\\
97         \hline
98        \endfoot
99         \hline
100        \endlastfoot
101}{%
102        \hline
103        \end{longtable}
104}
105
106\newenvironment{SEIListTable}[1]{%
107        \footnotesize
108        \def\arraystretch{1.8}
109        \clearOptions
110        \begin{longtable}{c<{\makecell[tl]{\optOption}}%
111                          l<{\makecell[tc]{\optDefault}}%
112                          >{\def\arraystretch{1.0}}p{0.3\textwidth}<{\clearOptions}}
113        \caption{#1} \\
114        \hspace*{12em}&\hspace*{8em}&\kill
115        \hline
116         \thead{SEI Number} &
117         \thead{SEI Name} &
118         \thead{Table number of encoder controls, if available} \\
119        \hline
120        \endfirsthead
121        \caption[]{#1 (Continued)} \\
122        \hspace*{12em}&\hspace*{8em}&\kill
123        \hline
124         \thead{SEI Number} &
125         \thead{SEI Name} &
126         \thead{Table number of encoder controls, if available} \\
127        \hline
128        \endhead
129         \multicolumn{3}{r}{Continued...}\\
130         \hline
131        \endfoot
132         \hline
133        \endlastfoot
134}{%
135        \hline
136        \end{longtable}
137}
138
139\newenvironment{MacroTable}[1]{%
140        \footnotesize
141        \def\arraystretch{1.3}
142        \clearOptions
143        \begin{longtable}{lcp{0.5\textwidth}}
144         \caption{#1} \\
145        %\hspace*{12em}&&\hspace*{8em}&\kill
146         \hline
147          \thead{Option} &
148          \thead{Default} &
149          \thead{Description} \\
150         \hline
151        \endfirsthead
152         \caption[]{#1 (Continued)} \\
153         \hline
154          \thead{Option} &
155          \thead{Default} &
156          \thead{Description} \\
157         \hline
158        \endhead
159         \multicolumn{3}{r}{Continued...}\\
160         \hline
161        \endfoot
162         \hline
163        \endlastfoot
164}{%
165        \end{longtable}
166}
167
168\title{HM Software Manual}
169\author{%
170        Frank Bossen
171        \email{frank@bossentech.com}
172        \and
173        David Flynn
174        \email{dflynn@blackberry.com}
175        \and
176  Karl Sharman
177        \email{karl.sharman@eu.sony.com}
178        \and
179        Karsten S\"uhring
180        \email{karsten.suehring@hhi.fraunhofer.de}
181}
182
183\jctvcmeeting{}
184\jctvcdocnum{Software Manual}
185\jctvcdocstatus{Software AHG working document}
186\jctvcdocpurpose{Information}
187\jctvcdocsource{AHG chairs}
188
189\begin{document}
190\maketitle
191\begin{abstract}
192This document is a user manual describing usage of reference software
193for the HEVC project. It applies to version 16.7
194of the software.
195\end{abstract}
196
197\tableofcontents
198\listoftables
199
200
201
202\section{General Information}
203Reference software is being made available to provide a reference
204implementation of the HEVC standard being developed by the Joint
205Collaborative Team on Video Coding (JCT-VC) regrouping experts from
206ITU-T SG 16 and ISO/IEC SC29 WG11. One of the main goals of the
207reference software is to provide a basis upon which to conduct
208experiments in order to determine which coding tools provide desired
209coding performance. It is not meant to be a particularly efficient
210implementation of anything, and one may notice its apparent
211unsuitability for a particular use. It should not be construed to be a
212reflection of how complex a production-quality implementation of a
213future HEVC standard would be.
214
215This document aims to provide guidance on the usage of the reference
216software. It is widely suspected to be incomplete and suggestions for
217improvements are welcome. Such suggestions and general inquiries may be
218sent to the general JCT-VC email reflector on
219\url{jct-vc@lists.rwth-aachen.de} (registration required).
220
221\subsection*{Bug reporting}
222Bugs should be reported on the issue tracker set up at
223\url{http://hevc.kw.bbc.co.uk/trac/}
224
225\section{Installation and compilation}
226The software may be retrieved from one of the following SVN servers
227(mirrored):
228\begin{itemize}
229\item \url{https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/}
230\item \url{svn://hevc.kw.bbc.co.uk/svn/jctvc-hm/}
231\end{itemize}
232
233Table~\ref{tab:project-files} enumerates various project files that are
234provided for development environments.
235
236\begin{table}[ht]
237\footnotesize
238\caption{Available project files}
239\label{tab:project-files}
240\centering
241\begin{tabular}{ll}
242\hline
243 \thead{Environment} &
244 \thead{Location of project file} \\
245% Environment          & Location of project file \\
246\hline
247MS Visual Studio 2008 (VC9)   & build/HM_vc9.sln \\
248MS Visual Studio 2010 (VC10)  & build/HM_vc2010.sln \\
249MS Visual Studio 2012 (VC11)  & build/HM_vc2012.sln \\
250MS Visual Studio 2013 (VC12)  & build/HM_vc2013.sln \\
251Xcode                         & HM.xcodeproj \\
252Eclipse                       & .project .cproject \\
253make/gcc (e.g. Linux)         & build/linux/makefile \\
254\hline
255\end{tabular}
256\end{table}
257
258For encoding large picture sizes (like UHDTV) it is strongly advised to build 64-bit
259binaries and to use a 64-bit OS. This will allow the software to use more than 2GB of RAM.
260
261%%%%
262%%%%
263%%%%
264\section{Using the encoder}
265\begin{verbatim}
266TAppEncoder     [--help] [-c config.cfg] [--parameter=value]
267\end{verbatim}
268
269\begin{table}[ht]
270\footnotesize
271\centering
272\begin{tabular}{lp{0.5\textwidth}}
273\hline
274 \thead{Option} &
275 \thead{Description} \\
276\hline
277\texttt{--help} & Prints parameter usage. \\
278\texttt{-c} & Defines configuration file to use.  Multiple configuration files
279     may be used with repeated --c options. \\
280\texttt{--}\emph{parameter}\texttt{=}\emph{value}
281    & Assigns value to a given parameter as further described below.
282      Some parameters are also supported by shorthand
283      "--\em{opt}~\emph{value}". These are shown in brackets after the parameter
284      name in the tables of this document\\
285\hline
286\end{tabular}
287\end{table}
288
289Sample configuration files are provided in the cfg/ folder.
290Parameters are defined by the last value encountered on the command line.
291Therefore if a setting is set via a configuration file, and then a subsequent
292command line parameter changes that same setting, the command line parameter
293value will be used.
294
295\subsection{GOP structure table}
296\label{sec:gop-structure}
297Defines the cyclic GOP structure that will be used repeatedly
298throughout the sequence. The table should contain GOPSize lines,
299named Frame1, Frame2, etc. The frames are listed in decoding
300order, so Frame1 is the first frame in decoding order, Frame2 is
301the second and so on. Among other things, the table specifies all
302reference pictures kept by the decoder for each frame. This
303includes pictures that are used for reference for the current
304picture as well as pictures that will be used for reference in
305the future. The encoder will not automatically calculate which
306pictures have to be kept for future references, they must
307be specified. Note that some specified reference frames for
308pictures encoded in the very first GOP after an IDR frame might
309not be available. This is handled automatically by the encoder,
310so the reference pictures can be given in the GOP structure table
311as if there were infinitely many identical GOPs before the
312current one. Each line in the table contains the parameters used
313for the corresponding frame, separated by whitespace:
314
315\begin{itemize}
316\item[]\textbf{Type}: Slice type, can be either I, P or B.
317
318\item[]\textbf{POC}: Display order of the frame within a GOP, ranging
319from 1 to GOPSize.
320
321\item[]\textbf{QPOffset}: QP offset is added to the QP parameter to set
322the final QP value to use for this frame.
323
324\item[]\textbf{QPFactor}: Weight used during rate distortion
325optimization. Higher values mean lower quality and less bits. Typical
326range is between
3270.3 and 1.
328
329\item[]\textbf{tcOffsetDiv2}: In-loop deblocking filter parameter tcOffsetDiv2
330is added to the base parameter LoopFilterTcOffset_div2 to set the final tc_offset_div2
331parameter for this picture signalled in the slice segment header. The final
332value of tc_offset_div2 shall be an integer number in the range $-6..6$.
333
334\item[]\textbf{betaOffsetDiv2}: In-loop deblocking filter parameter betaOffsetDiv2
335is added to the base parameter LoopFilterBetaOffset_div2 to set the final beta_offset_div2
336parameter for this picture signalled in the slice segment header. The final
337value of beta_offset_div2 shall be an integer number in the range $-6..6$.
338
339\item[]\textbf{temporal_id}: Temporal layer of the frame. A frame cannot
340predict from a frame with a higher temporal id. If a frame with higher
341temporal IDs is listed among a frame's reference pictures, it is
342not used, but is kept for possible use in future frames.
343
344\item[]\textbf{num_ref_pics_active}: Size of reference picture lists L0
345and L1, indicating how many reference pictures in each direction that
346are used during coding.
347
348\item[]\textbf{num_ref_pics}: The number of reference pictures kept for
349this frame.  This includes pictures that are used for reference for the
350current picture as well as pictures that will be used for reference in
351the future.
352
353\item[]\textbf{reference_pictures}: A space-separated list of
354num_ref_pics integers, specifying the POC of the reference pictures
355kept, relative the POC of the current frame. The picture list shall be
356ordered, first with negative numbers from largest to smallest, followed
357by positive numbers from smallest to largest (e.g. \verb|-1 -3 -5 1 3|).
358Note that any pictures not supplied in this list will be discarded and
359therefore not available as reference pictures later.
360
361\item[]\textbf{predict}: Defines the value of the syntax element
362inter_ref_pic_set_prediction_flag. A value of 0 indicates that the
363reference picture set is encoded without inter RPS prediction and the
364subsequent parameters deltaRIdx$-1$, deltaRPS, num_ref_idcs and
365Reference_idcs are ignored and do not need to be present. A value of 1
366indicates that the reference picture set is encoded with inter
367prediction RPS using the subsequent parameters deltaRIdx$-1$, deltaRPS,
368num_ref_idcs and Reference_idcs in the line. A value of 2 indicates that
369the reference picture set is encoded with inter RPS but only the
370deltaRIdx$-1$ parameters is needed. The deltaRPS, num_ref_idcs and
371Reference_idcs values are automatically derived by the encoder based on
372the POC and refPic values of the current line and the RPS pointed to by
373the deltaRIdx$-1$ parameters.
374
375\item[]\textbf{deltaRIdx$-1$}: The difference between the index of the
376curent RPS and the predictor RPS minus 1.
377
378\item[]\textbf{deltaRPS}: The difference between the POC of the
379predictor RPS and POC the current RPS.
380
381\item[]\textbf{num_ref_idcs}: The number of ref_idcs to encode for the
382current RPS.  The value is equal to the value of  num_ref_pics of the
383predictor RPS plus 1.
384
385\item[]\textbf{reference_idcs}: A space-separated list of num_ref_idcs
386integers, specifying the ref idcs of the inter RPS prediction. The value
387of ref_idcs may be 0, 1 or 2 indicating that the reference picture is a
388reference picture used by the current picture, a reference picture used
389for future picture or not a reference picture anymore, respectively. The
390first num_ref_pics of ref_idcs correspond to the Reference pictures in
391the predictor RPS. The last ref_idcs corresponds to the predictor
392picture.
393\end{itemize}
394
395For example, consider the coding structure of Figure~\ref{fig:gop-example}.
396This coding structure is of size 4. The pictures are listed in decoding
397order. Frame1 shall therefore describe picture with $\textrm{POC}=4$. It
398references picture 0, and therefore has $-4$ as a reference picture.
399Similarly, Frame2 has a POC of 2, and since it references pictures 0 and
4004, its reference pictures are listed as \verb|-2 2|. Frame3 is a special
401case: even though it only references pictures with POC 0 and 2, it also
402needs to include the picture with POC 4, which must be kept in order to
403be used as a reference picture in the future. The reference picture list
404for Frame3 therefore becomes \verb|-1 1 3|. Frame4 has a POC of 3 and
405its list of reference pictures is \verb|-1 1|.
406
407\begin{figure}[h]
408\caption{A GOP structure}
409\label{fig:gop-example}
410\centering
411\includegraphics[width=0.7\textwidth]{gop-structure-example}
412\end{figure}
413
414Inter RPS prediction may be used for Frame2, Frame3 and Frame4, hence
415the predict parameter is set to 1 for these frames. Frame2 uses Frame1
416as the predictor hence the deltaRIdx$-1$ is 0.  Similarly for Frame3 and
417Frame4 which use Frame2 and Frame3 as predictors, respectively. The
418deltaRPS is equal to the POC of the predictor minus the POC of the
419current picture, therefore the deltaRPS for Frame2 is $4 -2 = 2$, for
420Frame3 is $2 - 1 = 1$ and for Frame4 is $1 - 3 = -2$.
421
422In Frame2, reference pictures with POC 0 and 2 are used, so the
423reference idcs for Frame2 are \verb|1 1| indicating that the reference
424picture, $-4$, in Frame1 is still a reference picture in Frame2 and
425Frame1 is also a reference picture in Frame2. The reference idcs for
426Frame3 are \verb|1 1 1|. The first and second “1”s indicating that
427the reference pictures "$-2$ $2$" in Frame2 are still reference pictures in
428Frame3 and the last “1” indicating that Frame2 is also a reference
429picture in Frame3. In Frame 4, the reference idcs are \verb|0 1 1 0|.
430The first “0” indicates that the reference pictures “-1” in Frame 3 is
431no longer a reference picture in Frame4. The next two “1”s indicate that
432the reference pictures “$1$ $3$” are now reference pictures of Frame4.
433The final “0” indicates that Frame3 is not a reference picture.
434
435In order to specify this to the encoder, the parameters in
436Table~\ref{tab:gop-example} could be used.
437
438\begin{table}[ht]
439\footnotesize
440\caption{GOP structure example}
441\label{tab:gop-example}
442\centering
443\begin{tabular}{lrrrr}
444\hline
445 \thead{} &
446 \thead{Frame1} &
447 \thead{Frame2} &
448 \thead{Frame3} &
449 \thead{Frame4} \\
450\hline
451Type                &   P  &    B   &      B   &       B \\
452POC                 &   4  &    2   &      1   &       3 \\
453QPoffset            &   1  &    2   &      3   &       3 \\
454QPfactor            & 0.5  &  0.5   &    0.5   &     0.5 \\
455tcOffsetDiv2        &   0  &    1   &      2   &       2 \\ 
456betaOffsetDiv2      &   0  &    0   &      0   &       0 \\
457temporal_id         &   0  &    1   &      2   &       2 \\
458num_ref_pics_active &   1  &    1   &      1   &       1 \\
459num_ref_pics        &   1  &    2   &      3   &       2 \\
460reference_pictures  & $-$4 & $-$2 2 & $-$1 1 3 &  $-$1 1 \\
461predict             &   0  &    1   &      1   &       1 \\
462deltaRIdx$-$1       &      &    0   &      0   &       0 \\
463deltaRPS            &      &    2   &      1   &    $-$2 \\
464num_ref_idcs        &      &    2   &      3   &       4 \\
465reference_idcs      &      &  1 1   &  1 1 1   & 0 1 1 0 \\
466\hline
467\end{tabular}
468\end{table}
469
470Here, the frames used for prediction have been given higher
471quality by assigning a lower QP offset. Also, the non-reference
472frames have been marked as belonging to a higher temporal layer,
473to make it possible to decode only every other frame. Note: each
474line should contain information for one frame, so this
475configuration would be specified as:
476
477\begin{verbatim}
478Frame1: P 4 1 0.5 0 0 0 1 1 -4 0
479Frame2: B 2 2 0.5 1 0 1 1 2 -2 2 1 0 2 2 1 1
480Frame3: B 1 3 0.5 2 0 2 1 3 -1 1 3 1 0 1 3 1 1 1
481Frame4: B 3 3 0.5 2 0 2 1 2 -1 1 1 0 -2 4 0 1 1 0
482\end{verbatim}
483
484The values of deltaRIdx$-1$, deltaRPS, num_ref_idcs and reference
485idcs of Frame$K$ can be derived from the POC value of Frame$_K$ and
486the POC, num_ref_pics and reference_pictures values of Frame$_M$, where
487$K$ is the index of the RPS to be inter coded and the $M$ is the
488index of the reference RPS, as follows.
489
490\setlength{\algomargin}{2em}
491\begin{algorithm}[ht]
492\SetKwData{deltaRIdx}{deltaRIdx}
493\SetKwData{deltaRPS}{deltaRPS}
494\SetKwData{numrefidcs}{num_ref_idcs}
495\SetKwData{numrefpics}{num_ref_pics}
496\SetKwData{referencepictures}{reference_pictures}
497\SetKwData{referenceidcs}{reference_idcs}
498\SetKwData{POC}{POC}
499
500$\deltaRIdx_K - 1  \leftarrow  K - M - 1$ \;
501$\deltaRPS_K       \leftarrow  \POC_M - \POC_K$ \;
502$\numrefidcs_K     \leftarrow  \numrefpics_M + 1$ \;
503
504\For{$j \leftarrow 0$ \KwTo $\numrefpics_M$}{
505        \For{$i \leftarrow 0$ \KwTo $\numrefidcs_K$}{
506                \eIf{$\referencepictures_{M,j} + \deltaRPS_K == \referencepictures_{K,i}$}{
507                        \lIf{$\referencepictures_{K,i}$ is used by the current frame}{
508                                $\referenceidcs_{K,j} = 1$} \;
509                        \lElse{$\referenceidcs_{K,j} = 2$} \;
510                }{
511                        $\referenceidcs_K[j] = 0$ \;
512                }
513        }
514}
515
516\tcc{$\referencepictures_{M,\numrefpics_M}$ does not exist and is assumed to be 0}
517\end{algorithm}
518
519Note: The above (automatic) generation of the inter RPS parameter
520values has been integrated into the encoder, and is activated by
521the value of predict $= 2$ followed by the value of deltaRIdx$-1$,
522only, as described above.
523
524
525
526%%%%
527%%%%
528%%%%
529\newgeometry{tmargin=1.6cm,lmargin=1cm,rmargin=1cm,bmargin=1in,nohead}
530\subsection{Encoder parameters}
531
532%%
533%% File, I/O and source parameters
534%%
535Shorthand alternatives for the parameter that can be used on the command line are shown in brackets after the parameter name.
536
537\begin{OptionTableNoShorthand}{File, I/O and source parameters.}{tab:fileIO}
538\Option{InputFile (-i)} &
539%\ShortOption{-i} &
540\Default{\NotSet} &
541Specifies the input video file.
542
543Video 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.
544
545Note: When the bit depth of samples is larger than 8, each sample is encoded in
5462 bytes (little endian, LSB-justified).
547\\
548
549\Option{BitstreamFile (-b)} &
550%\ShortOption{-b} &
551\Default{\NotSet} &
552Specifies the output coded bit stream file.
553\\
554
555\Option{ReconFile (-o)} &
556%\ShortOption{-o} &
557\Default{\NotSet} &
558Specifies the output locally reconstructed video file.
559\\
560
561\Option{SourceWidth (-wdt)}%
562\Option{SourceHeight (-hgt)} &
563%\ShortOption{-wdt}%
564%\ShortOption{-hgt} &
565\Default{0}%
566\Default{0} &
567Specifies the width and height of the input video in luma samples.
568\\
569
570\Option{InputBitDepth}
571 &
572%\ShortOption{\None} &
573\Default{8} &
574Specifies the bit depth of the input video.
575\\
576
577\Option{MSBExtendedBitDepth} &
578%\ShortOption{\None} &
579\Default{0} &
580Extends the input video by adding MSBs of value 0. When 0, no extension is applied and the InputBitDepth is used.
581
582The MSBExtendedBitDepth becomes the effective file InputBitDepth for subsequent processing.
583\\
584
585\Option{InternalBitDepth} &
586%\ShortOption{\None} &
587\Default{0} &
588Specifies the bit depth used for coding. When 0, the setting defaults to the
589value of the MSBExtendedBitDepth.
590
591If the input video is a different bit depth to InternalBitDepth, it is
592automatically converted by:
593\begin{displaymath}
594\left\lfloor
595 \frac{\mathrm{Pel} * 2^{\mathrm{InternalBitDepth}}}{
596     2^{\mathrm{MSBExtendedBitDepth}}}
597\right\rfloor
598\end{displaymath}
599
600Note: The effect of this option is as if the input video is externally
601converted to the MSBExtendedBitDepth and then to the InternalBitDepth
602and then coded with this value as InputBitDepth. The codec has no
603notion of different bit depths.
604\\
605
606\Option{OutputBitDepth} &
607%\ShortOption{\None} &
608\Default{0} &
609Specifies the bit depth of the output locally reconstructed video file.
610When 0, the setting defaults to the value of InternalBitDepth.
611Note: This option has no effect on the decoding process.
612\\
613
614\Option{InputBitDepthC}%
615\Option{MSBExtendedBitDepthC}%
616\Option{InternalBitDepthC}%
617\Option{OutputBitDepthC} &
618%\ShortOption{\None} &
619\Default{0}%
620\Default{0}%
621\Default{0}%
622\Default{0} &
623Specifies the various bit-depths for chroma components.  These only need
624to be specified if non-equal luma and chroma bit-depth processing is
625required. When 0, the setting defaults to the corresponding non-Chroma value.
626\\
627
628\Option{InputColourSpaceConvert} &
629%\ShortOption{\None} &
630\Default{\NotSet} &
631The colour space conversion to apply to input video. Permitted values are:
632\par
633\begin{tabular}{lp{0.3\textwidth}}
634  UNCHANGED & No colour space conversion is applied \\
635  YCbCrToYCrCb & Swap the second and third components \\
636  YCbCrtoYYY & Set the second and third components to the values in the first \\
637  RGBtoGBR & Reorder the three components \\
638\end{tabular}
639\par
640If no value is specified, no colour space conversion is applied. The list may eventually also include RGB to YCbCr or YCgCo conversions.
641\\
642
643\Option{SNRInternalColourSpace} &
644%\ShortOption{\None} &
645\Default{false} &
646When this is set true, then no colour space conversion is applied prior to PSNR calculation, otherwise the inverse of InputColourSpaceConvert is applied.
647\\
648
649\Option{OutputInternalColourSpace} &
650%\ShortOption{\None} &
651\Default{false} &
652When this is set true, then no colour space conversion is applied to the reconstructed video, otherwise the inverse of InputColourSpaceConvert is applied.
653\\
654
655\Option{InputChromaFormat} &
656%\ShortOption{\None} &
657\Default{420} &
658Specifies the chroma format used in the input file. Permitted values (depending on the profile) are 400, 420, 422 or 444.
659\\
660
661\Option{ChromaFormatIDC (-cf)} &
662%\ShortOption{-cf} &
663\Default{0} &
664Specifies 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.
665\\
666
667\Option{MSEBasedSequencePSNR} &
668%\ShortOption{\None} &
669\Default{false} &
670When 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.
671\\
672
673\Option{PrintFrameMSE} &
674%\ShortOption{\None} &
675\Default{false} &
676When 1, the Mean Square Error (MSE) values of each frame will also be output alongside the default PSNR values.
677\\
678
679\Option{PrintSequenceMSE} &
680%\ShortOption{\None} &
681\Default{false} &
682When 1, the Mean Square Error (MSE) values of the entire sequence will also be output alongside the default PSNR values.
683\\
684
685\Option{SummaryOutFilename} &
686%\ShortOption{\None} &
687\Default{false} &
688Filename to use for producing summary output file. If empty, do not produce a file.
689\\
690
691\Option{SummaryPicFilenameBase} &
692%\ShortOption{\None} &
693\Default{false} &
694Base 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.
695\\
696
697\Option{SummaryVerboseness} &
698%\ShortOption{\None} &
699\Default{false} &
700Specifies the level of the verboseness of the text output.
701\\
702
703\Option{CabacZeroWordPaddingEnabled} &
704%\ShortOption{\None} &
705\Default{false} &
706When 1, CABAC zero word padding will be enabled. This is currently not the default value for the setting.
707\\
708
709\Option{ConformanceWindowMode} &
710%\ShortOption{\None} &
711\Default{0} &
712Specifies how the parameters related to the conformance window are interpreted (cropping/padding).
713The following modes are available:
714\par
715\begin{tabular}{cp{0.43\textwidth}}
7160 & No cropping / padding \\
7171 & Automatic padding to the next minimum CU size \\
7182 & Padding according to parameters HorizontalPadding and VerticalPadding \\
7193 & Cropping according to parameters ConfWinLeft, ConfWinRight, ConfWinTop and ConfWinBottom \\
720\end{tabular}
721\\
722
723\Option{HorizontalPadding (-pdx)}%
724\Option{VerticalPadding (-pdy)} &
725%\ShortOption{-pdx}%
726%\ShortOption{-pdy} &
727\Default{0} &
728Specifies the horizontal and vertical padding to be applied to the input
729video in luma samples when ConformanceWindowMode is 2.  Must be a multiple of
730the chroma resolution (e.g. a multiple of two for 4:2:0).
731\\
732
733\Option{ConfWinLeft}%
734\Option{ConfWinRight}%
735\Option{ConfWinTop}%
736\Option{ConfWinBottom} &
737%\ShortOption{\None} &
738\Default{0} &
739Specifies the horizontal and vertical cropping to be applied to the
740input video in luma samples when ConformanceWindowMode is 3.
741Must be a multiple of the chroma resolution (e.g. a multiple of
742two for 4:2:0).
743\\
744
745\Option{FrameRate (-fr)} &
746%\ShortOption{-fr} &
747\Default{0} &
748Specifies the frame rate of the input video.
749
750Note: This option only affects the reported bit rates.
751\\
752
753\Option{FrameSkip (-fs)} &
754%\ShortOption{-fs} &
755\Default{0} &
756Specifies a number of frames to skip at beginning of input video file.
757\\
758
759\Option{FramesToBeEncoded (-f)} &
760%\ShortOption{-f} &
761\Default{0} &
762Specifies the number of frames to be encoded. When 0, all frames are coded.
763\\
764
765\Option{FieldCoding} &
766%\ShortOption{\None} &
767\Default{false} &
768When 1, indicates that field-based coding is to be applied.
769\\
770
771\Option{TopFieldFirst (-Tff)} &
772%\ShortOption{\None} &
773\Default{0} &
774Indicates the order of the fields packed into the input frame. When 1, the top field is temporally first.
775\\
776
777\Option{ClipInputVideoToRec709Range} &
778%\ShortOption{\None} &
779\Default{0} &
780If 1 then clip input video to the Rec. 709 Range on loading when InternalBitDepth is less than MSBExtendedBitDepth.
781\\
782
783\Option{ClipOutputVideoToRec709Range} &
784%\ShortOption{\None} &
785\Default{0} &
786If 1 then clip output video to the Rec. 709 Range on saving when OutputBitDepth is less than InternalBitDepth.
787\\
788
789\Option{EfficientFieldIRAPEnabled} &
790%\ShortOption{\None} &
791\Default{1} &
792Enable to code fields in a specific, potentially more efficient, order.
793\\
794
795\Option{HarmonizeGopFirstFieldCoupleEnabled} &
796%\ShortOption{\None} &
797\Default{1} &
798Enables harmonization of Gop first field couple.
799\\
800
801\Option{AccessUnitDelimiter} &
802%\ShortOption{\None} &
803\Default{0} &
804Add Access Unit Delimiter NAL units between all Access Units.
805\\
806
807\end{OptionTableNoShorthand}
808
809%%
810%% profile, level and conformance options
811%%
812\begin{OptionTableNoShorthand}{Profile and level parameters}{tab:profile}
813\Option{Profile} &
814%\ShortOption{\None} &
815\Default{none} &
816Specifies the profile to which the encoded bitstream complies.
817
818Valid HEVC Ver. 1 values are: none, main, main10, main-still-picture
819
820Valid HEVC Ver. 2 (RExt) values are: main-RExt, high-throughput-RExt,
821monochrome, monochrome12, monochrome16, main12, main_422_10,
822main_422_12, main_444, main_444_10, main_444_12, main_444_16,
823main_intra, main_10_intra, main_12_intra, main_422_10_intra, main_422_12_intra,
824main_444_intra, main_444_10_intra, main_444_12_intra, main_444_16_intra.
825
826When main-RExt is specified, the constraint flags are either manually specified, or calculated via the other supplied settings.
827
828Compatibility flags are automatically determined according to the profile.
829NB: There is currently only limited validation that the encoder configuration complies with the profile, level and tier constraints.
830\\
831
832\Option{Level} &
833%\ShortOption{\None} &
834\Default{none} &
835Specifies the level to which the encoded bitstream complies.
836Valid values are: none, 1, 2, 2.1, 3, 3.1, 4, 4.1, 5, 5.1, 5.2, 6, 6.1, 6.2, 8.5
837
838NB: There is currently only limited validation that the encoder configuration complies with the profile, level and tier constraints.
839\\
840
841\Option{Tier} &
842%\ShortOption{\None} &
843\Default{main} &
844Specifies the level tier to which the encoded bitsream complies.
845Valid values are: main, high.
846
847NB: There is currently only limited validation that the encoder configuration complies with the profile, level and tier constraints.
848\\
849
850\Option{MaxBitDepthConstraint} &
851%\ShortOption{\None} &
852\Default{0} &
853For --profile=main-RExt, specifies the value to use to derive the general_max_bit_depth constraint flags for RExt profiles; when 0, use $\max(InternalBitDepth, InternalBitDepthC)$
854\\
855
856\Option{MaxChromaFormatConstraint} &
857%\ShortOption{\None} &
858\Default{0} &
859For --profile=main-RExt, specifies the chroma-format to use for the general profile constraints for RExt profiles; when 0, use the value of ChromaFormatIDC.
860\\
861
862\Option{IntraConstraintFlag} &
863%\ShortOption{\None} &
864\Default{false} &
865For --profile=main-RExt, specifies the value of general_intra_constraint_flag to use for RExt profiles.
866\\
867
868\Option{OnePictureOnlyConstraintFlag} &
869%\ShortOption{\None} &
870\Default{false} &
871For --profile=main-RExt, specifies the value of general_one_picture_only_constraint_flag to use for RExt profiles.
872\\
873
874\Option{LowerBitRateConstraintFlag} &
875%\ShortOption{\None} &
876\Default{true} &
877Specifies the value of general_lower_bit_constraint_flag to use for RExt profiles.
878\\
879
880\Option{ProgressiveSource} &
881%\ShortOption{\None} &
882\Default{false} &
883Specifies the value of general_progressive_source_flag
884\\
885
886\Option{InterlacedSource} &
887%\ShortOption{\None} &
888\Default{false} &
889Specifies the value of general_interlaced_source_flag
890\\
891
892\Option{NonPackedSource} &
893%\ShortOption{\None} &
894\Default{false} &
895Specifies the value of general_non_packed_constraint_flag
896\\
897
898\Option{FrameOnly} &
899%\ShortOption{\None} &
900\Default{false} &
901Specifies the value of general_frame_only_constraint_flag
902\\
903
904\end{OptionTableNoShorthand}
905
906
907%%
908%% Unit definition parameters
909%%
910
911\begin{OptionTableNoShorthand}{Unit definition parameters}{tab:unit}
912\Option{MaxCUWidth} &
913%\ShortOption{\None} &
914\Default{64} &
915Defines the maximum CU width.
916\\
917
918\Option{MaxCUHeight} &
919%\ShortOption{\None} &
920\Default{64} &
921Defines the maximum CU height.
922\\
923
924\Option{MaxCUSize (-s)} &
925%\ShortOption{\None} &
926\Default{64} &
927Defines the maximum CU size.
928\\
929
930\Option{MaxPartitionDepth (-h)} &
931%\ShortOption{-h} &
932\Default{4} &
933Defines the depth of the CU tree.
934\\
935
936\Option{QuadtreeTULog2MaxSize} &
937%\ShortOption{\None} &
938\Default{6 \\ ($= \mathrm{log}_2(64)$)} &
939Defines the Maximum TU size in logarithm base 2.
940\\
941
942\Option{QuadtreeTULog2MinSize} &
943%\ShortOption{\None} &
944\Default{2 \\ ($= \mathrm{log}_2(4)$)} &
945Defines the Minimum TU size in logarithm base 2.
946\\
947
948\Option{QuadtreeTUMaxDepthIntra} &
949%\ShortOption{\None} &
950\Default{1} &
951Defines the depth of the TU tree for intra CUs.
952\\
953
954\Option{QuadtreeTUMaxDepthInter} &
955%\ShortOption{\None} &
956\Default{2} &
957Defines the depth of the TU tree for inter CUs.
958\\
959
960\end{OptionTableNoShorthand}
961
962
963%%
964%% Coding structure parameters
965%%
966
967\begin{OptionTableNoShorthand}{Coding structure parameters}{tab:coding-structure}
968\Option{IntraPeriod (-ip)} &
969%\ShortOption{-ip} &
970\Default{$-1$} &
971Specifies the intra frame period.
972A value of $-1$ implies an infinite period.
973\\
974
975\Option{DecodingRefreshType (-dr)} &
976%\ShortOption{-dr} &
977\Default{0} &
978Specifies the type of decoding refresh to apply at the intra frame period
979picture.
980\par
981\begin{tabular}{cp{0.45\textwidth}}
9820 & Applies an I picture (not a intra random access point). \\
9831 & Applies a CRA intra random access point (open GOP). \\
9842 & Applies an IDR intra random access point (closed GOP). \\
9853 & Use recovery point SEI messages to indicate random access. \\
986\end{tabular}
987\\
988
989\Option{GOPSize (-g)} &
990%\ShortOption{-g} &
991\Default{1} &
992Specifies the size of the cyclic GOP structure.
993\\
994
995\Option{Frame\emph{N}} &
996%\ShortOption{\None} &
997\Default{\NotSet} &
998Multiple options that define the cyclic GOP structure that will be used
999repeatedly throughout the sequence.  The table should contain GOPSize
1000elements.
1001\par
1002See section~\ref{sec:gop-structure} for further details.
1003\\
1004\end{OptionTableNoShorthand}
1005
1006%%
1007%% Motion estimation parameters
1008%%
1009
1010\begin{OptionTableNoShorthand}{Motion estimation parameters}{tab:motion-estimation}
1011\Option{FastSearch} &
1012%\ShortOption{\None} &
1013\Default{1} &
1014Enables or disables the use of a fast motion search.
1015\par
1016\begin{tabular}{cp{0.45\textwidth}}
1017 0 & Full search method \\
1018 1 & Fast search method - TZSearch\\
1019 2 & Predictive motion vector fast search method \\
1020 3 & Extended TZSearch method \\
1021\end{tabular}
1022\\
1023
1024\Option{SearchRange (-sr)} &
1025%\ShortOption{-sr} &
1026\Default{96} &
1027Specifies the search range used for motion estimation.
1028
1029Note: the search range is defined around a predictor. Motion vectors
1030derived by the motion estimation may thus have values larger than the
1031search range.
1032\\
1033
1034\Option{BipredSearchRange} &
1035%\ShortOption{\None} &
1036\Default{4} &
1037Specifies the search range used for bi-prediction refinement in motion
1038estimation.
1039\\
1040
1041\Option{ClipForBiPredMEEnabled} &
1042%\ShortOption{\None} &
1043\Default{0} &
1044Enables clipping in the Bi-Pred ME, which prevents values over- or under-flowing. It is usually disabled to reduce encoder run-time.
1045\\
1046
1047\Option{FastMEAssumingSmootherMVEnabled} &
1048%\ShortOption{\None} &
1049\Default{0} &
1050Enables fast ME assuming a smoother MV.
1051\\
1052
1053\Option{HadamardME} &
1054%\ShortOption{\None} &
1055\Default{true} &
1056Enables or disables the use of the Hadamard transform in fractional-pel motion
1057estimation.
1058\par
1059\begin{tabular}{cp{0.45\textwidth}}
1060 0 & SAD for cost estimation \\
1061 1 & Hadamard for cost estimation \\
1062\end{tabular}
1063\\
1064
1065\Option{ASR} &
1066%\ShortOption{\None} &
1067\Default{false} &
1068Enables or disables the use of adaptive search ranges, where the motion
1069search range is dynamically adjusted according to the POC difference
1070between the current and the reference pictures.
1071\begin{displaymath}
1072\resizebox{\hsize}{!}{$
1073\mathrm{SearchRange}’ = \mathrm{Round}\left(
1074                          \mathrm{SearchRange}
1075                          * \mathrm{ADAPT\_SR\_SCALE}
1076                          * \frac{\mathrm{abs}(
1077                                 \mathrm{POCcur} - \mathrm{POCref} )}{
1078                                 \mathrm{RateGOPSize}}\right)
1079$}
1080\end{displaymath}
1081\\
1082
1083\Option{MaxNumMergeCand} &
1084%\ShortOption{\None} &
1085\Default{5} &
1086Specifies the maximum number of merge candidates to use.
1087\\
1088
1089\Option{DisableIntraInInter} &
1090%\ShortOption{\None} &
1091\Default{0} &
1092Flag to disable intra PUs in inter slices.
1093\\
1094
1095\end{OptionTableNoShorthand}
1096
1097
1098%%
1099%% Mode decision parameters
1100%%
1101
1102\begin{OptionTableNoShorthand}{Mode decision parameters}{tab:mode-decision}
1103\Option{LambdaModifier$N$ (-LM$N$)} &
1104%\ShortOption{-LM$N$} &
1105\Default{1.0} &
1106Specifies a value that is multiplied with the Lagrange multiplier
1107$\lambda$, for use in the rate-distortion optimised cost calculation
1108when encoding temporal layer~$N$.
1109If LambdaModifierI is specified, then LambdaModifierI will be used for intra pictures.
1110\par
1111$N$ may be in the range 0 (inclusive) to 7 (exclusive).
1112\\
1113
1114\Option{LambdaModifierI (-LMI)} &
1115%\ShortOption{-LMI} &
1116\Default{} &
1117Specifies one or more of the LambdaModifiers to use intra pictures at each of the temporal layers.
1118If not present, then the LambdaModifier$N$ settings are used instead. If the list of values
1119(comma or space separated) does not include enough values for each of the temporal layers,
1120the last value is repeated as required.
1121\\
1122
1123\Option{IQPFactor (-IQF)} &
1124%\ShortOption{-IQF} &
1125\Default{-1} &
1126Specifies the QP factor to be used for intra pictures during the lambda computation.
1127(The values specified in the GOP structure are only used for inter pictures).
1128If negative (default), the following equation is used to derive the value:
1129\par
1130$IQP_{factor}=0.57*(1.0-Max(0.5, Min(0.0, 0.05*s)))$
1131\par
1132where $s = Int(isField ? (GS-1)/2 : GS-1)$ and
1133$GS$ is the gop size.
1134\\
1135
1136\Option{ECU} &
1137%\ShortOption{\None} &
1138\Default{false} &
1139Enables or disables the use of early CU determination.  When enabled, skipped CUs will not be split further.
1140\\
1141
1142\Option{CFM} &
1143%\ShortOption{\None} &
1144\Default{false} &
1145Enables or disables the use of Cbf-based fast encoder mode.  When enabled, once a 2Nx2N CU has been evaluated, if the RootCbf is 0, further PU splits will not be evaluated.
1146\\
1147
1148\Option{ESD} &
1149%\ShortOption{\None} &
1150\Default{false} &
1151Enables or disables the use of early skip detection.  When enabled, the skip mode will be tested before any other.
1152\\
1153
1154\Option{FEN} &
1155%\ShortOption{\None} &
1156\Default{0} &
1157Controls the use of different fast encoder coding tools.  The following
1158tools are supported in different combinations:
1159\par
1160\begin{tabular}{cp{0.45\textwidth}}
1161 a & In the SAD computation for blocks having size larger than 8, only
1162     the lines of even rows in the block are considered. \\
1163 b & The number of iterations used in the bi-directional motion vector
1164     refinement in the motion estimation process is reduced from 4 to 1. \\
1165\end{tabular}
1166Depending on the value of the parameter, the following combinations are
1167supported:
1168\par
1169\begin{tabular}{cp{0.45\textwidth}}
1170 0 & Disable all modes \\
1171 1 & Use both a \& b tools\\
1172 2 & Use only tool b \\
1173 3 & Use only tool a \\
1174\end{tabular}
1175\\
1176
1177\Option{FDM} &
1178%\ShortOption{\None} &
1179\Default{true} &
1180Enables or disables the use of fast encoder decisions for 2Nx2N merge
1181mode.  When enabled, the RD cost for the merge mode of the current
1182candidate is not evaluated if the merge skip mode was the best merge
1183mode for one of the previous candidates.
1184\\
1185
1186\Option{RDpenalty} &
1187%\ShortOption{\None} &
1188\Default{0} &
1189RD-penalty for 32x32 TU for intra in non-intra slices.
1190Enabling this parameter can reduce the visibility of CU boundaries in the coded picture.
1191\par
1192\begin{tabular}{cp{0.45\textwidth}}
1193 0 & No RD-penalty \\
1194 1 & RD-penalty \\
1195 2 & Maximum RD-penalty (no 32x32 TU)\\
1196\end{tabular}
1197\\
1198
1199\end{OptionTableNoShorthand}
1200
1201%%
1202%% Quantization parameters
1203%%
1204\begin{OptionTableNoShorthand}{Quantization parameters}{tab:quantization}
1205\Option{QP (-q)} &
1206%\ShortOption{-q} &
1207\Default{30.0} &
1208Specifies the base value of the quantization parameter. If it is non-integer, the QP is switched once during encoding.
1209\\
1210
1211\Option{CbQpOffset (-cbqpofs)}%
1212\Option{CrQpOffset (-crqpofs)} &
1213%\ShortOption{-cbqpofs}%
1214%\ShortOption{-crqpofs} &
1215\Default{0}%
1216\Default{0} &
1217Global offset to apply to the luma QP to derive the QP of Cb and Cr
1218respectively.  These options correspond to the values of cb_qp_offset
1219and cr_qp_offset, that are transmitted in the PPS.  Valid values are in
1220the range $[-12, 12]$.
1221\\
1222
1223\Option{MaxCuDQPDepth (-dqd)} &
1224%\ShortOption{\None} &
1225\Default{0} &
1226Defines maximum depth of a minimum CuDQP for sub-LCU-level delta QP.
1227MaxCuDQPDepth shall be greater than or equal to SliceGranularity.
1228\\
1229
1230\Option{RDOQ} &
1231%\ShortOption{\None} &
1232\Default{true} &
1233Enables or disables rate-distortion-optimized quantization for transformed TUs.
1234\\
1235
1236\Option{RDOQTS} &
1237%\ShortOption{\None} &
1238\Default{true} &
1239Enables or disables rate-distortion-optimized quantization for transform-skipped TUs.
1240\\
1241
1242\Option{SelectiveRDOQ} &
1243%\ShortOption{\None} &
1244\Default{false} &
1245Enables or disables selective rate-distortion-optimized quantization.
1246A simple quantization is use to pre-analyze, whether to bypass the RDOQ process or not.
1247If all the coefficients are quantized to 0, the RDOQ process is bypassed.
1248Otherwise, the RDOQ process is performed as usual.
1249\\
1250
1251\Option{DeltaQpRD (-dqr)} &
1252%\ShortOption{-dqr} &
1253\Default{0} &
1254Specifies the maximum QP offset at slice level for multi-pass slice
1255encoding.  When encoding, each slice is tested multiple times by using
1256slice QP values in the range $[-\mathrm{DeltaQpRD}, \mathrm{DeptaQpRD}]$,
1257and the best QP value is chosen as the slice QP.
1258\\
1259
1260\Option{MaxDeltaQP (-d)} &
1261%\ShortOption{-d} &
1262\Default{0} &
1263Specifies the maximum QP offset at the largest coding unit level for
1264the block-level adaptive QP assignment scheme. In the encoder, each
1265largest coding unit is tested multiple times by using the QP values in
1266the range $[-\mathrm{MaxDeltaQP}, \mathrm{MaxDeltaQP}]$, and the best QP
1267value is chosen as the QP value of the largest coding unit.
1268\\
1269
1270\Option{dQPFile (-m)} &
1271%\ShortOption{-m} &
1272\Default{\NotSet} &
1273Specifies a file containing a list of QP deltas. The $n$-th line
1274(where $n$ is 0 for the first line) of this file corresponds to the QP
1275value delta for the picture with POC value $n$.
1276\\
1277
1278\Option{AdaptiveQp (-aq)} &
1279%\ShortOption{-aq} &
1280\Default{false} &
1281Enable or disable QP adaptation based upon a psycho-visual model.
1282\\
1283
1284\Option{MaxQPAdaptationRange (-aqr)} &
1285%\ShortOption{-aqps} &
1286\Default{6} &
1287Specifies the maximum QP adaptation range.
1288\\
1289
1290\Option{AdaptiveQpSelection (-aqps)} &
1291%\ShortOption{-aqps} &
1292\Default{false} &
1293Specifies whether QP values for non-I frames will be calculated on the
1294fly based on statistics of previously coded frames.
1295\\
1296
1297\Option{RecalculateQP...} \Option{AccordingToLambda} &
1298%\ShortOption{\None} &
1299\Default{false} &
1300Recalculate QP values according to lambda values. Do not suggest to be enabled in all intra case.
1301\\
1302
1303\Option{ScalingList} &
1304%\ShortOption{\None} &
1305\Default{0} &
1306Controls the specification of scaling lists:
1307\par
1308\begin{tabular}{cp{0.45\textwidth}}
1309 0 & Scaling lists are disabled \\
1310 1 & Use default scaling lists \\
1311 2 & Scaling lists are specified in the file indicated by ScalingListFile \\
1312\end{tabular}
1313\\
1314
1315\Option{ScalingListFile} &
1316%\ShortOption{\None} &
1317\Default{\NotSet} &
1318When ScalingList is set to 2, this parameter indicates the name of the file, which contains the defined scaling lists.
1319If ScalingList is set to 2 and this parameter is an empty string, information on the format of the scaling list file
1320is output and the encoder stops.
1321\\
1322
1323\Option{MaxCUChromaQpAdjustmentDepth} &
1324%\ShortOption{\None} &
1325\Default{-1} &
1326Specifies the maximum depth for CU chroma QP adjustment; if negative, CU chroma QP adjustment is disabled.
1327\\
1328
1329\end{OptionTableNoShorthand}
1330
1331
1332%%
1333%% Slice coding parameters
1334%%
1335\begin{OptionTableNoShorthand}{Slice coding parameters}{tab:slice-coding}
1336%\Option{SliceGranularity} &
1337%\ShortOption{\None} &
1338%\Default{0} &
1339%Determines the depth in an LCU at which slices may begin and end.
1340%\par
1341%\begin{tabular}{cp{0.45\textwidth}}
1342% 0   & Slice addresses are LCU aligned \\
1343% $1 \leq n \leq 3$
1344%     & Slice start addresses are aligned to CUs at depth $n$ \\
1345%\end{tabular}
1346%
1347%Note: The smallest permissible alignment is 16x16 CUs.
1348%Values of $n$ must satisfy this constraint, for example, with a 64x64
1349%LCU, $n$ must be less than or equal to 2.
1350%\\
1351
1352\Option{SliceMode} &
1353%\ShortOption{\None} &
1354\Default{0} &
1355Controls the slice partitioning method in conjunction with
1356SliceArgument.
1357\par
1358\begin{tabular}{cp{0.45\textwidth}}
1359 0 & Single slice \\
1360 1 & Maximum number of CTUs per slice \\
1361 2 & Maximum number of bytes per slice \\
1362 3 & Maximum number of tiles per slice \\
1363\end{tabular}
1364\\
1365
1366\Option{SliceArgument} &
1367%\ShortOption{\None} &
1368\Default{\NotSet} &
1369Specifies the maximum number of CTUs, bytes or tiles in a slice depending on the
1370SliceMode setting.
1371\\
1372
1373\Option{SliceSegmentMode} &
1374%\ShortOption{\None} &
1375\Default{0} &
1376Enables (dependent) slice segment coding in conjunction with
1377SliceSegmentArgument.
1378\par
1379\begin{tabular}{cp{0.45\textwidth}}
1380 0 & Single slice \\
1381 1 & Maximum number of CTUs per slice segment\\
1382 2 & Maximum number of bytes per slice segment\\
1383 3 & Maximum number of tiles per slice segment\\
1384\end{tabular}
1385\\
1386
1387\Option{SliceSegmentArgument} &
1388%\ShortOption{\None} &
1389\Default{\NotSet} &
1390Defines the maximum number of CTUs, bytes or tiles a slice segment
1391depending on the SliceSegmentMode setting.
1392\\
1393
1394\Option{WaveFrontSynchro} &
1395%\ShortOption{\None} &
1396\Default{false} &
1397Enables the use of specific CABAC probabilities synchronization at the
1398beginning of each line of CTBs in order to produce a bitstream that can
1399be encoded or decoded using one or more cores.
1400\\
1401
1402\Option{TileUniformSpacing} &
1403%\ShortOption{\None} &
1404\Default{false} &
1405Controls the mode used to determine per row and column tile sizes.
1406\par
1407\begin{tabular}{cp{0.45\textwidth}}
1408 0 & Each tile column width and tile row height is explicitly set
1409     by TileColumnWidthArray and TileRowHeightArray respectively \\
1410 1 & Tile columns and tile rows are uniformly spaced. \\
1411\end{tabular}
1412\\
1413
1414\Option{NumTileColumnsMinus1}%
1415\Option{NumTileRowsMinus1} &
1416%\ShortOption{\None} &
1417\Default{0} &
1418Specifies the tile based picture partitioning geometry as
1419$\mathrm{NumTileColumnsMinus1} + 1 \times \mathrm{NumTileRowsMinus1} + 1$
1420columns and rows.
1421\\
1422
1423\Option{TileColumnWidthArray}%
1424\Option{TileRowHeightArray} &
1425%\ShortOption{\None} &
1426\Default{\NotSet} &
1427Specifies a space or comma separated list of widths and heights,
1428respectively, of each tile column or tile row.  The first value in the
1429list corresponds to the leftmost tile column or topmost tile row.
1430\\
1431\end{OptionTableNoShorthand}
1432
1433
1434
1435%%
1436%% Deblocking filter parameters
1437%%
1438\begin{OptionTableNoShorthand}{Deblocking filter parameters}{tab:deblocking-filter}
1439\Option{LoopFilterDisable} &
1440%\ShortOption{\None} &
1441\Default{false} &
1442Enables or disables the in-loop deblocking filter.
1443\\
1444
1445\Option{LFCrossSliceBoundaryFlag} &
1446%\ShortOption{\None} &
1447\Default{true} &
1448Enables or disables the use of in-loop filtering across slice
1449boundaries.
1450\\
1451
1452\Option{LoopFilterOffsetInPPS}&
1453%\ShortOption{\None}&
1454\Default{false}&
1455If enabled, the in-loop deblocking filter control parameters are sent in PPS.
1456Otherwise, the in-loop deblocking filter control parameters are sent in the slice segment header.
1457If deblocking filter parameters are sent in PPS, the same values of deblocking filter parameters
1458are used for all pictures in the sequence (i.e. deblocking parameter = base parameter value). 
1459If deblocking filter parameters are sent in the slice segment header, varying deblocking filter
1460parameters can be specified by setting parameters tcOffsetDiv2 and betaOffsetDiv2 in the GOP structure table.
1461In this case, the final value of the deblocking filter parameter sent for a certain GOP picture is equal to
1462(base parameter + GOP parameter for this picture). Intra-pictures use the base parameters values.
1463\\
1464
1465\Option{LoopFilterTcOffset_div2}&
1466%\ShortOption{\None}&
1467\Default{0}&
1468Specifies the base value for the in-loop deblocking filter parameter tc_offset_div2. The final value of tc_offset_div2
1469shall be an integer number in the range $-6..6$.
1470\\
1471
1472\Option{LoopFilterBetaOffset_div2}&
1473%\ShortOption{\None}&
1474\Default{0}&
1475Specifies the base value for the in-loop deblocking filter parameter beta_offset_div2. The final value of beta_offset_div2
1476shall be an integer number in the range $-6..6$.
1477\\
1478
1479\Option{DeblockingFilterMetric}&
1480%\ShortOption{\None}&
1481\Default{false}&
1482Enables or disables the use of a deblocking filter metric to evaluate the suitability of deblocking. If enabled then
1483LoopFilterOffsetInPPS and LoopFilterDisable must be 0.
1484\\
1485
1486\Option{LFCrossSliceBoundaryFlag}&
1487%\ShortOption{\None}&
1488\Default{true}&
1489Enables or disables the use of a deblocking across tile boundaries.
1490\\
1491
1492\end{OptionTableNoShorthand}
1493
1494
1495
1496%%
1497%% Coding tools parameters
1498%%
1499
1500\begin{OptionTableNoShorthand}{Coding tools parameters}{tab:coding-tools}
1501
1502\Option{AMP} &
1503%\ShortOption{\None} &
1504\Default{true} &
1505Enables or disables the use of asymmetric motion partitions.
1506\\
1507
1508\Option{SAO} &
1509%\ShortOption{\None} &
1510\Default{true} &
1511Enables or disables the sample adaptive offset (SAO) filter.
1512\\
1513
1514\Option{TestSAODisableAtPictureLevel} &
1515%\ShortOption{\None} &
1516\Default{false} &
1517Enables the testing of disabling SAO at the picture level after having analysed all blocks.
1518\\
1519
1520\Option{SaoEncodingRate} &
1521%\ShortOption{\None} &
1522\Default{0.75} &
1523When >0 SAO early picture termination is enabled for luma and chroma.
1524\\
1525
1526\Option{SaoEncodingRateChroma} &
1527%\ShortOption{\None} &
1528\Default{0.5} &
1529The SAO early picture termination rate to use for chroma (when m_SaoEncodingRate is >0). If <=0, use results for luma.
1530\\
1531
1532\Option{SAOLcuBoundary} &
1533%\ShortOption{\None} &
1534\Default{false} &
1535Enables or disables SAO parameter estimation using non-deblocked pixels
1536for LCU bottom and right boundary areas.
1537\\
1538
1539\Option{ConstrainedIntraPred} &
1540%\ShortOption{\None} &
1541\Default{false} &
1542Enables or disables constrained intra prediction.  Constrained intra
1543prediction only permits samples from intra blocks in the same slice as the
1544current block to be used for intra prediction.
1545\\
1546
1547\Option{FastUDIUseMPMEnabled} &
1548%\ShortOption{\None} &
1549\Default{true} &
1550If enabled, adapt intra direction search, accounting for MPM
1551\\
1552
1553\Option{FastMEForGenBLowDelayEnabled} &
1554%\ShortOption{\None} &
1555\Default{true} &
1556If enabled use a fast ME for generalised B Low Delay slices
1557\\
1558
1559\Option{UseBLambdaForNonKeyLowDelayPictures} &
1560%\ShortOption{\None} &
1561\Default{true} &
1562Enables use of B-Lambda for non-key low-delay pictures
1563\\
1564
1565\Option{TransquantBypassEnableFlag} &
1566%\ShortOption{\None} &
1567\Default{false} &
1568Enables or disables the ability to bypass the transform,
1569quantization and filtering stages at CU level.
1570This option corresponds to the value of
1571transquant_bypass_enable_flag that is transmitted in the PPS.
1572
1573See CUTransquantBypassFlagForce for further details.
1574\\
1575
1576\Option{CUTransquantBypassFlagForce} &
1577%\ShortOption{\None} &
1578\Default{0} &
1579Controls the per CU transformation, quantization and filtering
1580mode decision.
1581This option controls the value of the per CU cu_transquant_bypass_flag.
1582\par
1583\begin{tabular}{cp{0.45\textwidth}}
1584 0 & Bypass is searched on a CU-by-CU basis and will be used if the cost is lower than not bypassing. \\
1585 1 & Bypass is forced for all CUs. \\
1586\end{tabular}
1587
1588This option has no effect if TransquantBypassEnableFlag is disabled.
1589\\
1590
1591\Option{PCMEnabledFlag} &
1592%\ShortOption{\None} &
1593\Default{false} &
1594Enables or disables the use of PCM. The encoder will use cost measures on a CU-by-CU basis to determine if PCM mode is to be applied.
1595\\
1596
1597\Option{PCMLog2MaxSize} &
1598%\ShortOption{\None} &
1599\Default{5 \\ ($= \mathrm{log}_2(32)$)} &
1600Specifies log2 of the maximum PCM block size. When PCM is enabled, the
1601PCM mode is available for 2Nx2N intra PUs smaller than or equal to the
1602specified maximum PCM block size
1603\\
1604
1605\Option{PCMLog2MinSize} &
1606%\ShortOption{\None} &
1607\Default{3} &
1608Specifies log2 of the minimum PCM block size. When PCM is enabled, the
1609PCM mode is available for 2Nx2N intra PUs larger than or equal to the
1610specified minimum PCM block size.
1611\par
1612When larger than PCMLog2MaxSize, PCM mode is not used.
1613\\
1614
1615\Option{PCMInputBitDepthFlag} &
1616%\ShortOption{\None} &
1617\Default{true} &
1618If enabled specifies that PCM sample bit-depth is set equal to
1619InputBitDepth. Otherwise, it specifies that PCM sample bit-depth is set
1620equal to InternalBitDepth.
1621\\
1622
1623\Option{PCMFilterDisableFlag} &
1624%\ShortOption{\None} &
1625\Default{false} &
1626If enabled specifies that loop-filtering on reconstructed samples of PCM
1627blocks is skipped. Otherwise, it specifies that loop-filtering on
1628reconstructed samples of PCM blocks is not skipped.
1629% 0 = (loop-filtering is not skipped for PCM samples).
1630\\
1631
1632\Option{WeightedPredP (-wpP)} &
1633%\ShortOption{-wpP} &
1634\Default{false} &
1635Enables the use of weighted prediction in P slices.
1636\\
1637
1638\Option{WeightedPredB (-wpB)} &
1639%\ShortOption{-wpB} &
1640\Default{false} &
1641Enables the use of weighted prediction in B slices.
1642\\
1643
1644\Option{WPMethod (-wpM)} &
1645%\ShortOption{\-wpM} &
1646\Default{0} &
1647Sets the Weighted Prediction method to be used.
1648\par
1649\begin{tabular}{cp{0.45\textwidth}}
1650  0 & Image DC based method with joint color component decision. \\
1651  1 & Image DC based method with separate color component decision. \\
1652  2 & DC + Histogram refinement method (no clipping). \\
1653  3 & DC + Histogram refinement method (with clipping). \\
1654  4 & DC + Dual Histogram refinement method (with clipping). \\
1655\end{tabular}
1656\\
1657
1658
1659\Option{Log2ParallelMergeLevel} &
1660%\ShortOption{\None} &
1661\Default{2} &
1662Defines the PPS-derived Log2ParMrgLevel variable.
1663\\
1664
1665\Option{SignHideFlag (-SBH)} &
1666%\ShortOption{-SBH} &
1667\Default{true} &
1668If enabled specifies that for each 4x4 coefficient group for which the
1669number of coefficients between the first nonzero coefficient and the
1670last nonzero coefficient along the scanning line exceeds 4, the sign bit
1671of the first nonzero coefficient will not be directly transmitted in the
1672bitstream, but may be inferred from the parity of the sum of all nonzero
1673coefficients in the current coefficient group.
1674\\
1675
1676\Option{StrongIntraSmoothing (-sis)} &
1677%\ShortOption{-sis} &
1678\Default{true} &
1679If enabled specifies that for 32x32 intra prediction block, the intra smoothing
1680when applied is either the 1:2:1 smoothing filter or a stronger bi-linear
1681interpolation filter.  Key reference sample values are tested and if the criteria
1682is satisfied, the stronger intra smoothing filter is applied.
1683If disabled, the intra smoothing filter when applied is the 1:2:1 smoothing filter.
1684\\
1685
1686\Option{TMVPMode} &
1687%\ShortOption{\None} &
1688\Default{1} &
1689Controls the temporal motion vector prediction mode.
1690\par
1691\begin{tabular}{cp{0.45\textwidth}}
1692  0 & Disabled for all slices. \\
1693  1 & Enabled for all slices. \\
1694  2 & Disabled only for the first picture of each GOPSize. \\
1695\end{tabular}
1696\\
1697
1698\Option{TransformSkip} &
1699%\ShortOption{\None} &
1700\Default{false} &
1701Enables or disables transform-skipping mode decision.
1702\\
1703
1704\Option{TransformSkipFast} &
1705%\ShortOption{\None} &
1706\Default{false} &
1707Enables or disables reduced testing of the transform-skipping mode
1708decision for chroma TUs.  When enabled, no RDO search is performed for
1709chroma TUs, instead they are transform-skipped if the four corresponding
1710luma TUs are also skipped.
1711\par
1712This option has no effect if TransformSkip is disabled.
1713\\
1714\end{OptionTableNoShorthand}
1715
1716%%
1717%% Rate control parameters
1718%%
1719
1720\begin{OptionTableNoShorthand}{Rate control parameters}{tab:rate-control}
1721
1722\Option{RateControl} &
1723%\ShortOption{\None} &
1724\Default{false} &
1725Rate control: enables rate control or not.
1726\\
1727
1728\Option{TargetBitrate} &
1729%\ShortOption{\None} &
1730\Default{0} &
1731Rate control: target bitrate, in bps.
1732\\
1733
1734\Option{KeepHierarchicalBit} &
1735%\ShortOption{\None} &
1736\Default{0} &
1737Rate control: 0: equal bit allocation among pictures;
17381: fix ratio hierarchical bit allocation; 2: adaptive hierarchical ratio bit allocation.
1739It is suggested to enable hierarchical bit allocation for hierarchical-B coding structure.
1740\\
1741
1742\Option{LCULevelRateControl} &
1743%\ShortOption{\None} &
1744\Default{true} &
1745Rate control: true: LCU level RC; false: picture level RC.
1746\\
1747
1748\Option{RCLCUSeparateModel} &
1749%\ShortOption{\None} &
1750\Default{true} &
1751Rate control: use LCU level separate R-lambda model or not.
1752When LCULevelRateControl is equal to false, this parameter is meaningless.
1753\\
1754
1755\Option{InitialQP} &
1756%\ShortOption{\None} &
1757\Default{0} &
1758Rate control: initial QP value for the first picture.
17590 to auto determine the initial QP value.
1760\\
1761
1762\Option{RCForceIntraQP} &
1763%\ShortOption{\None} &
1764\Default{false} &
1765Rate control: force intra QP to be equal to initial QP or not.
1766\\
1767
1768\Option{RCCpbSaturation} &
1769%\ShortOption{\None} &
1770\Default{false} &
1771Rate control: enable target bits saturation to avoid CPB overflow and underflow or not.
1772\\
1773
1774\Option{RCCpbSize} &
1775%\ShortOption{\None} &
1776\Default{0} &
1777Rate control: CPB size, in bps.
1778\\
1779
1780\Option{RCInitialCpbFullness} &
1781%\ShortOption{\None} &
1782\Default{0.9} &
1783Rate control: ratio of initial CPB fullness per CPB size. (InitalCpbFullness/CpbSize)
1784RCInitialCpbFullness should be smaller than or equal to 1.
1785\\
1786\end{OptionTableNoShorthand}
1787
1788%%
1789%% VUI parameters
1790%%
1791\begin{OptionTableNoShorthand}{VUI parameters}{tab:VUI}
1792\Option{VuiParametersPresent (-vui)} &
1793\Default{false} &
1794Enable generation of vui_parameters().
1795\\
1796\Option{AspectRatioInfoPresent} &
1797\Default{false} &
1798Signals whether aspect_ratio_idc is present.
1799\\
1800\Option{AspectRatioIdc} &
1801\Default{0} &
1802aspect_ratio_idc
1803\\
1804\Option{SarWidth} &
1805\Default{0} &
1806Specifies the horizontal size of the sample aspect ratio.
1807\\
1808\Option{SarHeight} &
1809\Default{0} &
1810Specifies the vertical size of the sample aspect ratio.
1811\\
1812\Option{OverscanInfoPresent} &
1813\Default{false} &
1814Signals whether overscan_info_present_flag is present.
1815\\
1816\Option{OverscanAppropriate} &
1817\Default{false} &
1818Indicates whether cropped decoded pictures are suitable for display using overscan.
1819\par
1820\begin{tabular}{cp{0.45\textwidth}}
1821  0 & Indicates that the decoded pictures should not be displayed using overscan. \\
1822  1 & Indicates that the decoded pictures may be displayed using overscan. \\
1823\end{tabular}
1824\\
1825\Option{VideoSignalTypePresent} &
1826\Default{false} &
1827Signals whether video_format, video_full_range_flag, and colour_description_present_flag are present.
1828\\
1829\Option{VideoFormat} &
1830\Default{5} &
1831Indicates representation of pictures.
1832\\
1833\Option{VideoFullRange} &
1834\Default{false} &
1835Indicates the black level and range of luma and chroma signals.
1836\par
1837\begin{tabular}{cp{0.45\textwidth}}
1838  0 & Indicates that the luma and chroma signals are to be scaled prior to display. \\
1839  1 & Indicates that the luma and chroma signals are not to be scaled prior to display. \\
1840\end{tabular}
1841\\
1842\Option{ColourDescriptionPresent} &
1843\Default{false} &
1844Signals whether colour_primaries, transfer_characteristics and matrix_coefficients are present.
1845\\
1846\Option{ColourPrimaries} &
1847\Default{2} &
1848Indicates chromaticity coordinates of the source primaries.
1849\\
1850\Option{TransferCharateristics} &
1851\Default{2} &
1852Indicates the opto-electronic transfer characteristics of the source.
1853\\
1854\Option{MatrixCoefficients} &
1855\Default{2} &
1856Describes the matrix coefficients used in deriving luma and chroma from RGB primaries.
1857\\
1858\Option{ChromaLocInfoPresent} &
1859\Default{false} &
1860Signals whether chroma_sample_loc_type_top_field and chroma_sample_loc_type_bottom_field are present.
1861\\
1862\Option{ChromaSampleLocTypeTopField} &
1863\Default{0} &
1864Specifies the location of chroma samples for top field.
1865\\
1866\Option{ChromaSampleLocTypeBottomField} &
1867\Default{0} &
1868Specifies the location of chroma samples for bottom field.
1869\\
1870\Option{NeutralChromaIndication} &
1871\Default{false} &
1872Indicates that the value of all decoded chroma samples is equal to 1<<(BitDepthCr-1).
1873\\
1874
1875\Option{DefaultDisplayWindowFlag} &
1876\Default{flag} &
1877Indicates the presence of the Default Window parameters.
1878\par
1879\begin{tabular}{cp{0.45\textwidth}}
1880false & Disabled \\
1881true & Enabled \\
1882\end{tabular}
1883\\
1884
1885\Option{DefDispWinLeftOffset}%
1886\Option{DefDispWinRightOffset}%
1887\Option{DefDispWinTopOffset}%
1888\Option{DefDispWinBottomOffset} &
1889\Default{0} &
1890Specifies the horizontal and vertical offset to be applied to the
1891input video from the conformance window in luma samples.
1892Must be a multiple of the chroma resolution (e.g. a multiple of two for 4:2:0).
1893\\
1894
1895\Option{FrameFieldInfoPresentFlag} &
1896\Default{false} &
1897Specificies the value of the VUI syntax element `frame_field_info_present_flag', which indicates that pic_struct and field coding related values are present in picture timing SEI messages.
1898\\
1899
1900\Option{PocProportionalToTimingFlag} &
1901\Default{false} &
1902Specificies the value of the VUI syntax element `vui_poc_proportional_to_timing_flag', which indicates that the POC value is proportional to the output time with respect to the first picture in the CVS.
1903\\
1904
1905\Option{NumTicksPocDiffOneMinus} &
1906\Default{0} &
1907Specificies the value of the VUI syntax element `vui_num_ticks_poc_diff_one_minus1', which specifies the number of clock ticks corresponding to a difference of picture order count values equal to 1, and is used only when PocProportionalToTimingFlag is true.
1908\\
1909
1910\Option{BitstreamRestriction} &
1911\Default{false} &
1912Signals whether bitstream restriction parameters are present.
1913\\
1914\Option{TilesFixedStructure} &
1915\Default{false} &
1916Indicates that each active picture parameter set has the same values of the syntax elements related to tiles.
1917\\
1918\Option{MotionVectorsOverPicBoundaries} &
1919\Default{false} &
1920Indicates that no samples outside the picture boundaries are used for inter prediction.
1921\\
1922\Option{MaxBytesPerPicDenom} &
1923\Default{2} &
1924Indicates a number of bytes not exceeded by the sum of the sizes of the VCL NAL units associated with any coded picture.
1925\\
1926\Option{MaxBitsPerMinCuDenom} &
1927\Default{1} &
1928Indicates an upper bound for the number of bits of coding_unit() data.
1929\\
1930\Option{Log2MaxMvLengthHorizontal} &
1931\Default{15} &
1932Indicate the maximum absolute value of a decoded horizontal MV component in quarter-pel luma units.
1933\\
1934\Option{Log2MaxMvLengthVertical} &
1935\Default{15} &
1936Indicate the maximum absolute value of a decoded vertical MV component in quarter-pel luma units.
1937\\
1938\end{OptionTableNoShorthand}
1939
1940
1941\begin{OptionTableNoShorthand}{Range Extensions (Version 2) tool parameters}{tab:rext-tools}
1942
1943\Option{CostMode} &
1944\Default{lossy} &
1945Specifies the cost mode to use.
1946\par
1947\begin{tabular}{lp{0.3\textwidth}}
1948  lossy                   & $cost=distortion+\lambda \times bits$ \\
1949  sequence_level_lossless & $cost=distortion / \lambda + bits$. \\
1950  lossless                & As with sequence_level_lossless, but QP is also set to 0 (this will be deprecated in the future) \\
1951  mixed_lossless_lossy    & As with sequence_level_lossless, but QP'=4 is used for pre-estimates of transquant-bypass blocks \\
1952\end{tabular}
1953\\
1954
1955\Option{ExtendedPrecision} &
1956\Default{false} &
1957Specifies 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.
1958This setting is only valid for the 16-bit RExt profiles.
1959\\
1960
1961\Option{HighPrecisionPredictionWeighting} &
1962\Default{false} &
1963Specifies the value of high_precision_prediction_weighting_flag. This setting is only valid for the 16-bit or 4:4:4 RExt profiles.
1964\\
1965
1966\Option{CrossComponentPrediction} &
1967\Default{false} &
1968When true, specifies the use of the cross component prediction tool (4:4:4 processing only). Version 1 and some Version 2 (RExt) profiles require this to be false.
1969\\
1970
1971\Option{ReconBasedCrossCPredictionEstimate} &
1972\Default{false} &
1973If true, then when determining the alpha value for cross-component prediction, use the reconstructed residual rather than the pre-transform encoder-side residual
1974\\
1975
1976\Option{SaoLumaOffsetBitShift}
1977\Option{SaoChromaOffsetBitShift}&
1978\Default{0}
1979\Default{0} &
1980Specifies the shift to apply to the SAO parameters. If negative, an estimate will be calculated based upon the initial QP. Version 1 and some Version 2 (RExt) profiles require this to be 0.
1981\\
1982
1983\Option{TransformSkipLog2MaxSize} &
1984\Default{2} &
1985Specifies 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.
1986\\
1987
1988\Option{ImplicitResidualDPCM} &
1989\Default{false} &
1990When true, specifies the use of the implicitly signalled residual RDPCM tool (for intra). Version 1 and some Version 2 (RExt) profiles require this to be false.
1991\\
1992
1993\Option{ExplicitResidualDPCM} &
1994\Default{false} &
1995When true, specifies the use of the explicitly signalled residual RDPCM tool (for intra-block-copy and inter). Version 1 and some Version 2 (RExt) profiles require this to be false.
1996\\
1997
1998\Option{ResidualRotation} &
1999\Default{false} &
2000When true, specifies the use of the residual rotation tool. Version 1 and some Version 2 (RExt) profiles require this to be false.
2001\\
2002
2003\Option{SingleSignificanceMapContext} &
2004\Default{false} &
2005When 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.
2006\\
2007
2008\Option{GolombRiceParameterAdaptation} &
2009\Default{false} &
2010When 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.
2011\\
2012
2013\Option{AlignCABACBeforeBypass} &
2014\Default{false} &
2015When 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.
2016This must always be true for the high-throughput-RExt profile, and false otherwise.
2017\\
2018
2019\Option{IntraReferenceSmoothing} &
2020\Default{true} &
2021When true, enable intra reference smoothing, otherwise disable it. Version 1 and some Version 2 (RExt) profiles require this to be true.
2022\\
2023
2024\end{OptionTableNoShorthand}
2025
2026\subsection{Encoder SEI parameters}
2027The 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.
2028
2029\begin{SEIListTable}{List of Version 1 and RExt SEI messages}
2030    0 & Buffering period                         & Table \ref{tab:sei-buffering-period} \\
2031    1 & Picture timing                           & Table \ref{tab:sei-picture-timing} \\
2032    2 & Pan-scan rectangle                       & (Not handled)\\
2033    3 & Filler payload                           & (Not handled)\\
2034    4 & User data registered by Rec. ITU-T T.35  & (Not handled)\\
2035    5 & User data unregistered                   & Decoded only\\
2036    6 & Recovery point                           & Table \ref{tab:sei-recovery-point} \\
2037    9 & Scene information                        & (Not handled)\\
2038   15 & Picture snapshot                         & (Not handled)\\
2039   16 & Progressive refinement segment start     & (Not handled)\\
2040   17 & Progressive refinement segment end       & (Not handled)\\
2041   19 & Film grain characteristics               & (Not handled)\\
2042   22 & Post-filter hint                         & (Not handled)\\
2043   23 & Tone mapping information                 & Table \ref{tab:sei-tone-mapping-info} \\
2044   45 & Frame packing arrangement                & Table \ref{tab:sei-frame-packing-arrangement} \\
2045   47 & Display orientation                      & Table \ref{tab:sei-display-orientation} \\
2046  128 & Structure of pictures information        & Table \ref{tab:sei-sop-info} \\
2047  129 & Active parameter sets                    & Table \ref{tab:sei-active-parameter-sets} \\
2048  130 & Decoding unit information                & Table \ref{tab:sei-decoding-unit-info} \\
2049  131 & Temporal sub-layer zero index            & Table \ref{tab:sei-temporal-level-0} \\
2050  132 & Decoded picture hash                     & Table \ref{tab:sei-decoded-picture-hash} \\
2051  133 & Scalable nesting                         & Table \ref{tab:sei-scalable-nesting} \\
2052  134 & Region refresh information               & Table \ref{tab:sei-region-refresh-info} \\
2053  135 & No display                               & Table \ref{tab:sei-no-display} \\
2054  136 & Time code                                & Table \ref{tab:sei-time-code} \\
2055  137 & Mastering display colour volume          & Table \ref{tab:sei-mastering-display-colour-volume} \\
2056  138 & Segmented rectangular frame packing arrangement & Table \ref{tab:sei-seg-rect-fpa}\\
2057  139 & Temporal motion-constrained tile sets    & Table \ref{tab:sei-tmcts} \\
2058  140 & Chroma resampling filter hint            & Table \ref{tab:chroma-resampling-filter-hint} \\
2059  141 & Knee function information                & Table \ref{tab:sei-knee-function} \\
2060  142 & Colour remapping information             & Table \ref{tab:sei-colour-remapping}\\
2061  143 & Deinterlaced field identification        & (Not handled)\\
2062\end{SEIListTable}
2063%%
2064%% SEI messages
2065%%
2066
2067 
2068
2069\begin{OptionTableNoShorthand}{Buffering period SEI message encoder parameters}{tab:sei-buffering-period}
2070\Option{SEIBufferingPeriod} &
2071\Default{0} &
2072Enables or disables the insertion of the Buffering period
2073SEI messages. This option has no effect if VuiParametersPresent is disabled.
2074SEIBufferingPeriod requires SEIActiveParameterSets to be enabled.
2075\\
2076\end{OptionTableNoShorthand}
2077
2078
2079
2080\begin{OptionTableNoShorthand}{Picture timing SEI message encoder parameters}{tab:sei-picture-timing}
2081\Option{SEIPictureTiming} &
2082\Default{0} &
2083Enables or disables the insertion of the Picture timing
2084SEI messages. This option has no effect if VuiParametersPresent is disabled.
2085\\
2086\end{OptionTableNoShorthand}
2087
2088
2089
2090\begin{OptionTableNoShorthand}{Recovery point SEI message encoder parameters}{tab:sei-recovery-point}
2091\Option{SEIRecoveryPoint} &
2092\Default{0} &
2093Enables or disables the insertion of the Recovery point
2094SEI messages.
2095\\
2096\end{OptionTableNoShorthand}
2097
2098
2099
2100\begin{OptionTableNoShorthand}{Tone mapping information SEI message encoder parameters}{tab:sei-tone-mapping-info}
2101\Option{SEIToneMappingInfo} &
2102\Default{0} &
2103Enables or disables the insertion of the Tone Mapping SEI message.
2104\\
2105\Option{SEIToneMapId} &
2106\Default{0} &
2107Specifies Id of Tone Mapping SEI message for a given session.
2108\\
2109\Option{SEIToneMapCancelFlag} &
2110\Default{false} &
2111Indicates that Tone Mapping SEI message cancels the persistance or follows.
2112\\
2113\Option{SEIToneMapPersistenceFlag} &
2114\Default{true} &
2115Specifies the persistence of the Tone Mapping SEI message.
2116\\
2117\Option{SEIToneMapCodedDataBitDepth} &
2118\Default{8} &
2119Specifies Coded Data BitDepth of Tone Mapping SEI messages.
2120\\
2121\Option{SEIToneMapTargetBitDepth} &
2122\Default{8} &
2123Specifies Output BitDepth of Tome mapping function.
2124\\
2125\Option{SEIToneMapModelId} &
2126\Default{0} &
2127Specifies Model utilized for mapping coded data into
2128target_bit_depth range.
2129\par
2130\begin{tabular}{cp{0.35\textwidth}}
2131  0 & linear mapping with clipping \\
2132  1 & sigmoidal mapping \\
2133  2 & user-defined table mapping \\
2134  3 & piece-wise linear mapping \\
2135  4 & luminance dynamic range mapping \\
2136\end{tabular}
2137\\
2138\Option{SEIToneMapMinValue} &
2139\Default{0} &
2140Specifies the minimum value in mode 0.
2141\\
2142\Option{SEIToneMapMaxValue} &
2143\Default{1023} &
2144Specifies the maxmum value in mode 0.
2145\\
2146\Option{SEIToneMapSigmoidMidpoint} &
2147\Default{512} &
2148Specifies the centre point in mode 1.
2149\\
2150\Option{SEIToneMapSigmoidWidth} &
2151\Default{960} &
2152Specifies the distance between 5% and 95% values of
2153the target_bit_depth in mode 1.
2154\\
2155\Option{SEIToneMapStartOfCodedInterval} &
2156\Default{\None} &
2157Array of user-defined mapping table.
2158Default table can be set to the following:
2159\par
2160\begin{tabular}{cp{0.35\textwidth}}
21610 12 24 36 48 60 72 84 96 108 120 132 144 156 168 180
2162\\
2163192 192 196 204 208 216 220 228 232 240 248 252 260 264
2164\\
2165272 276 284 292 292 296 300 304 308 312 320 324 328 332
2166\\
2167336 344 348 352 356 360 368 372 376 380 384 388 396 400
2168\\
2169404 408 412 420 424 428 432 436 444 444 444 448 452 456
2170\\
2171460 464 468 472 476 476 480 484 488 492 496 500 504 508
2172\\
2173508 512 516 520 524 528 532 536 540 540 544 548 552 556
2174\\
2175560 564 568 572 572 576 580 584 588 592 596 600 604 604
2176\\
2177608 612 616 620 624 628 632 636 636 640 644 648 652 656
2178\\
2179660 664 668 672 672 672 676 680 680 684 688 692 692 696
2180\\
2181700 704 704 708 712 716 716 720 724 724 728 732 736 736
2182\\
2183740 744 748 748 752 756 760 760 764 768 768 772 776 780
2184\\
2185780 784 788 792 792 796 800 804 804 808 812 812 816 820
2186\\
2187824 824 828 832 836 836 840 844 848 848 852 856 860 860
2188\\
2189860 864 864 868 872 872 876 880 880 884 884 888 892 892
2190\\
2191896 900 900 904 908 908 912 912 916 920 920 924 928 928
2192\\
2193932 936 936 940 940 944 948 948 952 956 956 960 964 964
2194\\
2195968 968 972 976 976 980 984 984 988 992 992 996 996 1000
2196\\
21971004 1004 1008 1012 1012 1016 1020 1024
2198\\
2199\end{tabular}
2200\\
2201\Option{SEIToneMapNumPivots} &
2202\Default{0} &
2203Specifies the number of pivot points in mode 3.
2204\\
2205\Option{SEIToneMapCodedPivotValue} &
2206\Default{\None} &
2207Array of coded pivot point in mode 3.
2208A suggested table is:
2209\par
2210\begin{tabular}{cp{0.45\textwidth}}
221164 128 256 512 768
2212\end{tabular}
2213\\
2214\Option{SEIToneMapTargetPivotValue} &
2215\Default{\None} &
2216Array of target pivot point in mode 3.
2217A suggested table is:
2218\par
2219\begin{tabular}{cp{0.45\textwidth}}
222048 73 111 168 215
2221\end{tabular}
2222\\
2223\Option{SEIToneMap...} \Option{CameraIsoSpeedIdc} &
2224\Default{0} &
2225Indicates the camera ISO speed for daylight illumination.
2226\\
2227\Option{SEIToneMap...} \Option{CameraIsoSpeedValue} &
2228\Default{400} &
2229Specifies the camera ISO speed for daylight illumination of Extended_ISO.
2230\\
2231\Option{SEIToneMap...} \Option{ExposureIndexIdc} &
2232\Default{0} &
2233Indicates the exposure index setting of the camera.
2234\\
2235\Option{SEIToneMap...} \Option{ExposureIndexValue} &
2236\Default{400} &
2237Specifies the exposure index setting of the cameran of Extended_ISO.
2238\\
2239\Option{SEIToneMapExposure...} \Option{CompensationValueSignFlag} &
2240\Default{0} &
2241Specifies the sign of ExposureCompensationValue.
2242\\
2243\Option{SEIToneMapExposure...} \Option{CompensationValueNumerator} &
2244\Default{0} &
2245Specifies the numerator of ExposureCompensationValue.
2246\\
2247\Option{SEIToneMapExposure...} \Option{CompensationValueDenomIdc} &
2248\Default{2} &
2249Specifies the denominator of ExposureCompensationValue.
2250\\
2251\Option{SEIToneMapRef...} \Option{ScreenLuminanceWhite} &
2252\Default{350} &
2253Specifies reference screen brightness setting in units of candela per square metre.
2254\\
2255\Option{SEIToneMapExtended...} \Option{RangeWhiteLevel} &
2256\Default{800} &
2257Indicates the luminance dynamic range.
2258\\
2259\Option{SEIToneMapNominal...} \Option{BlackLevelLumaCodeValue} &
2260\Default{16} &
2261Specifies luma sample value of the nominal black level assigned decoded pictures.
2262\\
2263\Option{SEIToneMapNominal...} \Option{WhiteLevelLumaCodeValue} &
2264\Default{235} &
2265Specifies luma sample value of the nominal white level assigned decoded pictures.
2266\\
2267\Option{SEIToneMapExtended...} \Option{WhiteLevelLumaCodeValue} &
2268\Default{300} &
2269Specifies luma sample value of the extended dynamic range assigned decoded pictures.
2270\\
2271\end{OptionTableNoShorthand}
2272
2273
2274
2275\begin{OptionTableNoShorthand}{Frame packing arrangement SEI message encoder parameters}{tab:sei-frame-packing-arrangement}
2276\Option{SEIFramePacking} &
2277\Default{0} &
2278Enables or disables the insertion of the Frame packing arrangement SEI messages.
2279\\
2280\Option{SEIFramePackingType} &
2281\Default{0} &
2282Indicates the arrangement type in the Frame packing arrangement SEI message.
2283This option has no effect if SEIFramePacking is disabled.
2284\par
2285\begin{tabular}{cp{0.35\textwidth}}
2286  3 & Side by Side \\
2287  4 & Top Bottom \\
2288  5 & Frame Alternate \\
2289\end{tabular}
2290\\
2291\Option{SEIFramePackingInterpretation} &
2292\Default{0} &
2293Indicates the constituent frames relationship in the Frame packing arrangement SEI message.
2294This option has no effect if SEIFramePacking is disabled.
2295\par
2296\begin{tabular}{cp{0.35\textwidth}}
2297  0 & Unspecified \\
2298  1 & Frame 0 is associated with the left view of a stereo pair \\
2299  2 & Frame 0 is associated with the right view of a stereo pair \\
2300\end{tabular}
2301\\
2302\Option{SEIFramePackingQuincunx} &
2303\Default{0} &
2304Enables or disables the quincunx_sampling signalling in the
2305Frame packing arrangement SEI messages. This option has no
2306effect if SEIFramePacking is disabled.
2307\\
2308\Option{SEIFramePackingId} &
2309\Default{0} &
2310Indicates the session number in the Frame packing arrangement
2311SEI messages. This option has no effect if SEIFramePacking is
2312disabled.
2313\\
2314\end{OptionTableNoShorthand}
2315
2316
2317
2318\begin{OptionTableNoShorthand}{Display orientation SEI message encoder parameters}{tab:sei-display-orientation}
2319\Option{SEIDisplayOrientation} &
2320\Default{0} &
2321Enables or disables the insertion of the Display orientation
2322SEI messages.
2323\par
2324\begin{tabular}{cp{0.20\textwidth}}
2325  0 & Disabled \\
2326  N: $0 < N < (2^{16} - 1)$ & Enable display orientation SEI message with
2327  \mbox{anticlockwise_rotation = N} 
2328  and \mbox{display_orientation_repetition_period = 1} \\
2329\end{tabular}
2330\\
2331\end{OptionTableNoShorthand}
2332
2333
2334
2335\begin{OptionTableNoShorthand}{Structure of pictures information SEI message encoder parameters}{tab:sei-sop-info}
2336\Option{SEISOPDescription} &
2337\Default{0} &
2338Enables or disables the insertion of the Structure of pictures information SEI messages.
2339\\
2340\end{OptionTableNoShorthand}
2341
2342
2343
2344\begin{OptionTableNoShorthand}{Active parameter sets SEI message encoder parameters}{tab:sei-active-parameter-sets}
2345\Option{SEIActiveParameterSets} &
2346\Default{0} &
2347Enables or disables the insertion of the Active parameter sets
2348SEI messages.
2349\\
2350\end{OptionTableNoShorthand}
2351
2352
2353
2354\begin{OptionTableNoShorthand}{Decoding unit information SEI message encoder parameters}{tab:sei-decoding-unit-info}
2355\Option{SEIDecodingUnitInfo} &
2356\Default{0} &
2357Enables or disables the insertion of the Decoding unit information
2358SEI messages. This option has no effect if VuiParametersPresent is disabled.
2359\\
2360\end{OptionTableNoShorthand}
2361
2362
2363
2364\begin{OptionTableNoShorthand}{Temporal sub-layer zero index SEI message encoder parameters}{tab:sei-temporal-level-0}
2365\Option{SEITemporalLevel0Index} &
2366\Default{0} &
2367Enables or disables the insertion of the Temporal level zero index
2368SEI messages.
2369\\
2370\end{OptionTableNoShorthand}
2371
2372
2373
2374\begin{OptionTableNoShorthand}{Decoded picture hash SEI message encoder parameters}{tab:sei-decoded-picture-hash}
2375\Option{SEIDecodedPictureHash} &
2376\Default{0} &
2377Enables or disables the calculation and insertion of the Decoded picture hash
2378SEI messages.
2379\par
2380\begin{tabular}{cp{0.35\textwidth}}
2381  0 & Disabled \\
2382  1 & Transmits MD5 in SEI message and writes the value to the encoder
2383      log \\
2384  2 & Transmits CRC in SEI message and writes the value to the encoder
2385      log \\
2386  3 & Transmits checksum in SEI message and writes the value to the encoder
2387      log \\
2388\end{tabular}
2389\\
2390\end{OptionTableNoShorthand}
2391
2392
2393
2394\begin{OptionTableNoShorthand}{Scalable nesting SEI message encoder parameters}{tab:sei-scalable-nesting}
2395\Option{SEIScalableNesting} &
2396\Default{0} &
2397Enables or disables the use of the scalable nesting SEI messages.
2398\\
2399\end{OptionTableNoShorthand}
2400
2401
2402       
2403\begin{OptionTableNoShorthand}{Region refresh information SEI message encoder parameters}{tab:sei-region-refresh-info}
2404\Option{SEIGradualDecodingRefreshInfo} &
2405\Default{0} &
2406Enables or disables the insertion of the Gradual decoding refresh information
2407SEI messages.
2408\\
2409\end{OptionTableNoShorthand}
2410
2411
2412
2413\begin{OptionTableNoShorthand}{No display SEI message encoder parameters}{tab:sei-no-display}
2414\Option{SEINoDisplay} &
2415\Default{0} &
2416When non-zero, generate no-display SEI message for temporal layer N or higher.
2417\\
2418\end{OptionTableNoShorthand}
2419
2420
2421       
2422\begin{OptionTableNoShorthand}{Time code SEI message encoder parameters}{tab:sei-time-code}
2423\Option{SEITimeCodeEnabled} &
2424\Default{false} &
2425When true (non-zero), generate Time code SEI messages.
2426\\
2427\Option{SEITimeCodeNumClockTs} &
2428\Default{0} &
2429Number of clock time sets, in the range of 0 to 3 (inclusive).
2430\\
2431\Option{SEITimeCodeTimeStampFlag} &
2432\Default{\None} &
2433Time stamp flag associated to each time set (comma or space separated list of entries).
2434\\
2435\Option{SEITimeCodeFieldBasedFlag} &
2436\Default{\None} &
2437Field based flag associated to each time set (comma or space separated list of entries).
2438\\
2439\Option{SEITimeCodeCountingType} &
2440\Default{\None} &
2441Counting type associated to each time set (comma or space separated list of entries).
2442\\
2443\Option{SEITimeCodeFullTsFlag} &
2444\Default{\None} &
2445Full time stamp flag associated to each time set (comma or space separated list of entries).
2446\\
2447\Option{SEITimeCodeDiscontinuityFlag} &
2448\Default{\None} &
2449Discontinuity flag associated to each time set (comma or space separated list of entries).
2450\\
2451\Option{SEITimeCodeCntDroppedFlag} &
2452\Default{\None} &
2453Counter dropped flag associated to each time set (comma or space separated list of entries).
2454\\
2455\Option{SEITimeCodeNumFrames} &
2456\Default{\None} &
2457Number of frames associated to each time set (comma or space separated list of entries).
2458\\
2459\Option{SEITimeCodeSecondsFlag} &
2460\Default{\None} &
2461Flag to signal seconds value presence in each time set (comma or space separated list of entries).
2462\\
2463\Option{SEITimeCodeMinutesFlag} &
2464\Default{\None} &
2465Flag to signal minutes value presence in each time set (comma or space separated list of entries).
2466\\
2467\Option{SEITimeCodeHoursFlag} &
2468\Default{\None} &
2469Flag to signal hours value presence in each time set (comma or space separated list of entries).
2470\\
2471\Option{SEITimeCodeSecondsValue} &
2472\Default{\None} &
2473Seconds value for each time set (comma or space separated list of entries).
2474\\
2475\Option{SEITimeCodeMinutesValue} &
2476\Default{\None} &
2477Minutes value for each time set (comma or space separated list of entries).
2478\\
2479\Option{SEITimeCodeHoursValue} &
2480\Default{\None} &
2481Hours value for each time set (comma or space separated list of entries).
2482\\
2483\Option{SEITimeCodeOffsetLength} &
2484\Default{\None} &
2485Time offset length associated to each time set (comma or space separated list of entries).
2486\\
2487\Option{SEITimeCodeTimeOffset} &
2488\Default{\None} &
2489Time offset associated to each time set (comma or space separated list of entries).
2490\\
2491\end{OptionTableNoShorthand}
2492
2493
2494
2495\begin{OptionTableNoShorthand}{Mastering display colour volume SEI message encoder parameters}{tab:sei-mastering-display-colour-volume}
2496\Option{SEIMasteringDisplayColourVolume} &
2497\Default{false} &
2498When true (non-zero), generate Mastering display colour volume SEI message.
2499\\
2500\Option{SEIMasteringDisplayMaxLuminance} &
2501\Default{10000} &
2502Specifies the mastering display maximum luminance value in units of 1/10000 candela per square metre.
2503\\
2504\Option{SEIMasteringDisplayMinLuminance} &
2505\Default{0} &
2506Specifies the mastering display minimum luminance value in units of 1/10000 candela per square metre.
2507\\
2508\Option{SEIMasteringDisplayPrimaries} &
2509\Default{0,50000, 0,0, 50000,0} &
2510Mastering display primaries for all three colour planes in CIE xy coordinates in increments of 1/50000 (results in the ranges 0 to 50000 inclusive).
2511\\
2512\Option{SEIMasteringDisplayWhitePoint} &
2513\Default{16667, 16667} &
2514Mastering display white point CIE xy coordinates in normalized increments of 1/50000 (e.g. 0.333 = 16667).
2515\\
2516\end{OptionTableNoShorthand}
2517
2518
2519
2520\begin{OptionTableNoShorthand}{Segmented rectangular frame packing arrangement SEI message encoder parameters}{tab:sei-seg-rect-fpa}
2521\Option{SEISegmentedRectFramePacking} &
2522\Default{0} &
2523Controls generation of segmented rectangular frame packing SEI messages.
2524\\
2525\Option{SEISegmentedRectFramePackingCancel} &
2526\Default{false} &
2527If true, cancels the persistence of any previous SRFPA SEI message.
2528\\
2529\Option{SEISegmentedRectFramePackingType} &
2530\Default{0} &
2531Specifies the arrangement of the frames in the reconstructed picture.
2532\\
2533\Option{SEISegmentedRectFramePackingPersistence} &
2534\Default{false} &
2535If false the SEI applies to the current frame only.
2536\\
2537\end{OptionTableNoShorthand}
2538
2539
2540
2541\begin{OptionTableNoShorthand}{Temporal motion-constrained tile sets SEI message encoder parameters}{tab:sei-tmcts}
2542\Option{SEITempMotionConstrainedTileSets} &
2543\Default{false} &
2544When true (non-zero), generates example temporal motion constrained tile sets SEI messages.
2545\\
2546\end{OptionTableNoShorthand}
2547
2548
2549
2550\begin{OptionTableNoShorthand}{Chroma resampling filter hint SEI message encoder parameters}{tab:chroma-resampling-filter-hint}
2551\Option{SEIChromaResamplingFilterHint} &
2552\Default{false} &
2553When true (non-zero), generates example chroma sampling filter hint SEI messages.
2554\\
2555\Option{SEIChromaResamplingHorizontalFilterType} &
2556\Default{2} &
2557Defines the index of the chroma sampling horizontal filter:
2558\par
2559\begin{tabular}{cp{0.35\textwidth}}
2560  0 & Unspecified \\
2561  1 & Filters signalled within the SEI message \\
2562  2 & Filters as described by SMPTE RP 2050-1:2012\\
2563\end{tabular}
2564\\
2565\Option{SEIChromaResamplingVerticalFilterType} &
2566\Default{2} &
2567Defines the index of the chroma sampling vertical filter:
2568\par
2569\begin{tabular}{cp{0.35\textwidth}}
2570  0 & Unspecified \\
2571  1 & Filters signalled within the SEI message \\
2572  2 & Filters as described in the 5/3 filter description of ITU-T Rec. T.800 | ISO/IEC 15444-1\\
2573\end{tabular}
2574\\
2575\end{OptionTableNoShorthand}
2576
2577
2578
2579\begin{OptionTableNoShorthand}{Knee function SEI message encoder parameters}{tab:sei-knee-function}
2580\Option{SEIKneeFunctionInfo} &
2581\Default{false} &
2582Enables (true) or disables (false) the insertion of the Knee function SEI messages.
2583\\
2584\Option{SEIKneeFunctionId} &
2585\Default{0} &
2586Specifies Id of Knee function SEI message for a given session.
2587\\
2588\Option{SEIKneeFunctionCancelFlag} &
2589\Default{false} &
2590Indicates that Knee function SEI message cancels the persistance (true) or follows (false).
2591\\
2592\Option{SEIKneeFunctionPersistenceFlag} &
2593\Default{true} &
2594Specifies the persistence of the Knee function SEI message.
2595\\
2596\Option{SEIKneeFunctionInputDrange} &
2597\Default{1000} &
2598Specifies the peak luminance level for the input picture of Knee function SEI messages.
2599\\
2600\Option{SEIKneeFunctionInputDispLuminance} &
2601\Default{100} &
2602Specifies the expected display brightness for the input picture of Knee function SEI messages.
2603\\
2604\Option{SEIKneeFunctionOutputDrange} &
2605\Default{4000} &
2606Specifies the peak luminance level for the output picture of Knee function SEI messages.
2607\\
2608\Option{SEIKneeFunctionOutputDispLuminance} &
2609\Default{800} &
2610Specifies the expected display brightness for the output picture of Knee function SEI messages.
2611\\
2612\Option{SEIKneeFunctionNumKneePointsMinus1} &
2613\Default{2} &
2614Specifies the number of knee points - 1.
2615\\
2616\Option{SEIKneeFunctionInputKneePointValue} &
2617\Default{} &
2618Array of input knee point. Default table can be set to the following:
2619\par
2620\begin{tabular}{cp{0.45\textwidth}}
2621600 800 900
2622\end{tabular}
2623\\
2624\Option{SEIKneeFunctionOutputKneePointValue} &
2625\Default{} &
2626Array of output knee point. Default table can be set to the following:
2627\par
2628\begin{tabular}{cp{0.45\textwidth}}
2629100 250 450
2630\end{tabular}
2631\\
2632\end{OptionTableNoShorthand}
2633
2634
2635\begin{OptionTableNoShorthand}{Colour remapping SEI message encoder parameters}{tab:sei-colour-remapping}
2636\Option{SEIColourRemappingInfoFileRoot (-cri)} &
2637\Default{\NotSet} &
2638Specifies the prefix of input Colour Remapping Information file. Prefix is completed by ``_x.txt'' where x is the  POC number.
2639The 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.
2640An example file can be found in cfg/misc/example_colour_remapping_sei_encoder_0.txt.
2641\\
2642\end{OptionTableNoShorthand}
2643
2644
2645
2646%\Option{SEITimeCode} &
2647%\Default{false} &
2648%When true, generate time code SEI messages.
2649%\\
2650
2651%%
2652%%
2653%%
2654\subsection{Hardcoded encoder parameters}
2655\begin{MacroTable}{CommonDef.h constants}
2656ADAPT_SR_SCALE &
26571 &
2658Defines a scaling factor used to derive the motion search range is
2659adaptive (see ASR configuration parameter). Default value is 1.
2660\\
2661
2662MAX_GOP &
266364 &
2664maximum size of value of hierarchical GOP.
2665\\
2666
2667MAX_NUM_REF &
26684 &
2669maximum number of multiple reference frames
2670\\
2671
2672MAX_NUM_REF_LC &
26738 &
2674maximum number of combined reference frames
2675\\
2676
2677AMVP_MAX_NUM_CANDS &
26782 &
2679maximum number of final candidates
2680\\
2681
2682AMVP_MAX_NUM_CANDS_MEM &
26833 &
2684\\
2685
2686MRG_MAX_NUM_CANDS &
26875 &
2688\\
2689
2690DYN_REF_FREE &
2691off &
2692dynamic free of reference memories
2693\\
2694
2695MAX_TLAYER &
26968 &
2697maximum number of temporal layers
2698\\
2699
2700ADAPT_SR_SCALE &
2701on &
2702division factor for adaptive search range
2703\\
2704
2705EARLY_SKIP_THRES &
27061.5 &
2707early skip if RD < EARLY_SKIP_THRES*avg[BestSkipRD]
2708\\
2709
2710MAX_NUM_REF_PICS &
271116 &
2712\\
2713
2714MAX_CHROMA_FORMAT_IDC &
27153 &
2716\\
2717\end{MacroTable}
2718
2719\subsubsection*{TypeDef.h}
2720Numerous constants that guard individual adoptions are defined within
2721\url{source/Lib/TLibCommon/TypeDef.h}.
2722
2723
2724%%
2725%%
2726%%
2727\clearpage
2728\section{Using the decoder}
2729\subsection{General}
2730\begin{verbatim}
2731TAppDecoder -b str.bin -o dec.yuv [options]
2732\end{verbatim}
2733
2734\begin{OptionTableNoShorthand}{Decoder options}{tab:decoder-options}
2735\Option{(--help)} &
2736%\ShortOption{\None} &
2737\Default{\None} &
2738Prints usage information.
2739\\
2740
2741\Option{BitStreamFile (-b)} &
2742%\ShortOption{-b} &
2743\Default{\NotSet} &
2744Defines the input bit stream file name.
2745\\
2746
2747\Option{ReconFile (-o)} &
2748%\ShortOption{-o} &
2749\Default{\NotSet} &
2750Defines reconstructed YUV file name. If empty, no file is generated.
2751\\
2752
2753\Option{SkipFrames (-s)} &
2754%\ShortOption{-s} &
2755\Default{0} &
2756Defines the number of pictures in decoding order to skip.
2757\\
2758
2759\Option{MaxTemporalLayer (-t)} &
2760%\ShortOption{-t} &
2761\Default{-1} &
2762Defines the maximum temporal layer to be decoded. If -1, then all layers are decoded.
2763\\
2764
2765\Option{TarDecLayerIdSetFile (-l)} &
2766%\ShortOption{-t} &
2767\Default{\NotSet} &
2768Specifies the targetDecLayerIdSet file name. The file would contain white-space separated LayerId values of the layers that are to be decoded.
2769Omitting the parameter, or using a value of -1 in the file decodes all layers.
2770\\
2771
2772\Option{OutputBitDepth (-d)} &
2773%\ShortOption{-d} &
2774\Default{0 \\ (Native)} &
2775Specifies the luma bit-depth of the reconstructed YUV file (the value 0 indicates
2776that the native bit-depth is used)
2777\\
2778
2779\Option{OutputBitDepthC} &
2780%\ShortOption{\None} &
2781\Default{0 \\ (Native)} &
2782Defines the chroma bit-depth of the reconstructed YUV file (the value 0 indicates
2783that the native bit-depth is used)
2784\\
2785
2786\Option{SEIDecodedPictureHash} &
2787%\ShortOption{\None} &
2788\Default{1} &
2789Enable or disable verification of any Picture hash SEI messages. When
2790this parameter is set to 0, the feature is disabled and all messages are
2791ignored. When set to 1 (default), the feature is enabled and the decoder
2792has the following behaviour:
2793\begin{itemize}
2794\item
2795  If Picture hash SEI messages are included in the bit stream, the same type
2796  of hash is calculated for each decoded picture and written to the
2797  log together with an indication whether the calculted value matches
2798  the value in the SEI message.
2799  Decoding will continue even if there is a mismatch.
2800
2801\item
2802  After decoding is complete, if any MD5sum comparison failed, a warning
2803  is printed and the decoder exits with the status EXIT_FAILURE
2804
2805\item
2806  The per-picture MD5 log message has the following formats:
2807  [MD5:d41d8cd98f00b204e9800998ecf8427e,(OK)],
2808  [MD5:d41d8cd98f00b204e9800998ecf8427e,(unk)],
2809  [MD5:d41d8cd98f00b204e9800998ecf8427e,(***ERROR***)] [rxMD5:b9e1...]
2810  where, "(unk)" implies that no MD5 was signalled for this picture,
2811  "(OK)" implies that the decoder agrees with the signalled MD5,
2812  "(***ERROR***)" implies that the decoder disagrees with the signalled
2813  MD5. "[rxMD5:...]" is the signalled MD5 if different.
2814\end{itemize}
2815\\
2816
2817\Option{OutputDecodedSEIMessagesFilename} &
2818%\ShortOption{\None} &
2819\Default{\NotSet} &
2820When 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.
2821\\
2822
2823\Option{SEIColourRemappingInfoFilename} &
2824%\ShortOption{\None} &
2825\Default{\NotSet} &
2826Specifies that the colour remapping SEI message should be applied to the output video, with the output written to this file.
2827If no value is specified, the SEI message is ignored and no mapping is applied.
2828\\
2829
2830\Option{RespectDefDispWindow (-w)} &
2831%\ShortOption{-w} &
2832\Default{0} &
2833Video region to be output by the decoder.
2834\par
2835\begin{tabular}{cp{0.45\textwidth}}
2836  0 & Output content inside the conformance window. \\
2837  1 & Output content inside the default window. \\
2838\end{tabular}
2839\\
2840
2841\Option{OutputColourSpaceConvert} &
2842\Default{\NotSet} &
2843Specifies the colour space conversion to apply to 444 video. Permitted values are:
2844\par
2845\begin{tabular}{lp{0.45\textwidth}}
2846  UNCHANGED   & No colour space conversion is applied \\
2847  YCrCbToYCbCr & Swap the second and third components \\
2848  GBRtoRGB     & Reorder the three components \\
2849\end{tabular}
2850If no value is specified, no colour space conversion is applied. The list may eventually also include RGB to YCbCr or YCgCo conversions.\\
2851\\
2852
2853\Option{SEINoDisplay} &
2854\Default{false} &
2855When true, do not output frames for which there is an SEI NoDisplay message.
2856\\
2857
2858\Option{ClipOutputVideoToRec709Range} &
2859%\ShortOption{\None} &
2860\Default{0} &
2861If 1 then clip output video to the Rec. 709 Range on saving when OutputBitDepth is less than InternalBitDepth.
2862\\
2863
2864\end{OptionTableNoShorthand}
2865
2866
2867\subsection{Using the decoder analyser}
2868If 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.
2869The 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).
2870
2871
2872\end{document}
Note: See TracBrowser for help on using the repository browser.