]> git.sesse.net Git - ffmpeg/blobdiff - doc/encoders.texi
avformat/mpjpegdec: make sure we seek back to the ensured buffer
[ffmpeg] / doc / encoders.texi
index af7d2ba9834da2b244e01e3e93cffb3fe6bbd9a4..0b1c69e982b7b467041b87d31363e48925878db3 100644 (file)
@@ -953,6 +953,11 @@ The default is 20ms.
 @item packet_loss (@emph{expect-loss})
 Set expected packet loss percentage. The default is 0.
 
+@item fec (@emph{n/a})
+Enable inband forward error correction. @option{packet_loss} must be non-zero
+to take advantage - frequency of FEC 'side-data' is proportional to expected packet loss.
+Default is disabled.
+
 @item application (N.A.)
 Set intended application type. Valid options are listed below:
 
@@ -1180,53 +1185,6 @@ transient response is a higher bitrate.
 
 @end table
 
-@anchor{libwavpack}
-@section libwavpack
-
-A wrapper providing WavPack encoding through libwavpack.
-
-Only lossless mode using 32-bit integer samples is supported currently.
-
-Requires the presence of the libwavpack headers and library during
-configuration. You need to explicitly configure the build with
-@code{--enable-libwavpack}.
-
-Note that a libavcodec-native encoder for the WavPack codec exists so users can
-encode audios with this codec without using this encoder. See @ref{wavpackenc}.
-
-@subsection Options
-
-@command{wavpack} command line utility's corresponding options are listed in
-parentheses, if any.
-
-@table @option
-@item frame_size (@emph{--blocksize})
-Default is 32768.
-
-@item compression_level
-Set speed vs. compression tradeoff. Acceptable arguments are listed below:
-
-@table @samp
-@item 0 (@emph{-f})
-Fast mode.
-
-@item 1
-Normal (default) settings.
-
-@item 2 (@emph{-h})
-High quality.
-
-@item 3 (@emph{-hh})
-Very high quality.
-
-@item 4-8 (@emph{-hh -x}@var{EXTRAPROC})
-Same as @samp{3}, but with extra processing enabled.
-
-@samp{4} is the same as @option{-x2} and @samp{8} is the same as @option{-x6}.
-
-@end table
-@end table
-
 @anchor{mjpegenc}
 @section mjpeg
 
@@ -1253,11 +1211,6 @@ Compute and use optimal huffman tables.
 
 WavPack lossless audio encoder.
 
-This is a libavcodec-native WavPack encoder. There is also an encoder based on
-libwavpack, but there is virtually no reason to use that encoder.
-
-See also @ref{libwavpack}.
-
 @subsection Options
 
 The equivalent options for @command{wavpack} command line utility are listed in
@@ -1278,7 +1231,6 @@ For the complete formula of calculating default, see
 @file{libavcodec/wavpackenc.c}.
 
 @item compression_level (@emph{-f}, @emph{-h}, @emph{-hh}, and @emph{-x})
-This option's syntax is consistent with @ref{libwavpack}'s.
 @end table
 
 @subsubsection Private options
@@ -1365,10 +1317,58 @@ can be selected with @code{-pred 1}.
 @subsection Options
 
 @table @option
-@item format
+@item format @var{integer}
 Can be set to either @code{j2k} or @code{jp2} (the default) that
 makes it possible to store non-rgb pix_fmts.
 
+@item tile_width @var{integer}
+Sets tile width. Range is 1 to 1073741824. Default is 256.
+
+@item tile_height @var{integer}
+Sets tile height. Range is 1 to 1073741824. Default is 256.
+
+@item pred @var{integer}
+Allows setting the discrete wavelet transform (DWT) type
+@table @option
+@item dwt97int (Lossy)
+@item dwt53 (Lossless)
+@end table
+Default is @code{dwt97int}
+
+@item sop @var{boolean}
+Enable this to add SOP marker at the start of each packet. Disabled by default.
+
+@item eph @var{boolean}
+Enable this to add EPH marker at the end of each packet header. Disabled by default.
+
+@item prog @var{integer}
+Sets the progression order to be used by the encoder.
+Possible values are:
+@table @option
+@item lrcp
+@item rlcp
+@item rpcl
+@item pcrl
+@item cprl
+@end table
+Set to @code{lrcp} by default.
+
+@item layer_rates @var{string}
+By default, when this option is not used, compression is done using the quality metric.
+This option allows for compression using compression ratio. The compression ratio for each
+level could be specified. The compression ratio of a layer @code{l} species the what ratio of
+total file size is contained in the first @code{l} layers.
+
+Example usage:
+
+@example
+ffmpeg -i input.bmp -c:v jpeg2000 -layer_rates "100,10,1" output.j2k
+@end example
+
+This would compress the image to contain 3 layers, where the data contained in the
+first layer would be compressed by 1000 times, compressed by 100 in the first two layers,
+and shall contain all data while using all 3 layers.
+
 @end table
 
 @section librav1e
@@ -1687,7 +1687,7 @@ Enable smooth interintra mode. Default is true.
 
 @end table
 
-@section libsvt-av1
+@section libsvtav1
 
 SVT-AV1 encoder wrapper.
 
@@ -1697,31 +1697,55 @@ You need to explicitly configure the build with @code{--enable-libsvtav1}.
 @subsection Options
 
 @table @option
+@item profile
+Set the encoding profile.
+
+@item level
+Set the operating point level.
+
+@item tier
+Set the operating point tier.
+
+@item rc
+Set the rate control mode to use.
+
+Possible modes:
+@table @option
+@item cqp
+Constant quantizer: use fixed values of qindex (dependent on the frame type)
+throughout the stream.  This mode is the default.
+
+@item vbr
+Variable bitrate: use a target bitrate for the whole stream.
+
+@item cvbr
+Constrained variable bitrate: use a target bitrate for each GOP.
+@end table
+
 @item qmax
-Sets the maximum quantizer to use when using bitrate mode.
+Set the maximum quantizer to use when using a bitrate mode.
 
 @item qmin
-Sets the minimum quantizer to use when using bitrate mode.
+Set the minimum quantizer to use when using a bitrate mode.
 
 @item qp
-Uses quantizer mode to encode at the given quantizer (0-63).
+Set the quantizer used in cqp rate control mode (0-63).
 
-@item hielevel
+@item sc_detection
 Enable scene change detection.
 
 @item la_depth
 Set number of frames to look ahead (0-120).
 
 @item preset
-Set encoding preset.
+Set the quality-speed tradeoff, in the range 0 to 8.  Higher values are
+faster but lower quality.  Defaults to 8 (highest speed).
 
-@item tier
-
-@item tile-rows
-Selects how many rows of tiles to encode with (0-6).
+@item tile_rows
+Set log2 of the number of rows of tiles to use (0-6).
 
-@item tile-columns
-Selects how many columns of tiles to encode with (0-4).
+@item tile_columns
+Set log2 of the number of columns of tiles to use (0-4).
 
 @end table
 
@@ -2878,6 +2902,16 @@ SNR Scalable
 @item simple
 @end table
 
+@item level
+Select the mpeg2 level to encode:
+
+@table @samp
+@item high
+@item high1440
+@item main
+@item low
+@end table
+
 @item seq_disp_ext @var{integer}
 Specifies if the encoder should write a sequence_display_extension to the
 output.
@@ -3240,18 +3274,10 @@ messages).
 @end table
 
 @item tiles
-Set the number of tiles to encode the input video with, as rows x columns.
+Set the number of tiles to encode the input video with, as columns x rows.
 Larger numbers allow greater parallelism in both encoding and decoding, but
 may decrease coding efficiency.
 
-@item tile_rows
-Selects how many rows of tiles to encode with. For example, 4 tile rows would
-be requested by setting the tile_rows option to 4.
-
-@item tile_cols
-Selects how many columns of tiles to encode with. For example, 5 tile columns
-would be requested by setting the tile_cols option to 5.
-
 @end table
 
 @item mjpeg_vaapi