[Ffmpeg-devel] pixel format names in swscale

Luca Abeni lucabe72
Mon Aug 14 12:37:52 CEST 2006

Hi all,

I am working on modifying libswscale to internally use PIX_FMT_* names,
so that the dependency on img_format.h can be removed.
To do so, I need to convert each IMGFMT_ name in an equivalent PIX_FMT_
name; it seems to me that a lot of new PIX_FMT_ names will have to be

Here is a list of the equivalences between IMGFMT_ and PIX_FMT_ I built
looking at mplayer's code: is this correct?
every IMGFMT_RGB<x> format will be converted in PIX_FMT_RGB<x>
idem for IMGFMT_BGR<x>
(this will require to introduce some PIX_FMT_RGB* and PIX_FMT_BGR*
formats that are not currently defined in libavutil)
IMGFMT_YUY2     <--->   PIX_FMT_YUYV422		(new format)
IMGFMT_NV12     <--->   PIX_FMT_NV12		(new format)
IMGFMT_NV21     <--->   PIX_FMT_NV21		(new format)
IMGFMT_Y800     <--->   PIX_FMT_GRAY8
IMGFMT_YVU9     <--->   PIX_FMT_YVU410P		(new format)
IMGFMT_IF09     <--->   PIX_FMT_YUV410P
IMGFMT_YV12     <--->   PIX_FMT_YVU420P		(new format)
IMGFMT_I420     <--->   PIX_FMT_YUV420P

Also, how can I convert IMGFMT_Y8 and IMGFMT_IYUV?

Moreover, I see that there are an IMGFMT_BGR1 and an IMGFMT_RGB1
format... If I understand the naming well, they should be "BGR, 1 bit
per pixel" and "RGB, 1 bit per pixel". But I do not understand what 1
bit per pixel represents in the RGB or BGR space (is it B/W? If yes,
what's the difference between these 2 formats?).

Copy this in your signature, if you think it is important:
                               N O    W A R ! ! !

More information about the ffmpeg-devel mailing list