Enumerates supported display formats
See below
The gf_format_t data type enumerates supported display formats. Display formats identify the format of pixel data in a buffer.
The possible values are:
- GF_FORMAT_INVALID
- Generic out-of-band value used to flag errors.
- GF_FORMAT_BYTE
- 8-bits-per-pixel format with no assigned meaning.
- GF_FORMAT_PAL8
- 8-bits-per-pixel index into a palette of up to 256 entries.
- GF_FORMAT_*_ARGB1555
- 16-bits-per-pixel ARGB packed into 16-bit integers, with bits 0-4 for blue, 5-9 for green, 10-14 for red, and the most significant bit for alpha. See variants below.
- GF_FORMAT_*_RGB565
- 16-bits-per-pixel RGB packed into 16 bit integers with bits 0-4 for blue, 5-10 for green, and 11-15 for red. See variants below.
- GF_FORMAT_BGR888
- 24-bits-per-pixel BGR with 8 bits per channel as an ordered byte sequence.
- GF_FORMAT_BGRA8888
- 32-bits-per-pixel BGRA with 8 bits per channel as an ordered byte sequence.
- GF_FORMAT_*_YUV_UYVY
- 16-bit packed YUV (FourCC code UYVY). See variants below.
- GF_FORMAT_*_YUV_YUY2
- 16-bit packed YUV (FourCC code YUY2). See variants below.
- GF_FORMAT_*_YUV_YVYU
- 16-bit packed YUV (FourCC code YVYU). See variants below.
- GF_FORMAT_*_YUV_V422
- 16-bit packed YUV (FourCC code V422). See variants below.
- GF_FORMAT_PLANAR_YUV_YVU9
- Planar YUV (FourCC code YVU9).
- GF_FORMAT_PLANAR_YUV_YV12
- Planar YUV (FourCC code YV12).
- GF_FORMAT_PLANAR_YUV_420
- Planar YUV.
For all the packed formats, there are four variants:
- PACK — not endian-specific
- PKLE — little endian
- PKBE — big endian
- PKHE — host endian, resolved to either PKLE or PKBE at compile time.
Where possible, you should use the non-endian-specific PACK variant and allow the hardware to allocate surfaces the way it chooses, which makes your application more portable. This applies to gf_surface_create() and gf_surface_create_layer().
In the case of gf_surface_attach(), you need to be specific about the endianess of the packed format, so pass one of the PKLE, PKBE, or PKHE variants.
QNX Graphics Framework
gf_surface_attach(),
gf_surface_create(),
gf_surface_create_layer()