]> git.sesse.net Git - ffmpeg/blobdiff - doc/encoders.texi
avfilter/vf_v360: add spline16 interpolation
[ffmpeg] / doc / encoders.texi
index e86ae69cc595458136c3f3f5cc11cf3341eea81c..20bcb4e2d7d430f0a358bfba8a75063007ab1963 100644 (file)
@@ -733,6 +733,14 @@ if set to 0.
 
 Default value is 0.
 
+@item eld_v2
+Enable ELDv2 (LD-MPS extension for ELD stereo signals) for ELDv2 if set to 1,
+disabled if set to 0.
+
+Note that option is available when fdk-aac version (AACENCODER_LIB_VL0.AACENCODER_LIB_VL1.AACENCODER_LIB_VL2) > (4.0.0).
+
+Default value is 0.
+
 @item signaling
 Set SBR/PS signaling style.
 
@@ -1370,6 +1378,49 @@ makes it possible to store non-rgb pix_fmts.
 
 @end table
 
+@section librav1e
+
+rav1e AV1 encoder wrapper.
+
+Requires the presence of the rav1e headers and library during configuration.
+You need to explicitly configure the build with @code{--enable-librav1e}.
+
+@subsection Options
+
+@table @option
+@item qmax
+Sets the maximum quantizer to use when using bitrate mode.
+
+@item qmin
+Sets the minimum quantizer to use when using bitrate mode.
+
+@item qp
+Uses quantizer mode to encode at the given quantizer (0-255).
+
+@item speed
+Selects the speed preset (0-10) to encode with.
+
+@item tiles
+Selects how many tiles to encode with.
+
+@item tile-rows
+Selects how many rows of tiles to encode with.
+
+@item tile-columns
+Selects how many columns of tiles to encode with.
+
+@item rav1e-params
+Set rav1e options using a list of @var{key}=@var{value} pairs separated
+by ":". See @command{rav1e --help} for a list of options.
+
+For example to specify librav1e encoding options with @option{-rav1e-params}:
+
+@example
+ffmpeg -i input -c:v librav1e -b:v 500K -rav1e-params speed=5:low_latency=true output.mp4
+@end example
+
+@end table
+
 @section libaom-av1
 
 libaom AV1 encoder wrapper.
@@ -1434,6 +1485,29 @@ value is 1, which will be slow and high quality.
 Enable use of alternate reference frames.  Defaults to the internal
 default of the library.
 
+@item arnr-max-frames (@emph{frames})
+Set altref noise reduction max frame count. Default is -1.
+
+@item arnr-strength (@emph{strength})
+Set altref noise reduction filter strength. Range is -1 to 6. Default is -1.
+
+@item aq-mode (@emph{aq-mode})
+Set adaptive quantization mode. Possible values:
+
+@table @samp
+@item none (@emph{0})
+Disabled.
+
+@item variance (@emph{1})
+Variance-based.
+
+@item complexity (@emph{2})
+Complexity-based.
+
+@item cyclic (@emph{3})
+Cyclic refresh.
+@end table
+
 @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
@@ -1466,6 +1540,35 @@ buffer falls below this percentage, frames will be dropped until it
 has refilled above the threshold.  Defaults to zero (no frames are
 dropped).
 
+@item denoise-noise-level (@emph{level})
+Amount of noise to be removed for grain synthesis. Grain synthesis is disabled if
+this option is not set or set to 0.
+
+@item denoise-block-size (@emph{pixels})
+Block size used for denoising for grain synthesis. If not set, AV1 codec
+uses the default value of 32.
+
+@item undershoot-pct (@emph{pct})
+Set datarate undershoot (min) percentage of the target bitrate. Range is -1 to 100.
+Default is -1.
+
+@item overshoot-pct (@emph{pct})
+Set datarate overshoot (max) percentage of the target bitrate. Range is -1 to 1000.
+Default is -1.
+
+@item minsection-pct (@emph{pct})
+Minimum percentage variation of the GOP bitrate from the target bitrate. If minsection-pct
+is not set, the libaomenc wrapper computes it as follows: @code{(minrate * 100 / bitrate)}.
+Range is -1 to 100. Default is -1 (unset).
+
+@item maxsection-pct (@emph{pct})
+Maximum percentage variation of the GOP bitrate from the target bitrate. If maxsection-pct
+is not set, the libaomenc wrapper computes it as follows: @code{(maxrate * 100 / bitrate)}.
+Range is -1 to 5000. Default is -1 (unset).
+
+@item frame-parallel (@emph{boolean})
+Enable frame parallel decodability features. Default is true.
+
 @item tiles
 Set the number of tiles to encode the input video with, as columns x
 rows.  Larger numbers allow greater parallelism in both encoding and
@@ -1480,6 +1583,20 @@ Provided for compatibility with libvpx/VP9.
 @item row-mt (Requires libaom >= 1.0.0-759-g90a15f4f2)
 Enable row based multi-threading. Disabled by default.
 
+@item enable-cdef (@emph{boolean})
+Enable Constrained Directional Enhancement Filter. The libaom-av1
+encoder enables CDEF by default.
+
+@item enable-restoration (@emph{boolean})
+Enable Loop Restoration Filter. Default is true for libaom-av1.
+
+@item enable-global-motion (@emph{boolean})
+Enable the use of global motion for block prediction. Default is true.
+
+@item enable-intrabc (@emph{boolean})
+Enable block copy mode for intra block prediction. This mode is
+useful for screen content. Default is true.
+
 @end table
 
 @section libkvazaar
@@ -1754,7 +1871,7 @@ means unlimited.
 @item auto-alt-ref
 Enable use of alternate reference frames (2-pass only).
 Values greater than 1 enable multi-layer alternate reference frames (VP9 only).
-@item arnr-max-frames
+@item arnr-maxframes
 Set altref noise reduction max frame count.
 @item arnr-type
 Set altref noise reduction filter type: backward, forward, centered.
@@ -1779,7 +1896,7 @@ key=value pairs. For example, to specify temporal scalability parameters
 with @code{ffmpeg}:
 @example
 ffmpeg -i INPUT -c:v libvpx -ts-parameters ts_number_layers=3:\
-ts_target_bitrate=250000,500000,1000000:ts_rate_decimator=4,2,1:\
+ts_target_bitrate=250,500,1000:ts_rate_decimator=4,2,1:\
 ts_periodicity=4:ts_layer_id=0,2,1,2 OUTPUT
 @end example
 Below is a brief explanation of each of the parameters, please
@@ -1789,7 +1906,8 @@ details.
 @item ts_number_layers
 Number of temporal coding layers.
 @item ts_target_bitrate
-Target bitrate for each temporal layer.
+Target bitrate for each temporal layer (in kbps).
+(bitrate should be inclusive of the lower temporal layer).
 @item ts_rate_decimator
 Frame rate decimation factor for each temporal layer.
 @item ts_periodicity
@@ -2300,6 +2418,20 @@ during configuration. You need to explicitly configure the build with
 @subsection Options
 
 @table @option
+@item b
+Sets target video bitrate.
+
+@item bf
+
+@item g
+Set the GOP size.
+
+@item keyint_min
+Minimum GOP size.
+
+@item refs
+Number of reference frames each P-frame can use. The range is from @var{1-16}.
+
 @item preset
 Set the x265 preset.
 
@@ -2312,6 +2444,28 @@ Set profile restrictions.
 @item crf
 Set the quality for constant quality mode.
 
+@item qp
+Set constant quantization rate control method parameter.
+
+@item qmin
+Minimum quantizer scale.
+
+@item qmax
+Maximum quantizer scale.
+
+@item qdiff
+Maximum difference between quantizer scales.
+
+@item qblur
+Quantizer curve blur
+
+@item qcomp
+Quantizer curve compression factor
+
+@item i_qfactor
+
+@item b_qfactor
+
 @item forced-idr
 Normally, when forcing a I-frame type, the encoder can select any type
 of I-frame. This option forces it to choose an IDR-frame.
@@ -2574,6 +2728,9 @@ Specifies the video_format written into the sequence display extension
 indicating the source of the video pictures. The default is @samp{unspecified},
 can be @samp{component}, @samp{pal}, @samp{ntsc}, @samp{secam} or @samp{mac}.
 For maximum compatibility, use @samp{component}.
+@item a53cc @var{boolean}
+Import closed captions (which must be ATSC compatible format) into output.
+Default is 1 (on).
 @end table
 
 @section png
@@ -2659,7 +2816,7 @@ recommended value) and do not set a size constraint.
 
 @section QSV encoders
 
-The family of Intel QuickSync Video encoders (MPEG-2, H.264 and HEVC)
+The family of Intel QuickSync Video encoders (MPEG-2, H.264, HEVC, JPEG/MJPEG and VP9)
 
 The ratecontrol method is selected as follows:
 
@@ -2824,6 +2981,30 @@ Set the B-frame reference depth.  When set to one (the default), all B-frames
 will refer only to P- or I-frames.  When set to greater values multiple layers
 of B-frames will be present, frames in each layer only referring to frames in
 higher layers.
+
+@item rc_mode
+Set the rate control mode to use.  A given driver may only support a subset of
+modes.
+
+Possible modes:
+@table @option
+@item auto
+Choose the mode automatically based on driver support and the other options.
+This is the default.
+@item CQP
+Constant-quality.
+@item CBR
+Constant-bitrate.
+@item VBR
+Variable-bitrate.
+@item ICQ
+Intelligent constant-quality.
+@item QVBR
+Quality-defined variable-bitrate.
+@item AVBR
+Average variable bitrate.
+@end table
+
 @end table
 
 Each encoder also has its own specific options: