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