[FFmpeg-devel] [PATCH 2/3] doc/encoders: Add libaom-av1

Mark Thompson sw at jkqxz.net
Mon Nov 5 16:52:45 EET 2018


---
Updated to add some more explanation of the rate control mode selection.


 doc/encoders.texi | 108 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 108 insertions(+)

diff --git a/doc/encoders.texi b/doc/encoders.texi
index 1ca0ef1543..f2e4199017 100644
--- a/doc/encoders.texi
+++ b/doc/encoders.texi
@@ -1370,6 +1370,114 @@ makes it possible to store non-rgb pix_fmts.
 
 @end table
 
+ at section libaom-av1
+
+libaom AV1 encoder wrapper.
+
+Requires the presence of the libaom headers and library during
+configuration.  You need to explicitly configure the build with
+ at code{--enable-libaom}.
+
+ at subsection Options
+
+The wrapper supports the following standard libavcodec options:
+
+ at table @option
+
+ at item b
+Set bitrate target in bits/second.  By default this will use
+variable-bitrate mode.  If @option{maxrate} and @option{minrate} are
+also set to the same value then it will use constant-bitrate mode,
+otherwise if @option{crf} is set as well then it will use
+constrained-quality mode.
+
+ at item g
+Set GOP size (maximum distance between key frames).
+
+ at item qmin qmax
+Set minimum/maximum quantisation values.  Valid range is from 0 to 63
+(warning: this does not match the quantiser values actually used by AV1
+- divide by four to map real quantiser values to this range).  Defaults
+to min/max (no constraint).
+
+ at item minrate maxrate bufsize rc_init_occupancy
+Set rate control buffering parameters.  Not used if not set - defaults
+to unconstrained variable bitrate.
+
+ at item threads
+Set the number of threads to use while encoding.  This may require the
+ at option{tiles} option to also be set to actually use the specified
+number of threads fully.  Defaults to the number of hardware threads
+supported by the host machine.
+
+ at item profile
+Set the encoding profile.  Defaults to using the profile which matches
+the bit depth and chroma subsampling of the input.
+
+ at item color_range color_primaries colorspace color_trc
+Set colour properties.  Defaults to using the properties from the input,
+if available.
+
+ at end table
+
+The wrapper also has some specific options:
+
+ at table @option
+
+ at item cpu-used
+Set the quality/encoding speed tradeoff.  Valid range is from 0 to 8,
+higher numbers indicating greater speed and lower quality.  The default
+value is 1, which will be slow and high quality.
+
+ at item auto-alt-ref
+Enable use of alternate reference frames.  Defaults to the internal
+default of the library.
+
+ at item lag-in-frames
+Set the maximum number of frames which the encoder may keep in flight
+at any one time for lookahead purposes.  Defaults to the internal
+default of the library.
+
+ at item error-resilience
+Enable error resilience features:
+ at table @option
+ at item default
+Improve resilience against losses of whole frames.
+ at end table
+Not enabled by default.
+
+ at item crf
+Set the quality/size tradeoff for constant-quality (no bitrate target)
+and constrained-quality (with maximum bitrate target) modes. Valid
+range is 0 to 63, higher numbers indicating lower quality and smaller
+output size.  Only used if set; by default only the bitrate target is
+used.
+
+ at item static-thresh
+Set a change threshold on blocks below which they will be skipped by
+the encoder.  Defined in arbitrary units as a nonnegative integer,
+defaulting to zero (no blocks are skipped).
+
+ at item drop-threshold
+Set a threshold for dropping frames when close to rate control bounds.
+Defined as a percentage of the target buffer - when the rate control
+buffer falls below this percentage, frames will be dropped until it
+has refilled above the threshold.  Defaults to zero (no frames are
+dropped).
+
+ at item tiles
+Set the number of tiles to encode the input video with, as colums x
+rows.  Larger numbers allow greater parallelism in both encoding and
+decoding, but may decrease coding efficiency.  Defaults to the minimum
+number of tiles required by the size of the input video (this is 1x1
+(that is, a single tile) for sizes up to and including 4K).
+
+ at item tile-columns tile-rows
+Set the number of tiles as log2 of the number of tile rows and columns.
+Provided for compatibility with libvpx/VP9.
+
+ at end table
+
 @section libkvazaar
 
 Kvazaar H.265/HEVC encoder.
-- 
2.19.1



More information about the ffmpeg-devel mailing list