include/nuttx/video/fb.h: Add definition for a Y2 color format. I don't know if this standard but I do have 2-bit greyscale hardware so the definition is needed.

This commit is contained in:
Gregory Nutt 2017-11-22 15:33:15 -06:00
parent cbfaca8a14
commit 99a79327d2

View File

@ -56,9 +56,10 @@
/* Monochrome Formats *******************************************************/
#define FB_FMT_Y1 0 /* BPP=1, monochrome */
#define FB_FMT_Y4 1 /* BPP=4, 4-bit uncompressed greyscale */
#define FB_FMT_Y8 2 /* BPP=8, 8-bit uncompressed greyscale */
#define FB_FMT_Y16 3 /* BPP=16, 16-bit uncompressed greyscale */
#define FB_FMT_Y2 1 /* BPP=2, 2-bit uncompressed greyscale */
#define FB_FMT_Y4 2 /* BPP=4, 4-bit uncompressed greyscale */
#define FB_FMT_Y8 3 /* BPP=8, 8-bit uncompressed greyscale */
#define FB_FMT_Y16 4 /* BPP=16, 16-bit uncompressed greyscale */
#define FB_FMT_GREY FB_FMT_Y8 /* BPP=8 */
#define FB_FMT_Y800 FB_FMT_Y8 /* BPP=8 */
@ -69,115 +70,115 @@
/* Standard RGB */
#define FB_FMT_RGB1 FB_FMT_Y1 /* BPP=1 */
#define FB_FMT_RGB4 4 /* BPP=4 */
#define FB_FMT_RGB8 5 /* BPP=8 RGB palette index */
#define FB_FMT_RGB8_222 6 /* BPP=8 R=2, G=2, B=2 */
#define FB_FMT_RGB8_332 7 /* BPP=8 R=3, G=3, B=2 */
#define FB_FMT_RGB12_444 8 /* BPP=12 R=4, G=4, B=4 */
#define FB_FMT_RGB16_555 9 /* BPP=16 R=5, G=5, B=5 (1 unused bit) */
#define FB_FMT_RGB16_565 10 /* BPP=16 R=6, G=6, B=5 */
#define FB_FMT_RGB24 11 /* BPP=24 */
#define FB_FMT_RGB32 12 /* BPP=32 */
#define FB_FMT_RGB4 5 /* BPP=4 */
#define FB_FMT_RGB8 6 /* BPP=8 RGB palette index */
#define FB_FMT_RGB8_222 7 /* BPP=8 R=2, G=2, B=2 */
#define FB_FMT_RGB8_332 8 /* BPP=8 R=3, G=3, B=2 */
#define FB_FMT_RGB12_444 9 /* BPP=12 R=4, G=4, B=4 */
#define FB_FMT_RGB16_555 10 /* BPP=16 R=5, G=5, B=5 (1 unused bit) */
#define FB_FMT_RGB16_565 11 /* BPP=16 R=6, G=6, B=5 */
#define FB_FMT_RGB24 12 /* BPP=24 */
#define FB_FMT_RGB32 13 /* BPP=32 */
/* Run length encoded RGB */
#define FB_FMT_RGBRLE4 13 /* BPP=4 */
#define FB_FMT_RGBRLE8 14 /* BPP=8 */
#define FB_FMT_RGBRLE4 14 /* BPP=4 */
#define FB_FMT_RGBRLE8 15 /* BPP=8 */
/* Raw RGB */
#define FB_FMT_RGBRAW 15 /* BPP=? */
#define FB_FMT_RGBRAW 16 /* BPP=? */
/* Raw RGB with arbitrary sample packing within a pixel. Packing and precision
* of R, G and B components is determined by bit masks for each.
*/
#define FB_FMT_RGBBTFLD16 16 /* BPP=16 */
#define FB_FMT_RGBBTFLD24 17 /* BPP=24 */
#define FB_FMT_RGBBTFLD32 18 /* BPP=32 */
#define FB_FMT_RGBA16 19 /* BPP=16 Raw RGB with alpha */
#define FB_FMT_RGBA32 20 /* BPP=32 Raw RGB with alpha */
#define FB_FMT_RGBBTFLD16 17 /* BPP=16 */
#define FB_FMT_RGBBTFLD24 18 /* BPP=24 */
#define FB_FMT_RGBBTFLD32 19 /* BPP=32 */
#define FB_FMT_RGBA16 20 /* BPP=16 Raw RGB with alpha */
#define FB_FMT_RGBA32 21 /* BPP=32 Raw RGB with alpha */
/* Raw RGB with a transparency field. Layout is as for standard RGB at 16 and
* 32 bits per pixel but the msb in each pixel indicates whether the pixel is
* transparent or not.
*/
#define FB_FMT_RGBT16 21 /* BPP=16 */
#define FB_FMT_RGBT32 22 /* BPP=32 */
#define FB_FMT_RGBT16 22 /* BPP=16 */
#define FB_FMT_RGBT32 23 /* BPP=32 */
#define FB_ISRGB(f) ((f) >= FB_FMT_RGB1) && (f) <= FB_FMT_RGBT32)
/* Packed YUV Formats *******************************************************/
#define FB_FMT_AYUV 23 /* BPP=32 Combined YUV and alpha */
#define FB_FMT_CLJR 24 /* BPP=8 4 pixels packed into a uint32_t.
#define FB_FMT_AYUV 24 /* BPP=32 Combined YUV and alpha */
#define FB_FMT_CLJR 25 /* BPP=8 4 pixels packed into a uint32_t.
* YUV 4:1:1 with l< 8 bits
* per YUV sample */
#define FB_FMT_CYUV 25 /* BPP=16 UYVY except that height is
#define FB_FMT_CYUV 26 /* BPP=16 UYVY except that height is
* reversed */
#define FB_FMT_IRAW 26 /* BPP=? Intel uncompressed YUV */
#define FB_FMT_IUYV 27 /* BPP=16 Interlaced UYVY (line order
#define FB_FMT_IRAW 27 /* BPP=? Intel uncompressed YUV */
#define FB_FMT_IUYV 28 /* BPP=16 Interlaced UYVY (line order
* 0,2,4,.., 1,3,5...) */
#define FB_FMT_IY41 28 /* BPP=12 Interlaced Y41P (line order
#define FB_FMT_IY41 29 /* BPP=12 Interlaced Y41P (line order
* 0,2,4,.., 1,3,5...) */
#define FB_FMT_IYU2 29 /* BPP=24 */
#define FB_FMT_HDYC 30 /* BPP=16 UYVY except uses the BT709
#define FB_FMT_IYU2 30 /* BPP=24 */
#define FB_FMT_HDYC 31 /* BPP=16 UYVY except uses the BT709
* color space */
#define FB_FMT_UYVP 31 /* BPP=24? YCbCr 4:2:2, 10-bits per
#define FB_FMT_UYVP 32 /* BPP=24? YCbCr 4:2:2, 10-bits per
* component in U0Y0V0Y1 order */
#define FB_FMT_UYVY 32 /* BPP=16 YUV 4:2:2 */
#define FB_FMT_UYVY 33 /* BPP=16 YUV 4:2:2 */
#define FB_FMT_UYNV FB_FMT_UYVY /* BPP=16 */
#define FB_FMT_Y422 FB_FMT_UYVY /* BPP=16 */
#define FB_FMT_V210 33 /* BPP=32 10-bit 4:2:2 YCrCb */
#define FB_FMT_V422 34 /* BPP=16 Upside down version of UYVY */
#define FB_FMT_V655 35 /* BPP=16? 16-bit YUV 4:2:2 */
#define FB_FMT_VYUY 36 /* BPP=? ATI Packed YUV Data */
#define FB_FMT_YUYV 37 /* BPP=16 YUV 4:2:2 */
#define FB_FMT_V210 34 /* BPP=32 10-bit 4:2:2 YCrCb */
#define FB_FMT_V422 35 /* BPP=16 Upside down version of UYVY */
#define FB_FMT_V655 36 /* BPP=16? 16-bit YUV 4:2:2 */
#define FB_FMT_VYUY 37 /* BPP=? ATI Packed YUV Data */
#define FB_FMT_YUYV 38 /* BPP=16 YUV 4:2:2 */
#define FB_FMT_YUY2 FB_FMT_YUYV /* BPP=16 YUV 4:2:2 */
#define FB_FMT_YUNV FB_FMT_YUYV /* BPP=16 YUV 4:2:2 */
#define FB_FMT_YVYU 38 /* BPP=16 YUV 4:2:2 */
#define FB_FMT_Y41P 39 /* BPP=12 YUV 4:1:1 */
#define FB_FMT_Y411 40 /* BPP=12 YUV 4:1:1 */
#define FB_FMT_Y211 41 /* BPP=8 */
#define FB_FMT_Y41T 42 /* BPP=12 Y41P LSB for transparency */
#define FB_FMT_Y42T 43 /* BPP=16 UYVY LSB for transparency */
#define FB_FMT_YUVP 44 /* BPP=24? YCbCr 4:2:2 Y0U0Y1V0 order */
#define FB_FMT_YVYU 39 /* BPP=16 YUV 4:2:2 */
#define FB_FMT_Y41P 40 /* BPP=12 YUV 4:1:1 */
#define FB_FMT_Y411 41 /* BPP=12 YUV 4:1:1 */
#define FB_FMT_Y211 42 /* BPP=8 */
#define FB_FMT_Y41T 43 /* BPP=12 Y41P LSB for transparency */
#define FB_FMT_Y42T 44 /* BPP=16 UYVY LSB for transparency */
#define FB_FMT_YUVP 45 /* BPP=24? YCbCr 4:2:2 Y0U0Y1V0 order */
#define FB_ISYUVPACKED(f) ((f) >= FB_FMT_AYUV) && (f) <= FB_FMT_YUVP)
/* Packed Planar YUV Formats ************************************************/
#define FB_FMT_YVU9 45 /* BPP=9 8-bit Y followed by 8-bit
#define FB_FMT_YVU9 46 /* BPP=9 8-bit Y followed by 8-bit
* 4x4 VU */
#define FB_FMT_YUV9 46 /* BPP=9? */
#define FB_FMT_IF09 47 /* BPP=9.5 YVU9 + 4x4 plane of delta
#define FB_FMT_YUV9 47 /* BPP=9? */
#define FB_FMT_IF09 48 /* BPP=9.5 YVU9 + 4x4 plane of delta
* relative to tframe. */
#define FB_FMT_YV16 48 /* BPP=16 8-bit Y followed by 8-bit
#define FB_FMT_YV16 49 /* BPP=16 8-bit Y followed by 8-bit
* 2x1 VU */
#define FB_FMT_YV12 49 /* BPP=12 8-bit Y followed by 8-bit
#define FB_FMT_YV12 50 /* BPP=12 8-bit Y followed by 8-bit
* 2x2 VU */
#define FB_FMT_I420 50 /* BPP=12 8-bit Y followed by 8-bit
#define FB_FMT_I420 51 /* BPP=12 8-bit Y followed by 8-bit
* 2x2 UV */
#define FB_FMT_IYUV FB_FMT_I420 /* BPP=12 */
#define FB_FMT_NV12 51 /* BPP=12 8-bit Y followed by an
#define FB_FMT_NV12 52 /* BPP=12 8-bit Y followed by an
* interleaved 2x2 UV */
#define FB_FMT_NV21 52 /* BPP=12 NV12 with UV reversed */
#define FB_FMT_IMC1 53 /* BPP=12 YV12 except UV planes same
#define FB_FMT_NV21 53 /* BPP=12 NV12 with UV reversed */
#define FB_FMT_IMC1 54 /* BPP=12 YV12 except UV planes same
* stride as Y */
#define FB_FMT_IMC2 54 /* BPP=12 IMC1 except UV lines
#define FB_FMT_IMC2 55 /* BPP=12 IMC1 except UV lines
* interleaved at half stride
* boundaries */
#define FB_FMT_IMC3 55 /* BPP=12 As IMC1 except that UV
#define FB_FMT_IMC3 56 /* BPP=12 As IMC1 except that UV
* swapped */
#define FB_FMT_IMC4 56 /* BPP=12 As IMC2 except that UV
#define FB_FMT_IMC4 57 /* BPP=12 As IMC2 except that UV
* swapped */
#define FB_FMT_CLPL 57 /* BPP=12 YV12 but including a level
#define FB_FMT_CLPL 58 /* BPP=12 YV12 but including a level
* of indirection. */
#define FB_FMT_Y41B 58 /* BPP=12? 4:1:1 planar. */
#define FB_FMT_Y42B 59 /* BPP=16? YUV 4:2:2 planar. */
#define FB_FMT_CXY1 60 /* BPP=12 */
#define FB_FMT_CXY2 61 /* BPP=16 */
#define FB_FMT_Y41B 59 /* BPP=12? 4:1:1 planar. */
#define FB_FMT_Y42B 60 /* BPP=16? YUV 4:2:2 planar. */
#define FB_FMT_CXY1 61 /* BPP=12 */
#define FB_FMT_CXY2 62 /* BPP=16 */
#define FB_ISYUVPLANAR(f) (((f) >= FB_FMT_AYUV) && (f) <= FB_FMT_YUVP)
#define FB_ISYUV(f) (FB_ISYUVPACKED(f) || FB_ISYUVPLANAR(f))