From: Andriy Gelman <[email protected]>
Signed-off-by: Andriy Gelman <[email protected]>
---
Gyan, I added an extra paragraph about the buffer parameters. It doesn't seem
right to add the same content into each bullet point. Let me know your
thoughts.
Thanks,
Andriy
doc/decoders.texi | 32 +++++++++++++++++++++++++++++
doc/encoders.texi | 51 +++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 83 insertions(+)
diff --git a/doc/decoders.texi b/doc/decoders.texi
index f18226b3504..22a587ffdb9 100644
--- a/doc/decoders.texi
+++ b/doc/decoders.texi
@@ -86,6 +86,38 @@ AVS2-P2/IEEE1857.4 video decoder wrapper.
This decoder allows libavcodec to decode AVS2 streams with davs2 library.
+@section v4l2m2m
+
+libavcodec supports a set of v4l2m2m wrappers for interfacing with
+hardware decoders. Depending on the hardware's capabilities the following
decoders may be selected:
+h264, hevc, mpeg1, mpeg2, mpeg4, h263, vc1, vp8, and vp9.
+
+To use a specific decoder append a _v4l2m2m suffix. For example to select h264
+decoder use:
+@example
+ffmpeg -codec:v h264_v4l2m2m -i INPUT OUTPUT
+@end example
+
+libavcodec also supports changing the number of output and capture buffers on
+the v4l2m2m device. If the API is used as per the recommendation, there should
+be no reason to change the parameters from the default values. The description
+of the parameters is as follows:
+
+@table @option
+@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.
+
+@item num_capture_buffers
+Number of memory mapped buffers to store the decompressed frames. The device
+will attempt to allocate the number of buffers, but the actual value may be
+smaller/larger and ultimately depends on the device. Default is 20, minimum is
+20, and any large value (representable by an int) is accepted for the max.
+@end table
+
@c man end VIDEO DECODERS
@chapter Audio Decoders
diff --git a/doc/encoders.texi b/doc/encoders.texi
index 61e674cf968..f82500ca34c 100644
--- a/doc/encoders.texi
+++ b/doc/encoders.texi
@@ -3117,6 +3117,57 @@ required to produce a stream usable with all decoders.
@end table
+@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:
+@example
+ffmpeg -i INPUT [-pix_fmt pixfmt] -codec:v h264_v4l2m2m OUTPUT
+@end example
+In some cases, it may be necessary to insert a pixel format conversion with
+@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.
+
+Standard libavcodec options (encoder and device dependent) that can be set are:
+@itemize
+@item
+@option{b} / @option{bit_rate}
+@item
+@option{g} / @option{gop_size}
+@item
+@option{bf} / @option{max_b_frames}
+@item
+@option{qpel}
+@item
+@option{qmin}
+@item
+@option{qmax}
+@end itemize
+
+libavcodec also supports changing the number of output and capture buffers
+on the v4l2m2m device. If the API is used as per the recommendation, there
+should be no reason to change the parameters from the default values. The
+description of the parameters is as follows:
+
+@table @option
+@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.
+
+@item num_capture_buffers
+Number of memory mapped buffers to store the compressed packets. The device
will
+attempt to allocate the number of buffers, but the actual value may be
+smaller/larger and ultimately depends on the device. Default is 4, minimum is
4,
+and any large value (representable by an int) is accepted for the max.
+@end table
+
@section vc2
SMPTE VC-2 (previously BBC Dirac Pro). This codec was primarily aimed at
--
2.24.1
_______________________________________________
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".