[FFmpeg-devel] [PATCH V4 2/2] doc: Add libsvt_hevc encoder docs

Jun Zhao mypopydev at gmail.com
Sun Dec 9 11:24:55 EET 2018


Add docs for libsvt_hevc encoder in encoders.texi and general.texi

Signed-off-by: Jun Zhao <jun.zhao at intel.com>
Signed-off-by: Huang, Zhengxu <zhengxu.huang at intel.com>
Signed-off-by: hassene <hassene.tmar at intel.com>
---
 doc/encoders.texi |  157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 doc/general.texi  |   14 +++++
 2 files changed, 171 insertions(+), 0 deletions(-)

diff --git a/doc/encoders.texi b/doc/encoders.texi
index 4db7764..822044f 100644
--- a/doc/encoders.texi
+++ b/doc/encoders.texi
@@ -1566,6 +1566,163 @@ Set maximum NAL size in bytes.
 Allow skipping frames to hit the target bitrate if set to 1.
 @end table
 
+ at section libsvt_hevc
+
+Intel Scalable Video Technology 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-libsvt}. The library is detected using
+ at command{pkg-config}.
+
+For more information about the library see
+ at url{https://github.com/intel/SVT-HEVC.git}.
+
+ at subsection Options
+
+The following FFmpeg global options affect the configurations of the
+libsvt_hevc encoder.
+
+ at table @option
+ at item b  (@emph{bitrate})
+Set the bitrate (as a number of bits per second). Default is 7M.
+
+ at item refs (@emph{ref})
+Number of reference frames each P-frame can use. The range is from @var{0-16}.
+Default is 0(disabled).
+
+ at item g  / @option{gop_size}
+Set the GOP size. Default is 64.
+
+ at item flags +cgop
+Enable closed GOP.
+
+ at item qmin (@emph{min-q})
+Defaults 10
+
+ at 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 0(cqp) mode.
+Has to be qmax > = qmin).
+
+ at item profile (@emph{profile})
+Set profile restrictions. Can assume one of the following possible values:
+
+Default is 2 (main10).
+
+ at table @samp
+ at item main
+main profile
+ at item main10
+main10 profile
+ at end table
+
+ at item level
+
+ at option{profile} sets the value of @emph{profile_idc} and the @emph{constraint_set*_flag}s.
+ at option{level} sets the value of @emph{level_idc}.
+
+ at end table
+
+The encoder also has its own specific options:
+
+ at table @option
+ at item vui
+Enables or disables the vui structure in the HEVC elementary
+bitstream. 0 = Off, 1 = On. Default is 0 (Off).
+
+ at item aud (@emph{aud})
+Enable use of access unit delimiters when set to 1. Default is 0 (Off).
+
+ at item hielevel
+Set hierarchical levels. Can assume one of the following possible values:
+
+Default is 3 (4level).
+
+ at table @samp
+ at item flat
+none hierarchy level
+ at item 2level
+2-level hierarchy
+ at item 3level
+3-level hierarchy
+ at item 4level
+4-level hierarchy
+ at end table
+
+ at 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}.
+
+ at item intra_ref_type
+Set intra refesh type. Can assume one of the following possible values:
+
+Default is 2 (idr).
+
+ at table @samp
+ at item cra
+open group of pictures
+ at item idr
+closed group of pictures
+ at end table
+
+ at 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.
+
+ at 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).
+
+ at table @samp
+ at item main
+main tier
+ at item high
+high tier
+ at end table
+
+ at item rc
+Set bit rate control mode. Can assume one of the following possible values:
+
+Default is 0 (cqp).
+
+ at table @samp
+ at item cqp
+Constant QP (CQP) mode
+ at item vbr
+Variable Bit Rate (VBR) mode
+ at end table
+
+ at item qp
+Initial quantization parameter for the intra pictures used when
+ at option{rc} is cqp mode. The range is from @var{0-51}. Default is 32.
+
+ at item sc_detection
+Enables or disables the scene change detection algorithm. Default is 0 (disable).
+
+ at item tune
+Set quality tuning mode. Can assume one of the following possible values:
+
+Default is 1 (objective).
+
+ at table @samp
+ at item subjective
+Subjective quality mode
+ at item objective
+Objective quality mode for PSNR / SSIM / VMAF benchmarking
+ at end table
+
+ at item bl_mode
+Enables or disables Random Access Prediction. Default is 0 (disable).
+ at end table
+
 @section libtheora
 
 libtheora Theora encoder wrapper.
diff --git a/doc/general.texi b/doc/general.texi
index 2bc33d1..81995a0 100644
--- a/doc/general.texi
+++ b/doc/general.texi
@@ -126,6 +126,20 @@ The dispatcher is open source and can be downloaded from
 with the @code{--enable-libmfx} option and @code{pkg-config} needs to be able to
 locate the dispatcher's @code{.pc} files.
 
+ at section Intel SVT-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. Then pass @code{--enable-libsvt} to configure to
+enable it.
+
+ at float NOTE
+Intel SVT_HEVC encoder is under the BSD-2-Clause Plus Patent License
+(see @url{https://spdx.org/licenses/BSD-2-Clause-Patent.html} for
+details), you must upgrade FFmpeg's license to GPL in order to use it.
+ at end float
+
 @section Kvazaar
 
 FFmpeg can make use of the Kvazaar library for HEVC encoding.
-- 
1.7.1



More information about the ffmpeg-devel mailing list