From b2ea757f6843e834bddded5fc9922d6e09f87638 Mon Sep 17 00:00:00 2001 From: Mark Thompson Date: Mon, 5 Nov 2018 14:47:19 +0000 Subject: doc/encoders: Add libaom-av1 --- doc/encoders.texi | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) 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. -- cgit v1.2.3