doc/encoders: Add libaom-av1

This commit is contained in:
Mark Thompson 2018-11-05 14:47:19 +00:00
parent f951036d32
commit b2ea757f68
1 changed files with 109 additions and 0 deletions

View File

@ -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.