Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

gf_format_t

Enumerates supported display formats

Synopsis:

See below

Description:

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.

Endianness

For all the packed formats, there are four variants:

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.

Classification:

QNX Graphics Framework

See also:

gf_surface_attach(), gf_surface_create(), gf_surface_create_layer()