summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Thompson <sw@jkqxz.net>2018-11-05 14:47:19 +0000
committerMark Thompson <sw@jkqxz.net>2018-11-18 18:13:04 +0000
commitb2ea757f6843e834bddded5fc9922d6e09f87638 (patch)
tree5ffe79c396349d9a5dd507b8904e6244e4b6cf57
parentf951036d3243c04d60f30e23d409a734e40e2fbc (diff)
doc/encoders: Add libaom-av1
-rw-r--r--doc/encoders.texi109
1 files changed, 109 insertions, 0 deletions
diff --git a/doc/encoders.texi b/doc/encoders.texi
index afffcb3a7f..bc5772ad38 100644
--- a/doc/encoders.texi
+++ b/doc/encoders.texi
@@ -1370,6 +1370,115 @@ makes it possible to store non-rgb pix_fmts.
@end table
+@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
+@code{--enable-libaom}.
+
+@subsection Options
+
+The wrapper supports the following standard libavcodec options:
+
+@table @option
+
+@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.
+
+@item g keyint_min
+Set key frame placement. The GOP size sets the maximum distance between
+key frames; if zero the output stream will be intra-only. The minimum
+distance is ignored unless it is the same as the GOP size, in which case
+key frames will always appear at a fixed interval. Not set by default,
+so without this option the library has completely free choice about
+where to place key frames.
+
+@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).
+
+@item minrate maxrate bufsize rc_init_occupancy
+Set rate control buffering parameters. Not used if not set - defaults
+to unconstrained variable bitrate.
+
+@item threads
+Set the number of threads to use while encoding. This may require the
+@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.
+
+@item profile
+Set the encoding profile. Defaults to using the profile which matches
+the bit depth and chroma subsampling of the input.
+
+@end table
+
+The wrapper also has some specific options:
+
+@table @option
+
+@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.
+
+@item auto-alt-ref
+Enable use of alternate reference frames. Defaults to the internal
+default of the library.
+
+@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.
+
+@item error-resilience
+Enable error resilience features:
+@table @option
+@item default
+Improve resilience against losses of whole frames.
+@end table
+Not enabled by default.
+
+@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.
+
+@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).
+
+@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).
+
+@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).
+
+@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.
+
+@end table
+
@section libkvazaar
Kvazaar H.265/HEVC encoder.