diff options
author | Mark Thompson <sw@jkqxz.net> | 2017-03-19 17:30:52 +0000 |
---|---|---|
committer | Mark Thompson <sw@jkqxz.net> | 2017-04-02 19:06:33 +0100 |
commit | 41dda860870fb1566b17f6b0b61922f0ef89be47 (patch) | |
tree | 07afb55c25cfbf104c64abe9185296f8cdad35e4 /doc | |
parent | 0fd91e4bfc00a6609b59d1ce3a9f152184e62601 (diff) | |
download | ffmpeg-41dda860870fb1566b17f6b0b61922f0ef89be47.tar.gz |
doc: Add VAAPI encoders
Diffstat (limited to 'doc')
-rw-r--r-- | doc/encoders.texi | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/doc/encoders.texi b/doc/encoders.texi index 41b8398127..7cebe39c18 100644 --- a/doc/encoders.texi +++ b/doc/encoders.texi @@ -922,4 +922,100 @@ encoder use CAVLC instead of CABAC. @end itemize +@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{q} / @option{global_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 vaapi_h264 +@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 quality +Set the local encoding quality/speed tradeoff (range 1-8, higher values are faster; not all +systems implement all levels). +@item low_power +Use low-power encoding mode. +@end table + +@item vaapi_hevc +@option{profile} and @option{level} set the values of +@emph{general_profile_idc} and @emph{general_level_idc} respectively. + +@item vaapi_mjpeg +Always encodes using the standard quantisation and huffman tables - +@option{global_quality} scales the standard quantisation table (range 1-100). + +@item vaapi_mpeg2 +@option{profile} and @option{level} set the value of @emph{profile_and_level_indication}. + +No rate control is supported. + +@item vaapi_vp8 +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 vaapi_vp9 +@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 + @c man end VIDEO ENCODERS |