[FFmpeg-devel,v8,2/2] doc: Add libsvt_hevc encoder docs

Submitted by Jing SUN on March 20, 2019, 7:44 a.m.

Details

Message ID 1553067870-13756-1-git-send-email-jing.a.sun@intel.com
State New
Headers show

Commit Message

Jing SUN March 20, 2019, 7:44 a.m.
Add docs for libsvt_hevc encoder in encoders.texi and general.texi

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Zhengxu Huang <zhengxu.huang@intel.com>
Signed-off-by: Hassene Tmar <hassene.tmar@intel.com>
Signed-off-by: Jing Sun <jing.a.sun@intel.com>
---
 doc/encoders.texi | 145 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 doc/general.texi  |   8 +++
 2 files changed, 153 insertions(+)

Comments

Gyan March 20, 2019, 7:13 a.m.
The changes in my review don't look to have been made.

http://www.ffmpeg.org/pipermail/ffmpeg-devel/2019-March/240931.html

Gyan

On 20-03-2019 01:14 PM, Jing Sun wrote:
> Add docs for libsvt_hevc encoder in encoders.texi and general.texi
>
> Signed-off-by: Jun Zhao <jun.zhao@intel.com>
> Signed-off-by: Zhengxu Huang <zhengxu.huang@intel.com>
> Signed-off-by: Hassene Tmar <hassene.tmar@intel.com>
> Signed-off-by: Jing Sun <jing.a.sun@intel.com>
> ---
>   doc/encoders.texi | 145 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
>   doc/general.texi  |   8 +++
>   2 files changed, 153 insertions(+)
>
> diff --git a/doc/encoders.texi b/doc/encoders.texi
> index 29625ba..0b30776 100644
> --- a/doc/encoders.texi
> +++ b/doc/encoders.texi
> @@ -1569,6 +1569,151 @@ Set maximum NAL size in bytes.
>   Allow skipping frames to hit the target bitrate if set to 1.
>   @end table
>   
> +@section libsvt_hevc
> +
> +Scalable Video Technology for HEVC encoder (SVT-HEVC encoder) wrapper.
> +
> +This encoder requires the presence of the headers and
> +library during configuration. You need to explicitly configure the
> +build with @code{--enable-libsvthevc}. The library is detected using
> +@command{pkg-config}.
> +
> +For more information about the library see
> +@url{https://github.com/intel/SVT-HEVC.git}.
> +
> +@subsection Options
> +
> +The following FFmpeg global options affect the configurations of the
> +libsvt_hevc encoder.
> +
> +@table @option
> +@item b  (@emph{bitrate})
> +Set the bitrate (as a number of bits per second). Default is 7M.
> +
> +@item g  / @option{gop_size}
> +Set the GOP size. Default is -2 (unspecified).
> +
> +@item flags +cgop
> +Enable closed GOP.
> +
> +@item qmin (@emph{min-q})
> +Defaults 10
> +
> +@item qmax (@emph{max-q})
> +Defaults 48
> +
> +Set minimum/maximum quantisation values.  Valid range is from 0 to 51
> +(Only used when bit rate control mode @option{rc} is set to 1(vbr) mode.
> +Has to be qmax > = qmin).
> +
> +@item profile (@emph{profile})
> +Set profile restrictions. Can assume one of the following possible values:
> +
> +Default is 2 (main10).
> +
> +@table @samp
> +@item main
> +main profile
> +@item main10
> +main10 profile
> +@end table
> +
> +@item level
> +
> +@option{profile} sets the value of @emph{profile}.
> +@option{level} sets the value of @emph{level}.
> +
> +The encoder also has its own specific options:
> +
> +@table @option
> +@item vui
> +Enables or disables the vui structure in the HEVC elementary
> +bitstream. 0 = Off, 1 = On. Default is 0 (Off).
> +
> +@item aud (@emph{aud})
> +Enable use of access unit delimiters when set to 1. Default is 0 (Off).
> +
> +@item hielevel
> +Set hierarchical levels. Can assume one of the following possible values:
> +
> +Default is 3 (4level).
> +
> +@table @samp
> +@item flat
> +none hierarchy level
> +@item 2level
> +2-level hierarchy
> +@item 3level
> +3-level hierarchy
> +@item 4level
> +4-level hierarchy
> +@end table
> +
> +@item la_depth
> +Set look-ahead depth, depending on bit rate control mode @option{rc}, when
> +bit rate control mode is set to vbr it's best to set this parameter to be
> +equal to the intra period value (such is the default set by the encoder),
> +when cqp is chosen, then a look ahead is recommended. The range is from @var{0-256}.
> +
> +@item preset
> +A preset defining the quality vs density tradeoff point that the
> +encoding is to be performed at.(e.g. 0 is the highest quality mode,
> +12 is the highest density mode). The range is from @var{0-12}. Default is 9.
> +
> +@item tier
> +Set @emph{general_tier_flag}.  This may affect the level chosen for the stream
> +if it is not explicitly specified. Can assume one of the following possible values:
> +
> +Default is 1 (main).
> +
> +@table @samp
> +@item main
> +main tier
> +@item high
> +high tier
> +@end table
> +
> +@item rc
> +Set bit rate control mode. Can assume one of the following possible values:
> +
> +Default is 0 (cqp).
> +
> +@table @samp
> +@item cqp
> +Constant QP (CQP) mode
> +@item vbr
> +Variable Bit Rate (VBR) mode
> +@end table
> +
> +@item qp
> +Initial quantization parameter for the intra pictures used when
> +@option{rc} is cqp mode. The range is from @var{0-51}. Default is 32.
> +
> +@item sc_detection
> +Enables or disables the scene change detection algorithm. Default is 0 (disable).
> +
> +@item tune
> +Set quality tuning mode. Can assume one of the following possible values:
> +
> +Default is 1 (oq).
> +
> +@table @samp
> +@item sq
> +Visually optimized mode
> +@item oq
> +PSNR / SSIM optimized mode
> +@item vmaf
> +VMAF optimized mode
> +@end table
> +
> +@item bl_mode
> +Enables or disables Random Access Prediction. Default is 0 (disable).
> +@end table
> +
> +@item hdr
> +High dynamic range input. Default is 0 (disable).
> +@end table
> +
>   @section libtheora
>   
>   libtheora Theora encoder wrapper.
> diff --git a/doc/general.texi b/doc/general.texi
> index fe94c40..f90e188 100644
> --- a/doc/general.texi
> +++ b/doc/general.texi
> @@ -234,6 +234,14 @@ FFmpeg can use the OpenJPEG libraries for decoding/encoding J2K videos.  Go to
>   instructions.  To enable using OpenJPEG in FFmpeg, pass @code{--enable-libopenjpeg} to
>   @file{./configure}.
>   
> +@section Scalable Video Technology for HEVC
> +
> +FFmpeg can make use of the SVT-HEVC library for HEVC encoding.
> +
> +Go to @url{https://github.com/intel/SVT-HEVC.git} and follow the instructions
> +for installing the library. Pass @code{--enable-libsvthevc} to configure to
> +enable it.
> +
>   @section TwoLAME
>   
>   FFmpeg can make use of the TwoLAME library for MP2 encoding.

Patch hide | download patch | download mbox

diff --git a/doc/encoders.texi b/doc/encoders.texi
index 29625ba..0b30776 100644
--- a/doc/encoders.texi
+++ b/doc/encoders.texi
@@ -1569,6 +1569,151 @@  Set maximum NAL size in bytes.
 Allow skipping frames to hit the target bitrate if set to 1.
 @end table
 
+@section libsvt_hevc
+
+Scalable Video Technology for HEVC encoder (SVT-HEVC encoder) wrapper.
+
+This encoder requires the presence of the headers and
+library during configuration. You need to explicitly configure the
+build with @code{--enable-libsvthevc}. The library is detected using
+@command{pkg-config}.
+
+For more information about the library see
+@url{https://github.com/intel/SVT-HEVC.git}.
+
+@subsection Options
+
+The following FFmpeg global options affect the configurations of the
+libsvt_hevc encoder.
+
+@table @option
+@item b  (@emph{bitrate})
+Set the bitrate (as a number of bits per second). Default is 7M.
+
+@item g  / @option{gop_size}
+Set the GOP size. Default is -2 (unspecified).
+
+@item flags +cgop
+Enable closed GOP.
+
+@item qmin (@emph{min-q})
+Defaults 10
+
+@item qmax (@emph{max-q})
+Defaults 48
+
+Set minimum/maximum quantisation values.  Valid range is from 0 to 51
+(Only used when bit rate control mode @option{rc} is set to 1(vbr) mode.
+Has to be qmax > = qmin).
+
+@item profile (@emph{profile})
+Set profile restrictions. Can assume one of the following possible values:
+
+Default is 2 (main10).
+
+@table @samp
+@item main
+main profile
+@item main10
+main10 profile
+@end table
+
+@item level
+
+@option{profile} sets the value of @emph{profile}.
+@option{level} sets the value of @emph{level}.
+
+The encoder also has its own specific options:
+
+@table @option
+@item vui
+Enables or disables the vui structure in the HEVC elementary
+bitstream. 0 = Off, 1 = On. Default is 0 (Off).
+
+@item aud (@emph{aud})
+Enable use of access unit delimiters when set to 1. Default is 0 (Off).
+
+@item hielevel
+Set hierarchical levels. Can assume one of the following possible values:
+
+Default is 3 (4level).
+
+@table @samp
+@item flat
+none hierarchy level
+@item 2level
+2-level hierarchy
+@item 3level
+3-level hierarchy
+@item 4level
+4-level hierarchy
+@end table
+
+@item la_depth
+Set look-ahead depth, depending on bit rate control mode @option{rc}, when
+bit rate control mode is set to vbr it's best to set this parameter to be
+equal to the intra period value (such is the default set by the encoder),
+when cqp is chosen, then a look ahead is recommended. The range is from @var{0-256}.
+
+@item preset
+A preset defining the quality vs density tradeoff point that the
+encoding is to be performed at.(e.g. 0 is the highest quality mode,
+12 is the highest density mode). The range is from @var{0-12}. Default is 9.
+
+@item tier
+Set @emph{general_tier_flag}.  This may affect the level chosen for the stream
+if it is not explicitly specified. Can assume one of the following possible values:
+
+Default is 1 (main).
+
+@table @samp
+@item main
+main tier
+@item high
+high tier
+@end table
+
+@item rc
+Set bit rate control mode. Can assume one of the following possible values:
+
+Default is 0 (cqp).
+
+@table @samp
+@item cqp
+Constant QP (CQP) mode
+@item vbr
+Variable Bit Rate (VBR) mode
+@end table
+
+@item qp
+Initial quantization parameter for the intra pictures used when
+@option{rc} is cqp mode. The range is from @var{0-51}. Default is 32.
+
+@item sc_detection
+Enables or disables the scene change detection algorithm. Default is 0 (disable).
+
+@item tune
+Set quality tuning mode. Can assume one of the following possible values:
+
+Default is 1 (oq).
+
+@table @samp
+@item sq
+Visually optimized mode
+@item oq
+PSNR / SSIM optimized mode
+@item vmaf
+VMAF optimized mode
+@end table
+
+@item bl_mode
+Enables or disables Random Access Prediction. Default is 0 (disable).
+@end table
+
+@item hdr
+High dynamic range input. Default is 0 (disable).
+@end table
+
 @section libtheora
 
 libtheora Theora encoder wrapper.
diff --git a/doc/general.texi b/doc/general.texi
index fe94c40..f90e188 100644
--- a/doc/general.texi
+++ b/doc/general.texi
@@ -234,6 +234,14 @@  FFmpeg can use the OpenJPEG libraries for decoding/encoding J2K videos.  Go to
 instructions.  To enable using OpenJPEG in FFmpeg, pass @code{--enable-libopenjpeg} to
 @file{./configure}.
 
+@section Scalable Video Technology for HEVC
+
+FFmpeg can make use of the SVT-HEVC library for HEVC encoding.
+
+Go to @url{https://github.com/intel/SVT-HEVC.git} and follow the instructions
+for installing the library. Pass @code{--enable-libsvthevc} to configure to
+enable it.
+
 @section TwoLAME
 
 FFmpeg can make use of the TwoLAME library for MP2 encoding.