# HG changeset patch # User benoit # Date 1267777583 0 # Node ID c88d7a5ffa248d5ffe95f6ab7b88119239b7ffea # Parent f01741b79070a543ebd8ad9348938384e95d32ed Add initial support for 12-bit color mode. Patch by Janusz Krzysztofik jkrzyszt tis icnet pl Original thread: Subject: [FFmpeg-devel] [PATCH v2] Add initial support for 12-bit color mode. Date: Mon, 1 Mar 2010 02:05:07 +0100 diff -r f01741b79070 -r c88d7a5ffa24 pixdesc.c --- a/pixdesc.c Thu Mar 04 00:27:46 2010 +0000 +++ b/pixdesc.c Fri Mar 05 08:26:23 2010 +0000 @@ -594,6 +594,29 @@ {0,1,1,0,4}, /* B */ }, }, + [PIX_FMT_RGB444BE] = { + .name = "rgb444be", + .nb_components= 3, + .log2_chroma_w= 0, + .log2_chroma_h= 0, + .comp = { + {0,1,0,0,3}, /* R */ + {0,1,1,4,3}, /* G */ + {0,1,1,0,3}, /* B */ + }, + .flags = PIX_FMT_BE, + }, + [PIX_FMT_RGB444LE] = { + .name = "rgb444le", + .nb_components= 3, + .log2_chroma_w= 0, + .log2_chroma_h= 0, + .comp = { + {0,1,2,0,3}, /* R */ + {0,1,1,4,3}, /* G */ + {0,1,1,0,3}, /* B */ + }, + }, [PIX_FMT_BGR565BE] = { .name = "bgr565be", .nb_components= 3, @@ -640,6 +663,29 @@ {0,1,1,0,4}, /* R */ }, }, + [PIX_FMT_BGR444BE] = { + .name = "bgr444be", + .nb_components= 3, + .log2_chroma_w= 0, + .log2_chroma_h= 0, + .comp = { + {0,1,0,0,3}, /* B */ + {0,1,1,4,3}, /* G */ + {0,1,1,0,3}, /* R */ + }, + .flags = PIX_FMT_BE, + }, + [PIX_FMT_BGR444LE] = { + .name = "bgr444le", + .nb_components= 3, + .log2_chroma_w= 0, + .log2_chroma_h= 0, + .comp = { + {0,1,2,0,3}, /* B */ + {0,1,1,4,3}, /* G */ + {0,1,1,0,3}, /* R */ + }, + }, [PIX_FMT_VAAPI_MOCO] = { .name = "vaapi_moco", .log2_chroma_w = 1, diff -r f01741b79070 -r c88d7a5ffa24 pixfmt.h --- a/pixfmt.h Thu Mar 04 00:27:46 2010 +0000 +++ b/pixfmt.h Fri Mar 05 08:26:23 2010 +0000 @@ -127,6 +127,11 @@ PIX_FMT_YUV444P16BE, ///< planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian PIX_FMT_VDPAU_MPEG4, ///< MPEG4 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers PIX_FMT_DXVA2_VLD, ///< HW decoding through DXVA2, Picture.data[3] contains a LPDIRECT3DSURFACE9 pointer + + PIX_FMT_RGB444BE, ///< packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), big-endian, most significant bits to 0 + PIX_FMT_RGB444LE, ///< packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), little-endian, most significant bits to 0 + PIX_FMT_BGR444BE, ///< packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), big-endian, most significant bits to 1 + PIX_FMT_BGR444LE, ///< packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), little-endian, most significant bits to 1 PIX_FMT_NB, ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions }; @@ -145,8 +150,10 @@ #define PIX_FMT_RGB48 PIX_FMT_NE(RGB48BE, RGB48LE) #define PIX_FMT_RGB565 PIX_FMT_NE(RGB565BE, RGB565LE) #define PIX_FMT_RGB555 PIX_FMT_NE(RGB555BE, RGB555LE) +#define PIX_FMT_RGB444 PIX_FMT_NE(RGB444BE, RGB444LE) #define PIX_FMT_BGR565 PIX_FMT_NE(BGR565BE, BGR565LE) #define PIX_FMT_BGR555 PIX_FMT_NE(BGR555BE, BGR555LE) +#define PIX_FMT_BGR444 PIX_FMT_NE(BGR444BE, BGR444LE) #define PIX_FMT_YUV420P16 PIX_FMT_NE(YUV420P16BE, YUV420P16LE) #define PIX_FMT_YUV422P16 PIX_FMT_NE(YUV422P16BE, YUV422P16LE)