[FFmpeg-devel] [PATCH v2] doc/v4l2_m2m: Add documentation

Andriy Gelman andriy.gelman at gmail.com
Thu Jan 16 06:14:51 EET 2020


From: Andriy Gelman <andriy.gelman at gmail.com>

Signed-off-by: Andriy Gelman <andriy.gelman at gmail.com>
---
 doc/decoders.texi | 27 +++++++++++++++++++++++++++
 doc/encoders.texi | 42 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 69 insertions(+)

diff --git a/doc/decoders.texi b/doc/decoders.texi
index f18226b3504..7827a055408 100644
--- a/doc/decoders.texi
+++ b/doc/decoders.texi
@@ -86,6 +86,33 @@ AVS2-P2/IEEE1857.4 video decoder wrapper.
 
 This decoder allows libavcodec to decode AVS2 streams with davs2 library.
 
+ at section v4l2m2m
+
+libavcodec supports a set of v4l2m2m wrappers for interfacing with
+hardware decoders. Depending on the hardware's capabilties the following decoders may be selected:
+h264, hevc, mpeg1, mpeg2, mpeg4, h263, vc1, vp8, and vp9.
+
+To use a specifix decoder append a  _v4l2m2m suffix. For example to select h264
+decoder use:
+ at example
+ffmpeg -codec:v h264_v4l2m2m -i INPUT OUTPUT
+ at end example
+
+The following options are supported:
+ at table @option
+ at item num_output_buffers
+Number of memory mapped buffers to store the input packets.
+This value is only a suggestion to the hardware device. The device will attempt to
+allocate the number of buffers, but the actual value may be smaller/larger and
+ultimately depends on the device. The default for the option is 16, minimum is
+6, and any large value (representable by an int) is accepted for the max.
+
+ at item num_capture_buffers
+Number of memory mapped buffers to store the decompressed frames. The allocation
+description is the same as above. Default is 20, minimum is 20, and any large
+value (representable by an int) is accepted for the max.
+ at end table
+
 @c man end VIDEO DECODERS
 
 @chapter Audio Decoders
diff --git a/doc/encoders.texi b/doc/encoders.texi
index 61e674cf968..a600e76b1b9 100644
--- a/doc/encoders.texi
+++ b/doc/encoders.texi
@@ -3117,6 +3117,48 @@ required to produce a stream usable with all decoders.
 
 @end table
 
+ at section v4l2m2m
+
+libavcodec supports a set of v4l2m2m wrappers for interfacing with hardware encoders.
+Depending on the hardware's capabilities the following encoders may be selected:
+mpeg4, h263, h264, hevc, and vp8.
+
+To use a specific encoder append _v4l2m2m suffix. For example to select h264 use:
+ at example
+ffmpeg -i INPUT [-pix_fmt pixfmt] -codec:v h264_v4l2m2m OUTPUT
+ at end example
+In some cases, it may be necessary to insert a pixel format conversion with
+ at code{-pix_fmt}. This is required if the pixel format of the input does not
+match the format of the encoder. If there is a mismatch, libavcodec will
+exit and specify the required pixfmt to use.
+
+The following options are supported:
+ at table @option
+ at item num_output_buffers
+Number of memory mapped buffers to store the input frames.
+This value is only a suggestion to the hardware device. The device will attempt to
+allocate the number of buffers, but the actual value may be smaller/larger and
+ultimately depends on the device. The default for the option is 16, minimum is
+6, and any large value (representable by an int) is accepted for the max.
+
+ at item num_capture_buffers
+Number of memory mapped buffers to store the compressed packets. The allocation
+description is the same as above. Default is 4, minimum is 4, and any large
+value (representable by an int) is accepted for the max.
+ at end table
+
+Standard libavcodec options that can be set are:
+ at itemize
+ at item
+ at option{g} / @option{gop_size}
+ at item
+ at option{qpel}
+ at item
+ at option{qmin}
+ at item
+ at option{qmax}
+ at end itemize
+
 @section vc2
 
 SMPTE VC-2 (previously BBC Dirac Pro). This codec was primarily aimed at
-- 
2.24.1



More information about the ffmpeg-devel mailing list