| 
    VDPAU
    
   | 
 

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. Undefined field/frame based Video surfaces allocated with this chroma type have undefined field/frame structure. The implementation is free to internally morph the surface between frame/field(NV12/NV24) as required by VdpVideoDecoder operation. Interop with OpenGL allows registration of these surfaces for either field- or frame-based interop. But, an implicit field/frame structure conversion may be performed.  More... | |
| #define | VDP_CHROMA_TYPE_422 | 
| 4:2:2 chroma format. Undefined field/frame based Video surfaces allocated with this chroma type have undefined field/frame structure. The implementation is free to internally morph the surface between frame/field(NV12/NV24) as required by VdpVideoDecoder operation. Interop with OpenGL allows registration of these surfaces for either field- or frame-based interop. But, an implicit field/frame structure conversion may be performed.  More... | |
| #define | VDP_CHROMA_TYPE_444 | 
| 4:4:4 chroma format. Undefined field/frame based Video surfaces allocated with this chroma type have undefined field/frame structure. The implementation is free to internally morph the surface between frame/field(NV12/NV24) as required by VdpVideoDecoder operation. Interop with OpenGL allows registration of these surfaces for either field- or frame-based interop. But, an implicit field/frame structure conversion may be performed.  More... | |
| #define | VDP_CHROMA_TYPE_420_FIELD | 
| 4:2:0 chroma format. Field based. Video surfaces allocated with this chroma type can only be interoped with OpenGL if the matching field/frame structure is specified in the OpenGL API  More... | |
| #define | VDP_CHROMA_TYPE_422_FIELD | 
| 4:2:2 chroma format. Field based. Video surfaces allocated with this chroma type can only be interoped with OpenGL if the matching field/frame structure is specified in the OpenGL API  More... | |
| #define | VDP_CHROMA_TYPE_444_FIELD | 
| 4:4:4 chroma format. Field based. Video surfaces allocated with this chroma type can only be interoped with OpenGL if the matching field/frame structure is specified in the OpenGL API  More... | |
| #define | VDP_CHROMA_TYPE_420_FRAME | 
| 4:2:0 chroma format. Frame based. Video surfaces allocated with this chroma type can only be interoped with OpenGL if the matching field/frame structure is specified in the OpenGL API  More... | |
| #define | VDP_CHROMA_TYPE_422_FRAME | 
| 4:2:2 chroma format. Frame based. Video surfaces allocated with this chroma type can only be interoped with OpenGL if the matching field/frame structure is specified in the OpenGL API  More... | |
| #define | VDP_CHROMA_TYPE_444_FRAME | 
| 4:4:4 chroma format. Frame based. Video surfaces allocated with this chroma type can only be interoped with OpenGL if the matching field/frame structure is specified in the OpenGL API  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_YCBCR_FORMAT_Y_UV_444 | 
| The "Y_UV_444" YCbCr surface format.  More... | |
| #define | VDP_YCBCR_FORMAT_Y_U_V_444 | 
| The "Y_U_V_444" YCbCr surface 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... | |
| #define VDP_CHROMA_TYPE_420 | 
4:2:0 chroma format. Undefined field/frame based Video surfaces allocated with this chroma type have undefined field/frame structure. The implementation is free to internally morph the surface between frame/field(NV12/NV24) as required by VdpVideoDecoder operation. Interop with OpenGL allows registration of these surfaces for either field- or frame-based interop. But, an implicit field/frame structure conversion may be performed.
| #define VDP_CHROMA_TYPE_420_FIELD | 
4:2:0 chroma format. Field based. Video surfaces allocated with this chroma type can only be interoped with OpenGL if the matching field/frame structure is specified in the OpenGL API
| #define VDP_CHROMA_TYPE_420_FRAME | 
4:2:0 chroma format. Frame based. Video surfaces allocated with this chroma type can only be interoped with OpenGL if the matching field/frame structure is specified in the OpenGL API
| #define VDP_CHROMA_TYPE_422 | 
4:2:2 chroma format. Undefined field/frame based Video surfaces allocated with this chroma type have undefined field/frame structure. The implementation is free to internally morph the surface between frame/field(NV12/NV24) as required by VdpVideoDecoder operation. Interop with OpenGL allows registration of these surfaces for either field- or frame-based interop. But, an implicit field/frame structure conversion may be performed.
| #define VDP_CHROMA_TYPE_422_FIELD | 
4:2:2 chroma format. Field based. Video surfaces allocated with this chroma type can only be interoped with OpenGL if the matching field/frame structure is specified in the OpenGL API
| #define VDP_CHROMA_TYPE_422_FRAME | 
4:2:2 chroma format. Frame based. Video surfaces allocated with this chroma type can only be interoped with OpenGL if the matching field/frame structure is specified in the OpenGL API
| #define VDP_CHROMA_TYPE_444 | 
4:4:4 chroma format. Undefined field/frame based Video surfaces allocated with this chroma type have undefined field/frame structure. The implementation is free to internally morph the surface between frame/field(NV12/NV24) as required by VdpVideoDecoder operation. Interop with OpenGL allows registration of these surfaces for either field- or frame-based interop. But, an implicit field/frame structure conversion may be performed.
| #define VDP_CHROMA_TYPE_444_FIELD | 
4:4:4 chroma format. Field based. Video surfaces allocated with this chroma type can only be interoped with OpenGL if the matching field/frame structure is specified in the OpenGL API
| #define VDP_CHROMA_TYPE_444_FRAME | 
4:4:4 chroma format. Frame based. Video surfaces allocated with this chroma type can only be interoped with OpenGL if the matching field/frame structure is specified in the OpenGL API
| #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_Y_U_V_444 | 
The "Y_U_V_444" YCbCr surface format.
This format has 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.
| #define VDP_YCBCR_FORMAT_Y_UV_444 | 
The "Y_UV_444" YCbCr surface format.
This format has 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_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 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.
 1.8.16