From: Andriy Gelman <andriy.gel...@gmail.com> Signed-off-by: Andriy Gelman <andriy.gel...@gmail.com> ---
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 ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".