3 * Copyright (c) 2012, Broadcom Europe Ltd
5 * Values taken from vc_image_types.h released by Broadcom at
6 * https://github.com/raspberrypi/userland/blob/master/interface/vctypes/vc_image_types.h
7 * and vc_image_structs.h at
8 * https://github.com/raspberrypi/userland/blob/master/interface/vctypes/vc_image_structs.h
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
16 VC_IMAGE_MIN = 0, //bounds for error checking
24 /* 4bpp palettised image */
26 /* A separated format of 16 colour/light shorts followed by 16 z
30 /* 16 colours followed by 16 z values */
32 /* A separated format of 16 material/colour/light shorts followed by
36 /* 32 bit format containing 18 bits of 6.6.6 RGB, 9 bits per short */
38 /* 32-bit format holding 18 bits of 6.6.6 RGB */
40 /* 4bpp palettised image with embedded palette */
41 VC_IMAGE_PAL4_OBSOLETE,
42 /* 8bpp palettised image with embedded palette */
43 VC_IMAGE_PAL8_OBSOLETE,
44 /* RGB888 with an alpha byte after each pixel */
46 /* a line of Y (32-byte padded), a line of U (16-byte padded), and a
47 * line of V (16-byte padded)
50 /* RGB565 with a transparent patch */
52 /* Compressed (4444) version of RGBA32 */
54 /* VCIII codec format */
56 /* VCIII T-format RGBA8888 */
58 /* VCIII T-format RGBx8888 */
60 /* VCIII T-format float */
62 /* VCIII T-format RGBA4444 */
64 /* VCIII T-format RGB5551 */
66 /* VCIII T-format RGB565 */
68 /* VCIII T-format 8-bit luma and 8-bit alpha */
70 /* VCIII T-format 8 bit generic sample */
72 /* VCIII T-format 8-bit palette */
74 /* VCIII T-format 4-bit palette */
76 /* VCIII T-format Ericsson Texture Compressed */
78 /* RGB888 with R & B swapped */
80 /* RGB888 with R & B swapped, but with no pitch, i.e. no padding after
84 /* Bayer image, extra defines which variant is being used */
86 /* General wrapper for codec images e.g. JPEG from camera */
88 /* VCIII codec format */
90 /* VCIII T-format 8-bit luma */
92 /* VCIII T-format 8-bit alpha */
94 /* VCIII T-format 16-bit generic sample */
96 /* VCIII T-format 1bpp black/white */
99 /* VCIII-B0 HVS YUV 4:4:4 interleaved samples */
101 /* Y, U, & V planes separately (VC_IMAGE_YUV422 has them interleaved on
104 VC_IMAGE_YUV422PLANAR,
105 /* 32bpp with 8bit alpha at MS byte, with R, G, B (LS byte) */
107 /* 32bpp with 8bit unused at MS byte, with R, G, B (LS byte) */
110 /* interleaved 8 bit samples of Y, U, Y, V (4 flavours) */
116 /* 32bpp like RGBA32 but with unused alpha */
118 /* 32bpp, corresponding to RGBA with unused alpha */
120 /* 32bpp, corresponding to BGRA with unused alpha */
123 /* Y as a plane, then UV byte interleaved in plane with same pitch,
128 /* Y, U, & V planes separately 4:4:4 */
129 VC_IMAGE_YUV444PLANAR,
131 /* T-format 8-bit U - same as TF_Y8 buf from U plane */
133 /* T-format 8-bit U - same as TF_Y8 buf from V plane */
136 /* YUV4:2:0 planar, 16bit values */
138 /* YUV4:2:0 codec format, 16bit values */
140 /* YUV4:2:0 with U,V in side-by-side format */
142 /* 10-bit YUV 420 column image format */
144 /* 32-bpp, 10-bit R/G/B, 2-bit Alpha */
145 VC_IMAGE_RGBA1010102,
147 VC_IMAGE_MAX, /* bounds for error checking */
148 VC_IMAGE_FORCE_ENUM_16BIT = 0xffff,
152 /* Unknown or unset - defaults to BT601 interstitial */
153 VC_IMAGE_YUVINFO_UNSPECIFIED = 0,
155 /* colour-space conversions data [4 bits] */
157 /* ITU-R BT.601-5 [SDTV] (compatible with VideoCore-II) */
158 VC_IMAGE_YUVINFO_CSC_ITUR_BT601 = 1,
159 /* ITU-R BT.709-3 [HDTV] */
160 VC_IMAGE_YUVINFO_CSC_ITUR_BT709 = 2,
162 VC_IMAGE_YUVINFO_CSC_JPEG_JFIF = 3,
163 /* Title 47 Code of Federal Regulations (2003) 73.682 (a) (20) */
164 VC_IMAGE_YUVINFO_CSC_FCC = 4,
165 /* Society of Motion Picture and Television Engineers 240M (1999) */
166 VC_IMAGE_YUVINFO_CSC_SMPTE_240M = 5,
167 /* ITU-R BT.470-2 System M */
168 VC_IMAGE_YUVINFO_CSC_ITUR_BT470_2_M = 6,
169 /* ITU-R BT.470-2 System B,G */
170 VC_IMAGE_YUVINFO_CSC_ITUR_BT470_2_BG = 7,
171 /* JPEG JFIF, but with 16..255 luma */
172 VC_IMAGE_YUVINFO_CSC_JPEG_JFIF_Y16_255 = 8,
174 VC_IMAGE_YUVINFO_CSC_REC_2020 = 9,