VDPAU
Data Structures | Macros | Typedefs
Miscellaneous Types
Collaboration diagram for Miscellaneous Types:

Data Structures

struct  VdpPoint
 A location within a surface. More...
 
struct  VdpRect
 A rectangular region of a surface. More...
 
struct  VdpColor
 

Macros

#define VDP_INVALID_HANDLE   0xffffffffU
 An invalid object handle value. More...
 
#define VDP_CHROMA_TYPE_420
 4:2:0 chroma format. More...
 
#define VDP_CHROMA_TYPE_422
 4:2:2 chroma format. More...
 
#define VDP_CHROMA_TYPE_444
 4:4:4 chroma format. More...
 
#define VDP_YCBCR_FORMAT_NV12
 The "NV12" YCbCr surface format. More...
 
#define VDP_YCBCR_FORMAT_YV12
 The "YV12" YCbCr surface format. More...
 
#define VDP_YCBCR_FORMAT_UYVY
 The "UYVY" YCbCr surface format. More...
 
#define VDP_YCBCR_FORMAT_YUYV
 The "YUYV" YCbCr surface format. More...
 
#define VDP_YCBCR_FORMAT_Y8U8V8A8
 A packed YCbCr format. More...
 
#define VDP_YCBCR_FORMAT_V8U8Y8A8
 A packed YCbCr format. More...
 
#define VDP_RGBA_FORMAT_B8G8R8A8
 A packed RGB format. More...
 
#define VDP_RGBA_FORMAT_R8G8B8A8
 A packed RGB format. More...
 
#define VDP_RGBA_FORMAT_R10G10B10A2
 A packed RGB format. More...
 
#define VDP_RGBA_FORMAT_B10G10R10A2
 A packed RGB format. More...
 
#define VDP_RGBA_FORMAT_A8
 An alpha-only surface format. More...
 
#define VDP_INDEXED_FORMAT_A4I4
 A 4-bit indexed format, with alpha. More...
 
#define VDP_INDEXED_FORMAT_I4A4
 A 4-bit indexed format, with alpha. More...
 
#define VDP_INDEXED_FORMAT_A8I8
 A 8-bit indexed format, with alpha. More...
 
#define VDP_INDEXED_FORMAT_I8A8
 A 8-bit indexed format, with alpha. More...
 

Typedefs

typedef uint32_t VdpChromaType
 The set of all chroma formats for VdpVideoSurfaces. More...
 
typedef uint32_t VdpYCbCrFormat
 The set of all known YCbCr surface formats. More...
 
typedef uint32_t VdpRGBAFormat
 The set of all known RGB surface formats. More...
 
typedef uint32_t VdpIndexedFormat
 The set of all known indexed surface formats. More...
 

Detailed Description

Macro Definition Documentation

#define VDP_CHROMA_TYPE_420

4:2:0 chroma format.

#define VDP_CHROMA_TYPE_422

4:2:2 chroma format.

#define VDP_CHROMA_TYPE_444

4:4:4 chroma format.

#define VDP_INDEXED_FORMAT_A4I4

A 4-bit indexed format, with alpha.

This format has a single plane.

This plane is an array of byte-sized components. Within each byte, bits [7:4] contain I (index), and bits [3:0] contain A.

Applications should access this data via a uint8_t pointer.

#define VDP_INDEXED_FORMAT_A8I8

A 8-bit indexed format, with alpha.

This format has a single plane.

This plane is an array of interleaved byte-sized A and I (index) components, in the order A, I, A, I.

Applications should access this data via a uint8_t pointer.

#define VDP_INDEXED_FORMAT_I4A4

A 4-bit indexed format, with alpha.

This format has a single plane.

This plane is an array of byte-sized components. Within each byte, bits [7:4] contain A, and bits [3:0] contain I (index).

Applications should access this data via a uint8_t pointer.

#define VDP_INDEXED_FORMAT_I8A8

A 8-bit indexed format, with alpha.

This format has a single plane.

This plane is an array of interleaved byte-sized A and I (index) components, in the order I, A, I, A.

Applications should access this data via a uint8_t pointer.

#define VDP_INVALID_HANDLE   0xffffffffU

An invalid object handle value.

This value may be used to represent an invalid, or non-existent, object (VdpDevice, VdpVideoSurface, etc.)

Note that most APIs require valid object handles in all cases, and will fail when presented with this value.

#define VDP_RGBA_FORMAT_A8

An alpha-only surface format.

This format has a single plane.

This plane is an array of byte-sized components.

Applications should access this data via a uint8_t pointer.

#define VDP_RGBA_FORMAT_B10G10R10A2

A packed RGB format.

This format has a single plane.

This plane is an array packed 32-bit pixel data. Within each 32-bit pixel, bits [31:30] contain A, bits [29:20] contain R, bits [19:10] contain G, and bits [9:0] contain B.

Applications should access this data via a uint32_t pointer.

#define VDP_RGBA_FORMAT_B8G8R8A8

A packed RGB format.

This format has a single plane.

This plane is an array packed 32-bit pixel data. Within each 32-bit pixel, bits [31:24] contain A, bits [23:16] contain R, bits [15:8] contain G, and bits [7:0] contain B.

Applications should access this data via a uint32_t pointer.

#define VDP_RGBA_FORMAT_R10G10B10A2

A packed RGB format.

This format has a single plane.

This plane is an array packed 32-bit pixel data. Within each 32-bit pixel, bits [31:30] contain A, bits [29:20] contain B, bits [19:10] contain G, and bits [9:0] contain R.

Applications should access this data via a uint32_t pointer.

#define VDP_RGBA_FORMAT_R8G8B8A8

A packed RGB format.

This format has a single plane.

This plane is an array packed 32-bit pixel data. Within each 32-bit pixel, bits [31:24] contain A, bits [23:16] contain B, bits [15:8] contain G, and bits [7:0] contain R.

Applications should access this data via a uint32_t pointer.

#define VDP_YCBCR_FORMAT_NV12

The "NV12" YCbCr surface format.

This format has a two planes, a Y plane and a UV plane.

The Y plane is an array of byte-sized Y components. Applications should access this data via a uint8_t pointer.

The UV plane is an array of interleaved byte-sized U and V components, in the order U, V, U, V. Applications should access this data via a uint8_t pointer.

#define VDP_YCBCR_FORMAT_UYVY

The "UYVY" YCbCr surface format.

This format may also be known as Y422, UYNV, HDYC.

This format has a single plane.

This plane is an array of interleaved byte-sized Y, U, and V components, in the order U, Y, V, Y, U, Y, V, Y.

Applications should access this data via a uint8_t pointer.

#define VDP_YCBCR_FORMAT_V8U8Y8A8

A packed YCbCr format.

This format has a single plane.

This plane is an array packed 32-bit pixel data. Within each 32-bit pixel, bits [31:24] contain A, bits [23:16] contain Y, bits [15:8] contain U, and bits [7:0] contain V.

Applications should access this data via a uint32_t pointer.

#define VDP_YCBCR_FORMAT_Y8U8V8A8

A packed YCbCr format.

This format has a single plane.

This plane is an array packed 32-bit pixel data. Within each 32-bit pixel, bits [31:24] contain A, bits [23:16] contain V, bits [15:8] contain U, and bits [7:0] contain Y.

Applications should access this data via a uint32_t pointer.

#define VDP_YCBCR_FORMAT_YUYV

The "YUYV" YCbCr surface format.

This format may also be known as YUY2, YUNV, V422.

This format has a single plane.

This plane is an array of interleaved byte-sized Y, U, and V components, in the order Y, U, Y, V, Y, U, Y, V.

Applications should access this data via a uint8_t pointer.

#define VDP_YCBCR_FORMAT_YV12

The "YV12" YCbCr surface format.

This format has a three planes, a Y plane, a V plane, and a U plane.

Each of the planes is an array of byte-sized components.

Applications should access this data via a uint8_t pointer.

Typedef Documentation

typedef uint32_t VdpChromaType

The set of all chroma formats for VdpVideoSurfaces.

typedef uint32_t VdpIndexedFormat

The set of all known indexed surface formats.

typedef uint32_t VdpRGBAFormat

The set of all known RGB surface formats.

typedef uint32_t VdpYCbCrFormat

The set of all known YCbCr surface formats.