On Thu, 16. Jan 10:51, Gyan wrote: > > > On 16-01-2020 09:44 am, Andriy Gelman wrote: > > From: Andriy Gelman <andriy.gel...@gmail.com> > > > > Signed-off-by: Andriy Gelman <andriy.gel...@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. > > +@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.
> > capabilties --> capabilities > > > > + > > +To use a specifix decoder append a _v4l2m2m suffix. For example to select > > h264 > > specifix --> specific > Fixed both spelling mistakes. > > +decoder use: > > +@example > > +ffmpeg -codec:v h264_v4l2m2m -i INPUT OUTPUT > > +@end example > > + > > +The following options are supported: > > +@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 > > 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. > > Restate the description, don't reference another option entry, since in > theory, more may be inserted or shuffled around. ok done. > > For both options, what's the significance and tradeoff? Latency? > These options don't affect latency. Having a large buffer could be useful if there is a lot of jitter in dequeuing the decoded frames from the hardware device. If the internal buffer is full you will end up dropping frames. > > +@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 > > +@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. > > + > > +The following options are supported: > > +@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 > > 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. > > Restate the description, don't reference another option entry. > > Significance and tradeoff? > > > +@end table > > + > > +Standard libavcodec options that can be set are: > > +@itemize > > +@item > > +@option{g} / @option{gop_size} > > +@item > > +@option{qpel} > > +@item > > +@option{qmin} > > +@item > > +@option{qmax} > > Where in the code is the lavc qmin/qmax applied? These options are set in v4l2_prepare_encoder(). > > You may note that bitrate is also read. yep, I've added bitrate. Thanks, -- Andriy _______________________________________________ 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".