[FFmpeg-cvslog] doc: Add VAAPI encoders

Mark Thompson git at videolan.org
Thu Oct 26 20:47:14 EEST 2017


ffmpeg | branch: master | Mark Thompson <sw at jkqxz.net> | Sun Mar 19 17:30:52 2017 +0000| [41dda860870fb1566b17f6b0b61922f0ef89be47] | committer: Mark Thompson

doc: Add VAAPI encoders

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=41dda860870fb1566b17f6b0b61922f0ef89be47
---

 doc/encoders.texi | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 96 insertions(+)

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
 
+ at 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:
+ at itemize
+ at item
+ at option{g} / @option{gop_size}
+ at item
+ at option{bf} / @option{max_b_frames}
+ at item
+ at option{profile}
+ at item
+ at option{level}
+ at item
+ at option{b} / @option{bit_rate}
+ at item
+ at option{maxrate} / @option{rc_max_rate}
+ at item
+ at option{bufsize} / @option{rc_buffer_size}
+ at item
+ at option{rc_init_occupancy} / @option{rc_initial_buffer_occupancy}
+ at item
+ at option{q} / @option{global_quality}
+ at item
+ at option{qmin}
+(only: @option{qmax} is not supported)
+ at item
+ at option{i_qfactor} / @option{i_quant_factor}
+ at item
+ at option{i_qoffset} / @option{i_quant_offset}
+ at item
+ at option{b_qfactor} / @option{b_quant_factor}
+ at item
+ at option{b_qoffset} / @option{b_quant_offset}
+ at end itemize
+
+ at table @option
+
+ at item vaapi_h264
+ at option{profile} sets the value of @emph{profile_idc} and the @emph{constraint_set*_flag}s.
+ at option{level} sets the value of @emph{level_idc}.
+
+ at table @option
+ at item quality
+Set the local encoding quality/speed tradeoff (range 1-8, higher values are faster; not all
+systems implement all levels).
+ at item low_power
+Use low-power encoding mode.
+ at end table
+
+ at item vaapi_hevc
+ at option{profile} and @option{level} set the values of
+ at emph{general_profile_idc} and @emph{general_level_idc} respectively.
+
+ at item vaapi_mjpeg
+Always encodes using the standard quantisation and huffman tables -
+ at option{global_quality} scales the standard quantisation table (range 1-100).
+
+ at item vaapi_mpeg2
+ at option{profile} and @option{level} set the value of @emph{profile_and_level_indication}.
+
+No rate control is supported.
+
+ at item vaapi_vp8
+B-frames are not supported.
+
+ at option{global_quality} sets the @emph{q_idx} used for non-key frames (range 0-127).
+
+ at table @option
+ at item loop_filter_level
+ at item loop_filter_sharpness
+Manually set the loop filter parameters.
+ at end table
+
+ at item vaapi_vp9
+ at option{global_quality} sets the @emph{q_idx} used for P-frames (range 0-255).
+
+ at table @option
+ at item loop_filter_level
+ at item loop_filter_sharpness
+Manually set the loop filter parameters.
+ at 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.
+
+ at end table
+
 @c man end VIDEO ENCODERS



More information about the ffmpeg-cvslog mailing list