[FFmpeg-devel] [PATCH 2/4] doc/encoders: add libx264rgb doc and supported pixfmts for libx264(rgb)

Stefano Sabatini stefasab at gmail.com
Tue Jan 7 17:24:06 CET 2014


On date Sunday 2014-01-05 19:42:06 +0100, Stefano Sabatini encoded:
> On date Saturday 2014-01-04 19:24:30 -0800, Timothy Gu encoded:
> > Signed-off-by: Timothy Gu <timothygu99 at gmail.com>
> > ---
> > Not sure about libx264rgb. Is packed RGB encoding supported on high bit depth
> > x264 builds?
> > ---
> >  doc/encoders.texi | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
> >  1 file changed, 69 insertions(+), 1 deletion(-)
> > 
> > diff --git a/doc/encoders.texi b/doc/encoders.texi
> > index aa1af2c..e921409 100644
> > --- a/doc/encoders.texi
> > +++ b/doc/encoders.texi
> > @@ -1506,7 +1506,7 @@ Text-like
> >  
> >  @end table
> >  
> > - at section libx264
> > + at section libx264, libx264rgb
> >  
> >  x264 H.264/MPEG-4 AVC encoder wrapper.
> >  
> > @@ -1528,6 +1528,74 @@ by the libx264 @code{x264_param_parse} function.
> >  The x264 project website is at
> >  @url{http://www.videolan.org/developers/x264.html}.
> >  
> > +The libx264rgb encoder is the same as libx264, except it accepts RGB pixel
> > +formats as input instead of YUV. More information in next subsection.
> > +
> > + at subsection Supported Pixel Formats
> > +
> > +x264 supports 8- to 10-bit color spaces. The exact bit depth is controlled at
> > +x264's configure time. FFmpeg only supports one bit depth in one particular
> > +build. In other words, it is not possible to build one FFmpeg with multiple
> > +versions of x264 with different bit depths.
> > +
> > +The supported pixel formats for each bit depth is listed below.
> > +
> > + at subsubsection 8-bit Formats
> > +
> > +The following 8-bit pixel formats are supported:
> > +
> > + at itemize
> > + at item
> > +YUV420P
> > + at item
> > +YUVJ420P
> > + at item
> > +YUV422P
> > + at item
> > +YUVJ422P
> > + at item
> > +YUV444P
> > + at item
> > +YUVJ444P
> > + at item
> > +NV12
> > + at item
> > +NV16
> > + at end itemize
> > +
> > + at subsubsection 8-bit Packed RGB Formats
> > +
> > +The following 8-bit packed RGB pixel formats are supported:
> > +
> > + at itemize
> > + at item
> > +BGR24
> > + at item
> > +RGB24
> > + at end itemize
> > +
> > + at subsubsection 9-bit Formats
> > +
> > +The following 9-bit pixel formats are supported:
> > + at itemize @code
> > + at item
> > +YUV420P9
> > + at item
> > +YUV444P9
> > + at end itemize
> > +
> > + at subsubsection 10-bit Formats
> > +
> > +The following 10-bit pixel formats are supported:
> > + at itemize @code
> > + at item
> > +YUV420P10
> > + at item
> > +YUV422P10
> > + at item
> > +YUV444P10
> > + at end itemize
> 

> Is this the right place to document it? Is there some way to show this
> information from the tools? Because I don't feel like I want to
> document this for all the codecs, and it would end up massively
> desynched with the code.

Elaborating more on this:
ffmpeg -help encoder=libx264

will show the supported formats. We should avoid to duplicate
information in documentation when there are the means to show it
programmatically.

About the libx264rgb mention, that surely should be added.
-- 
FFmpeg = Fabulous & Frenzy MultiPurpose Enhancing Goblin


More information about the ffmpeg-devel mailing list