[Ffmpeg-devel] video4linux2 input format?

Michael Niedermayer michaelni
Thu Jan 26 15:27:52 CET 2006


Hi

On Thu, Jan 26, 2006 at 12:31:56PM +0100, Luca Abeni wrote:
> On Wed, 2006-01-25 at 14:48 +0100, Luca Abeni wrote:
> [...]
> > Is anyone already working on it? If not, I'll start implementing
> > video4linux2 support today
> Ok, I now have some semi-working code (it can grab YUV video from a BTTV
> card in mmap mode), and I'll send it on the mailing list today...
> 
> But now I need some help for mapping the v4l2 pixel format names in the
> ffmpeg ones.
> V4L2 defines the following pixel formats:
[...]
> Can anyone help me in mapping the other V4L2_PIX_FMT to the equivalent
> PIX_FMT?

ok, assuming http://v4l2spec.bytesex.org is correct, even though it itself
says some drivers interpret things differently ...
and assuming i didnt make a mistake

Little endian:

V4L2_PIX_FMT_RGB332: PIX_FMT_PAL8 but you must set the correct palette
V4L2_PIX_FMT_RGB555: PIX_FMT_RGB555 with red and blue exchanged
V4L2_PIX_FMT_RGB565: PIX_FMT_RGB565 with red and blue exchanged
V4L2_PIX_FMT_RGB555X: meaningless on little endian
V4L2_PIX_FMT_RGB565X: meaningless on little endian
V4L2_PIX_FMT_BGR24:  PIX_FMT_BGR24
V4L2_PIX_FMT_RGB24:  PIX_FMT_RGB24
V4L2_PIX_FMT_BGR32:  PIX_FMT_RGBA32
V4L2_PIX_FMT_RGB32:  PIX_FMT_RGBA32 with red and blue exchanged
V4L2_PIX_FMT_GREY:   PIX_FMT_GRAY8
V4L2_PIX_FMT_YVU410: PIX_FMT_YUV410P with the chroma planes swapped
V4L2_PIX_FMT_YVU420: PIX_FMT_YUV420P with the chroma planes swapped
V4L2_PIX_FMT_YUYV:   PIX_FMT_YUV422
V4L2_PIX_FMT_UYVY:   PIX_FMT_UYVY422
V4L2_PIX_FMT_YUV422P:PIX_FMT_YUV422P
V4L2_PIX_FMT_YUV411P:PIX_FMT_YUV411P
V4L2_PIX_FMT_Y41P:   not supported
V4L2_PIX_FMT_NV12:   not supported
V4L2_PIX_FMT_NV21:   not supported
V4L2_PIX_FMT_YUV410: PIX_FMT_YUV410P
V4L2_PIX_FMT_YUV420: PIX_FMT_YUV420P
V4L2_PIX_FMT_YYUV:   not mentioned in docs
V4L2_PIX_FMT_HI240:  not mentioned in docs

Big endian:

V4L2_PIX_FMT_RGB332: PIX_FMT_PAL8 but you must set the correct palette
V4L2_PIX_FMT_RGB555: meaningless on big endian
V4L2_PIX_FMT_RGB565: meaningless on big endian
V4L2_PIX_FMT_RGB555X:PIX_FMT_RGB555 with red and blue exchanged
V4L2_PIX_FMT_RGB565X:PIX_FMT_RGB565 with red and blue exchanged
V4L2_PIX_FMT_BGR24:  PIX_FMT_BGR24
V4L2_PIX_FMT_RGB24:  PIX_FMT_RGB24
V4L2_PIX_FMT_BGR32:  not supported
V4L2_PIX_FMT_RGB32:  not supported
V4L2_PIX_FMT_GREY:   PIX_FMT_GRAY8
V4L2_PIX_FMT_YVU410: PIX_FMT_YUV410P with the chroma planes swapped
V4L2_PIX_FMT_YVU420: PIX_FMT_YUV420P with the chroma planes swapped
V4L2_PIX_FMT_YUYV:   PIX_FMT_YUV422
V4L2_PIX_FMT_UYVY:   PIX_FMT_UYVY422
V4L2_PIX_FMT_YUV422P:PIX_FMT_YUV422P
V4L2_PIX_FMT_YUV411P:PIX_FMT_YUV422P
V4L2_PIX_FMT_Y41P:   not supported
V4L2_PIX_FMT_NV12:   not supported
V4L2_PIX_FMT_NV21:   not supported
V4L2_PIX_FMT_YUV410: PIX_FMT_YUV410P
V4L2_PIX_FMT_YUV420: PIX_FMT_YUV420P
V4L2_PIX_FMT_YYUV:   not mentioned in docs
V4L2_PIX_FMT_HI240:  not mentioned in docs

[...]
-- 
Michael





More information about the ffmpeg-devel mailing list