X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=doc%2Fencoders.texi;h=c9464ca7b3b8fbb1568604b6c1d7cb4da162c7d9;hb=8860d307311aec5e0f97b12405da8f8b3d2e0c60;hp=f25d47e272015d369eb5351b5dbe656aaddd2fd6;hpb=7e3c4d029b8ecf17f3ae17ad6861730a9393ef09;p=ffmpeg diff --git a/doc/encoders.texi b/doc/encoders.texi index f25d47e2720..c9464ca7b3b 100644 --- a/doc/encoders.texi +++ b/doc/encoders.texi @@ -1641,6 +1641,7 @@ means unlimited. @table @option @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 Set altref noise reduction max frame count. @item arnr-type @@ -1692,6 +1693,8 @@ Corpus VBR mode is a variant of standard VBR where the complexity distribution midpoint is passed in rather than calculated for a specific clip or chunk. The valid range is [0, 10000]. 0 (default) uses standard VBR. +@item enable-tpl @var{boolean} +Enable temporal dependency model. @end table @end table @@ -2159,6 +2162,12 @@ Set the x265 preset. @item tune Set the x265 tune parameter. +@item profile +Set profile restrictions. + +@item crf +Set the quality for constant quality mode. + @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. @@ -2559,6 +2568,9 @@ The following standard libavcodec options are used: @option{bf} / @option{max_b_frames} @item @option{profile} + +If not set, this will be determined automatically from the format of the input +frames and the profiles supported by the driver. @item @option{level} @item @@ -2579,7 +2591,8 @@ Speed / quality tradeoff: higher values are faster / worse quality. Size / quality tradeoff: higher values are smaller / worse quality. @item @option{qmin} -(only: @option{qmax} is not supported) +@item +@option{qmax} @item @option{i_qfactor} / @option{i_quant_factor} @item @@ -2588,8 +2601,22 @@ Size / quality tradeoff: higher values are smaller / worse quality. @option{b_qfactor} / @option{b_quant_factor} @item @option{b_qoffset} / @option{b_quant_offset} +@item +@option{slices} +@end itemize + +All encoders support the following options: +@itemize +@item +@option{low_power} + +Some drivers/platforms offer a second encoder for some codecs intended to use +less power than the default encoder; setting this option will attempt to use +that encoder. Note that it may support a reduced feature set, so some other +options may not be available in this mode. @end itemize +Each encoder also has its own specific options: @table @option @item h264_vaapi @@ -2597,8 +2624,6 @@ Size / quality tradeoff: higher values are smaller / worse quality. @option{level} sets the value of @emph{level_idc}. @table @option -@item low_power -Use low-power encoding mode. @item coder Set entropy encoder (default is @emph{cabac}). Possible values: @@ -2611,21 +2636,70 @@ Use CABAC. @item cavlc Use CAVLC. @end table + +@item aud +Include access unit delimiters in the stream (not included by default). + +@item sei +Set SEI message types to include. +Some combination of the following values: +@table @samp +@item identifier +Include a @emph{user_data_unregistered} message containing information about +the encoder. +@item timing +Include picture timing parameters (@emph{buffering_period} and +@emph{pic_timing} messages). +@item recovery_point +Include recovery points where appropriate (@emph{recovery_point} messages). +@end table + @end table @item hevc_vaapi @option{profile} and @option{level} set the values of @emph{general_profile_idc} and @emph{general_level_idc} respectively. +@table @option +@item aud +Include access unit delimiters in the stream (not included by default). + +@item tier +Set @emph{general_tier_flag}. This may affect the level chosen for the stream +if it is not explicitly specified. + +@item sei +Set SEI message types to include. +Some combination of the following values: +@table @samp +@item hdr +Include HDR metadata if the input frames have it +(@emph{mastering_display_colour_volume} and @emph{content_light_level} +messages). +@end table + +@end table + @item mjpeg_vaapi -Always encodes using the standard quantisation and huffman tables - -@option{global_quality} scales the standard quantisation table (range 1-100). +Only baseline DCT encoding is supported. The encoder always uses the standard +quantisation and huffman tables - @option{global_quality} scales the standard +quantisation table (range 1-100). + +For YUV, 4:2:0, 4:2:2 and 4:4:4 subsampling modes are supported. RGB is also +supported, and will create an RGB JPEG. + +@table @option +@item jfif +Include JFIF header in each frame (not included by default). +@item huffman +Include standard huffman tables (on by default). Turning this off will save +a few hundred bytes in each output frame, but may lose compatibility with some +JPEG decoders which don't fully handle MJPEG. +@end table @item mpeg2_vaapi @option{profile} and @option{level} set the value of @emph{profile_and_level_indication}. -No rate control is supported. - @item vp8_vaapi B-frames are not supported. @@ -2720,6 +2794,52 @@ Reduces detail but attempts to preserve color at extremely low bitrates. @end table +@section libxavs2 + +xavs2 AVS2-P2/IEEE1857.4 encoder wrapper. + +This encoder requires the presence of the libxavs2 headers and library +during configuration. You need to explicitly configure the build with +@option{--enable-libxavs2}. + +@subsection Options + +@table @option +@item lcu_row_threads +Set the number of parallel threads for rows from 1 to 8 (default 5). + +@item initial_qp +Set the xavs2 quantization parameter from 1 to 63 (default 34). This is +used to set the initial qp for the first frame. + +@item qp +Set the xavs2 quantization parameter from 1 to 63 (default 34). This is +used to set the qp value under constant-QP mode. + +@item max_qp +Set the max qp for rate control from 1 to 63 (default 55). + +@item min_qp +Set the min qp for rate control from 1 to 63 (default 20). + +@item speed_level +Set the Speed level from 0 to 9 (default 0). Higher is better but slower. + +@item log_level +Set the log level from -1 to 3 (default 0). -1: none, 0: error, +1: warning, 2: info, 3: debug. + +@item xavs2-params +Set xavs2 options using a list of @var{key}=@var{value} couples separated +by ":". + +For example to specify libxavs2 encoding options with @option{-xavs2-params}: + +@example +ffmpeg -i input -c:v libxavs2 -xavs2-params preset_level=5 output.avs2 +@end example +@end table + @c man end VIDEO ENCODERS @chapter Subtitles Encoders