]> git.sesse.net Git - ffmpeg/blobdiff - doc/encoders.texi
swscale/utils: split range override check into its own function
[ffmpeg] / doc / encoders.texi
index 78b3be960527f1256cae7379f03602349a8bada9..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
@@ -2902,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.
@@ -3264,7 +3274,7 @@ 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.