diff mbox series

[FFmpeg-devel,1/6] doc/v4l2_m2m: Add documentation

Message ID 20200113041130.30126-1-andriy.gelman@gmail.com
State Superseded
Headers show
Series [FFmpeg-devel,1/6] doc/v4l2_m2m: Add documentation | expand

Checks

Context Check Description
andriy/ffmpeg-patchwork success Make fate finished

Commit Message

Andriy Gelman Jan. 13, 2020, 4:11 a.m. UTC
From: Andriy Gelman <andriy.gelman@gmail.com>

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

Comments

Gyan Doshi Jan. 13, 2020, 5:26 a.m. UTC | #1
On 13-01-2020 09:41 am, Andriy Gelman wrote:
> From: Andriy Gelman <andriy.gelman@gmail.com>
>
> Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
> ---
>   doc/decoders.texi | 12 ++++++++++++
>   doc/encoders.texi | 27 +++++++++++++++++++++++++++
>   2 files changed, 39 insertions(+)
>
> diff --git a/doc/decoders.texi b/doc/decoders.texi
> index f18226b3504..222f681810b 100644
> --- a/doc/decoders.texi
> +++ b/doc/decoders.texi
> @@ -86,6 +86,18 @@ AVS2-P2/IEEE1857.4 video decoder wrapper.
>   
>   This decoder allows libavcodec to decode AVS2 streams with davs2 library.
>   
> +@section v4l2m2m
> +
> +@command{ffmpeg} 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.

If these decoders are available through lavc API then replace ffmpeg 
with libavcodec. Is there a command for a user to identify which 
decoder/encoders are available?

Also,  s/capabilties/capabilities

> +
> +To use a specifix decoder append a  _v4l2m2m suffix. For example to select h264
s/specifix/specific

> +decoder use:
> +@example
> +ffmpeg -codec:v h264_v4l2m2m -i INPUT OUTPUT
> +@end example
> +
>   @c man end VIDEO DECODERS
>   
>   @chapter Audio Decoders
> diff --git a/doc/encoders.texi b/doc/encoders.texi
> index 61e674cf968..6cb43aedbce 100644
> --- a/doc/encoders.texi
> +++ b/doc/encoders.texi
> @@ -3117,6 +3117,33 @@ required to produce a stream usable with all decoders.
>   
>   @end table
>   
> +@section v4l2m2m
> +
> +@command{ffmpeg} supports a set of v4l2m2m wrappers for interfacing with hardware encoders.
> +Depending on the hardware's capabilties the following encoders may be selected:
> +mpeg4, h263, h264, hevc, and vp8.

Same notes as for decoders.

> +
> +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} option. This is required if the pixel format of the input does not
> +match the format of the encoder. If there is a mismatch, @command{ffmpeg} will
> +exit and specify the required pixfmt to use.
> +
> +The following standard libavcodec options are supported:
> +@itemize
> +@item
> +@option{g} / @option{gop_size}
> +@item
> +@option{qpel}
> +@item
> +@option{qmin}
> +@item
> +@option{qmax}
> +@end itemize
> +

I see both the decoder and encoder wrappers have options for nb of 
capture and output buffers. Should document these with description, 
range and default values.

>   @section vc2
>   
>   SMPTE VC-2 (previously BBC Dirac Pro). This codec was primarily aimed at

Thanks,
Gyan
Andriy Gelman Jan. 13, 2020, 4:32 p.m. UTC | #2
On Mon, 13. Jan 10:56, Gyan wrote:
> 
> 
> On 13-01-2020 09:41 am, Andriy Gelman wrote:
> > From: Andriy Gelman <andriy.gelman@gmail.com>
> > 
> > Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
> > ---
> >   doc/decoders.texi | 12 ++++++++++++
> >   doc/encoders.texi | 27 +++++++++++++++++++++++++++
> >   2 files changed, 39 insertions(+)
> > 
> > diff --git a/doc/decoders.texi b/doc/decoders.texi
> > index f18226b3504..222f681810b 100644
> > --- a/doc/decoders.texi
> > +++ b/doc/decoders.texi
> > @@ -86,6 +86,18 @@ AVS2-P2/IEEE1857.4 video decoder wrapper.
> >   This decoder allows libavcodec to decode AVS2 streams with davs2 library.
> > +@section v4l2m2m
> > +
> > +@command{ffmpeg} 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.

> 
> If these decoders are available through lavc API then replace ffmpeg with
> libavcodec. 

Thanks, will update.

> Is there a command for a user to identify which decoder/encoders
> are available?

At the moment this doesn't exist. 
But I do have a patch that lists the supported encoders/decoders. 
I'll send this in the next version.

> 
> Also,  s/capabilties/capabilities
> 
> > +
> > +To use a specifix decoder append a  _v4l2m2m suffix. For example to select h264
> s/specifix/specific

will update both. 

> 
> > +decoder use:
> > +@example
> > +ffmpeg -codec:v h264_v4l2m2m -i INPUT OUTPUT
> > +@end example
> > +
> >   @c man end VIDEO DECODERS
> >   @chapter Audio Decoders
> > diff --git a/doc/encoders.texi b/doc/encoders.texi
> > index 61e674cf968..6cb43aedbce 100644
> > --- a/doc/encoders.texi
> > +++ b/doc/encoders.texi
> > @@ -3117,6 +3117,33 @@ required to produce a stream usable with all decoders.
> >   @end table
> > +@section v4l2m2m
> > +
> > +@command{ffmpeg} supports a set of v4l2m2m wrappers for interfacing with hardware encoders.
> > +Depending on the hardware's capabilties the following encoders may be selected:
> > +mpeg4, h263, h264, hevc, and vp8.
> 
> Same notes as for decoders.
> 
> > +
> > +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} option. This is required if the pixel format of the input does not
> > +match the format of the encoder. If there is a mismatch, @command{ffmpeg} will
> > +exit and specify the required pixfmt to use.
> > +
> > +The following standard libavcodec options are supported:
> > +@itemize
> > +@item
> > +@option{g} / @option{gop_size}
> > +@item
> > +@option{qpel}
> > +@item
> > +@option{qmin}
> > +@item
> > +@option{qmax}
> > +@end itemize
> > +

> 
> I see both the decoder and encoder wrappers have options for nb of capture
> and output buffers. Should document these with description, range and
> default values.

yep, will add this. 

Thanks,
diff mbox series

Patch

diff --git a/doc/decoders.texi b/doc/decoders.texi
index f18226b3504..222f681810b 100644
--- a/doc/decoders.texi
+++ b/doc/decoders.texi
@@ -86,6 +86,18 @@  AVS2-P2/IEEE1857.4 video decoder wrapper.
 
 This decoder allows libavcodec to decode AVS2 streams with davs2 library.
 
+@section v4l2m2m
+
+@command{ffmpeg} 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:
+@example
+ffmpeg -codec:v h264_v4l2m2m -i INPUT OUTPUT
+@end example
+
 @c man end VIDEO DECODERS
 
 @chapter Audio Decoders
diff --git a/doc/encoders.texi b/doc/encoders.texi
index 61e674cf968..6cb43aedbce 100644
--- a/doc/encoders.texi
+++ b/doc/encoders.texi
@@ -3117,6 +3117,33 @@  required to produce a stream usable with all decoders.
 
 @end table
 
+@section v4l2m2m
+
+@command{ffmpeg} supports a set of v4l2m2m wrappers for interfacing with hardware encoders.
+Depending on the hardware's capabilties 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} option. This is required if the pixel format of the input does not
+match the format of the encoder. If there is a mismatch, @command{ffmpeg} will
+exit and specify the required pixfmt to use.
+
+The following standard libavcodec options are supported:
+@itemize
+@item
+@option{g} / @option{gop_size}
+@item
+@option{qpel}
+@item
+@option{qmin}
+@item
+@option{qmax}
+@end itemize
+
 @section vc2
 
 SMPTE VC-2 (previously BBC Dirac Pro). This codec was primarily aimed at