X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=doc%2Fencoders.texi;h=018fb4b07aacec45755731df0e8a19d1e3b60aa5;hb=b8b84f9af55dede0df943083bc2dae38e4c06508;hp=3645b490f92905c43aa139b84ec45a7a98465ad7;hpb=0ab40e4477eae94b074d62007d89f67a54ab25a7;p=ffmpeg diff --git a/doc/encoders.texi b/doc/encoders.texi index 3645b490f92..018fb4b07aa 100644 --- a/doc/encoders.texi +++ b/doc/encoders.texi @@ -1793,7 +1793,7 @@ the documentation of the undocumented generic options, see @ref{codec-options,,the Codec Options chapter}. To get a more accurate and extensive documentation of the libx264 -options, invoke the command @command{x264 --full-help} or consult +options, invoke the command @command{x264 --fullhelp} or consult the libx264 documentation. @table @option @@ -2381,6 +2381,7 @@ Select the ProRes profile to encode @item standard @item hq @item 4444 +@item 4444xq @end table @item quant_mat @var{integer} @@ -2527,6 +2528,117 @@ encoder use CAVLC instead of CABAC. dia size for the iterative motion estimation @end table +@section VAAPI encoders + +Wrappers for hardware encoders accessible via VAAPI. + +These encoders only accept input in VAAPI hardware surfaces. If you have input +in software frames, use the @option{hwupload} filter to upload them to the GPU. + +The following standard libavcodec options are used: +@itemize +@item +@option{g} / @option{gop_size} +@item +@option{bf} / @option{max_b_frames} +@item +@option{profile} +@item +@option{level} +@item +@option{b} / @option{bit_rate} +@item +@option{maxrate} / @option{rc_max_rate} +@item +@option{bufsize} / @option{rc_buffer_size} +@item +@option{rc_init_occupancy} / @option{rc_initial_buffer_occupancy} +@item +@option{compression_level} + +Speed / quality tradeoff: higher values are faster / worse quality. +@item +@option{q} / @option{global_quality} + +Size / quality tradeoff: higher values are smaller / worse quality. +@item +@option{qmin} +(only: @option{qmax} is not supported) +@item +@option{i_qfactor} / @option{i_quant_factor} +@item +@option{i_qoffset} / @option{i_quant_offset} +@item +@option{b_qfactor} / @option{b_quant_factor} +@item +@option{b_qoffset} / @option{b_quant_offset} +@end itemize + +@table @option + +@item h264_vaapi +@option{profile} sets the value of @emph{profile_idc} and the @emph{constraint_set*_flag}s. +@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: + +@table @samp +@item ac +@item cabac +Use CABAC. + +@item vlc +@item cavlc +Use CAVLC. +@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. + +@item mjpeg_vaapi +Always encodes using the standard quantisation and huffman tables - +@option{global_quality} scales the standard quantisation table (range 1-100). + +@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. + +@option{global_quality} sets the @emph{q_idx} used for non-key frames (range 0-127). + +@table @option +@item loop_filter_level +@item loop_filter_sharpness +Manually set the loop filter parameters. +@end table + +@item vp9_vaapi +@option{global_quality} sets the @emph{q_idx} used for P-frames (range 0-255). + +@table @option +@item loop_filter_level +@item loop_filter_sharpness +Manually set the loop filter parameters. +@end table + +B-frames are supported, but the output stream is always in encode order rather than display +order. If B-frames are enabled, it may be necessary to use the @option{vp9_raw_reorder} +bitstream filter to modify the output stream to display frames in the correct order. + +Only normal frames are produced - the @option{vp9_superframe} bitstream filter may be +required to produce a stream usable with all decoders. + +@end table + @section vc2 SMPTE VC-2 (previously BBC Dirac Pro). This codec was primarily aimed at