VDPAU: vdpau/vdpau.h File Reference

VDPAU

Data Structures | Macros | Typedefs | Enumerations
vdpau.h File Reference

The Core API. More...

`#include <stdint.h>`
Include dependency graph for vdpau.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Data Structures
struct | VdpPoint
| A location within a surface. More...
struct | VdpRect
| A rectangular region of a surface. More...
struct | VdpColor
struct | VdpProcamp
| Procamp operation parameterization data. More...
struct | VdpOutputSurfaceRenderBlendState
| Complete blending operation definition. More...
struct | VdpBitstreamBuffer
| Application data buffer containing compressed video data. More...
struct | VdpPictureInfoMPEG1Or2
| Picture parameter information for an MPEG 1 or MPEG 2 picture. More...
struct | VdpReferenceFrameH264
| Information about an H.264 reference frame. More...
struct | VdpPictureInfoH264
| Picture parameter information for an H.264 picture. More...
struct | VdpPictureInfoH264Predictive
| Picture parameter information for an H.264 Hi444PP picture. More...
struct | VdpPictureInfoVC1
| Picture parameter information for a VC1 picture. More...
struct | VdpPictureInfoMPEG4Part2
| Picture parameter information for an MPEG-4 Part 2 picture. More...
struct | VdpPictureInfoVP9
struct | VdpPictureInfoHEVC
| Picture parameter information for an H.265/HEVC picture. More...
struct | VdpPictureInfoHEVC444
| Picture parameter information for an HEVC 444 picture. More...
struct | VdpPictureInfoAV1
| Picture parameter information for an AV1 picture. More...
struct | VdpLayer
| Definition of an additional VdpOutputSurface layer in the composting model. More...

## Macros
#define | VDP_TRUE 1
| A true VdpBool value.
#define | VDP_FALSE 0
| A false VdpBool value.
#define | VDP_INVALID_HANDLE 0xffffffffU
| An invalid object handle value.
#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_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_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_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_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_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_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_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_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_CHROMA_TYPE_420_16
| 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 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_16
| 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 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_16
| 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 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_16
| 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_422_FIELD_16
| 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_444_FIELD_16
| 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_420_FRAME_16
| 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_FRAME_16
| 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_FRAME_16
| 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_YCBCR_FORMAT_NV12
| The "NV12" YCbCr surface format.
#define | VDP_YCBCR_FORMAT_YV12
| The "YV12" YCbCr surface format.
#define | VDP_YCBCR_FORMAT_UYVY
| The "UYVY" YCbCr surface format.
#define | VDP_YCBCR_FORMAT_YUYV
| The "YUYV" YCbCr surface format.
#define | VDP_YCBCR_FORMAT_Y8U8V8A8
| A packed YCbCr format.
#define | VDP_YCBCR_FORMAT_V8U8Y8A8
| A packed YCbCr format.
#define | VDP_YCBCR_FORMAT_Y_UV_444
| The "Y_UV_444" YCbCr surface format.
#define | VDP_YCBCR_FORMAT_Y_U_V_444
| The "Y_U_V_444" YCbCr surface format.
#define | VDP_YCBCR_FORMAT_P010
| The P010 surface format.
#define | VDP_YCBCR_FORMAT_P016
| The P016 surface format.
#define | VDP_YCBCR_FORMAT_Y_U_V_444_16
| The "Y_U_V_444_16" YCbCr surface format.
#define | VDP_RGBA_FORMAT_B8G8R8A8
| A packed RGB format.
#define | VDP_RGBA_FORMAT_R8G8B8A8
| A packed RGB format.
#define | VDP_RGBA_FORMAT_R10G10B10A2
| A packed RGB format.
#define | VDP_RGBA_FORMAT_B10G10R10A2
| A packed RGB format.
#define | VDP_RGBA_FORMAT_A8
| An alpha-only surface format.
#define | VDP_INDEXED_FORMAT_A4I4
| A 4-bit indexed format, with alpha.
#define | VDP_INDEXED_FORMAT_I4A4
| A 4-bit indexed format, with alpha.
#define | VDP_INDEXED_FORMAT_A8I8
| A 8-bit indexed format, with alpha.
#define | VDP_INDEXED_FORMAT_I8A8
| A 8-bit indexed format, with alpha.
#define | VDPAU_INTERFACE_VERSION 1
| The VDPAU interface version described by this header file.
#define | VDPAU_VERSION 1
| The VDPAU version described by this header file.
#define | VDP_PROCAMP_VERSION 0
#define | VDP_COLOR_STANDARD_ITUR_BT_601
| ITU-R BT.601.
#define | VDP_COLOR_STANDARD_ITUR_BT_709
| ITU-R BT.709.
#define | VDP_COLOR_STANDARD_SMPTE_240M
| SMPTE-240M.
#define | VDP_COLOR_TABLE_FORMAT_B8G8R8X8
| 8-bit per component packed into 32-bits
#define | VDP_OUTPUT_SURFACE_RENDER_BLEND_STATE_VERSION 0
#define | VDP_OUTPUT_SURFACE_RENDER_ROTATE_0
| Do not rotate source_surface prior to compositing.
#define | VDP_OUTPUT_SURFACE_RENDER_ROTATE_90
| Rotate source_surface 90 degrees clockwise prior to compositing.
#define | VDP_OUTPUT_SURFACE_RENDER_ROTATE_180
| Rotate source_surface 180 degrees prior to compositing.
#define | VDP_OUTPUT_SURFACE_RENDER_ROTATE_270
| Rotate source_surface 270 degrees clockwise prior to compositing.
#define | VDP_OUTPUT_SURFACE_RENDER_COLOR_PER_VERTEX
| A separate color is used for each vertex of the smooth-shaded quad. Hence, colors array contains 4 elements rather than 1. See description of colors array.
#define | VDP_DECODER_PROFILE_MPEG1
#define | VDP_DECODER_PROFILE_MPEG2_SIMPLE
#define | VDP_DECODER_PROFILE_MPEG2_MAIN
#define | VDP_DECODER_PROFILE_H264_BASELINE
| MPEG 4 part 10 == H.264 == AVC.
#define | VDP_DECODER_PROFILE_H264_MAIN
#define | VDP_DECODER_PROFILE_H264_HIGH
#define | VDP_DECODER_PROFILE_VC1_SIMPLE
#define | VDP_DECODER_PROFILE_VC1_MAIN
#define | VDP_DECODER_PROFILE_VC1_ADVANCED
#define | VDP_DECODER_PROFILE_MPEG4_PART2_SP
#define | VDP_DECODER_PROFILE_MPEG4_PART2_ASP
#define | VDP_DECODER_PROFILE_DIVX4_QMOBILE
#define | VDP_DECODER_PROFILE_DIVX4_MOBILE
#define | VDP_DECODER_PROFILE_DIVX4_HOME_THEATER
#define | VDP_DECODER_PROFILE_DIVX4_HD_1080P
#define | VDP_DECODER_PROFILE_DIVX5_QMOBILE
#define | VDP_DECODER_PROFILE_DIVX5_MOBILE
#define | VDP_DECODER_PROFILE_DIVX5_HOME_THEATER
#define | VDP_DECODER_PROFILE_DIVX5_HD_1080P
#define | VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE
#define | VDP_DECODER_PROFILE_H264_EXTENDED
#define | VDP_DECODER_PROFILE_H264_PROGRESSIVE_HIGH
#define | VDP_DECODER_PROFILE_H264_CONSTRAINED_HIGH
#define | VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE
| Support for 8 bit depth only.
#define | VDP_DECODER_PROFILE_VP9_PROFILE_0
#define | VDP_DECODER_PROFILE_VP9_PROFILE_1
#define | VDP_DECODER_PROFILE_VP9_PROFILE_2
#define | VDP_DECODER_PROFILE_VP9_PROFILE_3
#define | VDP_DECODER_PROFILE_HEVC_MAIN
| MPEG-H Part 2 == H.265 == HEVC.
#define | VDP_DECODER_PROFILE_HEVC_MAIN_10
#define | VDP_DECODER_PROFILE_HEVC_MAIN_STILL
#define | VDP_DECODER_PROFILE_HEVC_MAIN_12
#define | VDP_DECODER_PROFILE_HEVC_MAIN_444
#define | VDP_DECODER_PROFILE_HEVC_MAIN_444_10
#define | VDP_DECODER_PROFILE_HEVC_MAIN_444_12
#define | VDP_DECODER_PROFILE_AV1_MAIN
#define | VDP_DECODER_PROFILE_AV1_HIGH
#define | VDP_DECODER_PROFILE_AV1_PROFESSIONAL
#define | VDP_DECODER_LEVEL_MPEG1_NA
#define | VDP_DECODER_LEVEL_MPEG2_LL
#define | VDP_DECODER_LEVEL_MPEG2_ML
#define | VDP_DECODER_LEVEL_MPEG2_HL14
#define | VDP_DECODER_LEVEL_MPEG2_HL
#define | VDP_DECODER_LEVEL_H264_1
#define | VDP_DECODER_LEVEL_H264_1b
#define | VDP_DECODER_LEVEL_H264_1_1
#define | VDP_DECODER_LEVEL_H264_1_2
#define | VDP_DECODER_LEVEL_H264_1_3
#define | VDP_DECODER_LEVEL_H264_2
#define | VDP_DECODER_LEVEL_H264_2_1
#define | VDP_DECODER_LEVEL_H264_2_2
#define | VDP_DECODER_LEVEL_H264_3
#define | VDP_DECODER_LEVEL_H264_3_1
#define | VDP_DECODER_LEVEL_H264_3_2
#define | VDP_DECODER_LEVEL_H264_4
#define | VDP_DECODER_LEVEL_H264_4_1
#define | VDP_DECODER_LEVEL_H264_4_2
#define | VDP_DECODER_LEVEL_H264_5
#define | VDP_DECODER_LEVEL_H264_5_1
#define | VDP_DECODER_LEVEL_VC1_SIMPLE_LOW
#define | VDP_DECODER_LEVEL_VC1_SIMPLE_MEDIUM
#define | VDP_DECODER_LEVEL_VC1_MAIN_LOW
#define | VDP_DECODER_LEVEL_VC1_MAIN_MEDIUM
#define | VDP_DECODER_LEVEL_VC1_MAIN_HIGH
#define | VDP_DECODER_LEVEL_VC1_ADVANCED_L0
#define | VDP_DECODER_LEVEL_VC1_ADVANCED_L1
#define | VDP_DECODER_LEVEL_VC1_ADVANCED_L2
#define | VDP_DECODER_LEVEL_VC1_ADVANCED_L3
#define | VDP_DECODER_LEVEL_VC1_ADVANCED_L4
#define | VDP_DECODER_LEVEL_MPEG4_PART2_SP_L0
#define | VDP_DECODER_LEVEL_MPEG4_PART2_SP_L1
#define | VDP_DECODER_LEVEL_MPEG4_PART2_SP_L2
#define | VDP_DECODER_LEVEL_MPEG4_PART2_SP_L3
#define | VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L0
#define | VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L1
#define | VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L2
#define | VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L3
#define | VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L4
#define | VDP_DECODER_LEVEL_MPEG4_PART2_ASP_L5
#define | VDP_DECODER_LEVEL_DIVX_NA
#define | VDP_DECODER_LEVEL_VP9_L1
#define | VDP_DECODER_LEVEL_AV1_2_0
#define | VDP_DECODER_LEVEL_AV1_2_1
#define | VDP_DECODER_LEVEL_AV1_2_2
#define | VDP_DECODER_LEVEL_AV1_2_3
#define | VDP_DECODER_LEVEL_AV1_3_0
#define | VDP_DECODER_LEVEL_AV1_3_1
#define | VDP_DECODER_LEVEL_AV1_3_2
#define | VDP_DECODER_LEVEL_AV1_3_3
#define | VDP_DECODER_LEVEL_AV1_4_0
#define | VDP_DECODER_LEVEL_AV1_4_1
#define | VDP_DECODER_LEVEL_AV1_4_2
#define | VDP_DECODER_LEVEL_AV1_4_3
#define | VDP_DECODER_LEVEL_AV1_5_0
#define | VDP_DECODER_LEVEL_AV1_5_1
#define | VDP_DECODER_LEVEL_AV1_5_2
#define | VDP_DECODER_LEVEL_AV1_5_3
#define | VDP_DECODER_LEVEL_AV1_6_0
#define | VDP_DECODER_LEVEL_AV1_6_1
#define | VDP_DECODER_LEVEL_AV1_6_2
#define | VDP_DECODER_LEVEL_AV1_6_3
#define | VDP_DECODER_LEVEL_AV1_7_0
#define | VDP_DECODER_LEVEL_AV1_7_1
#define | VDP_DECODER_LEVEL_AV1_7_2
#define | VDP_DECODER_LEVEL_AV1_7_3
#define | VDP_DECODER_LEVEL_HEVC_1 30
#define | VDP_DECODER_LEVEL_HEVC_2
#define | VDP_DECODER_LEVEL_HEVC_2_1
#define | VDP_DECODER_LEVEL_HEVC_3
#define | VDP_DECODER_LEVEL_HEVC_3_1
#define | VDP_DECODER_LEVEL_HEVC_4
#define | VDP_DECODER_LEVEL_HEVC_4_1
#define | VDP_DECODER_LEVEL_HEVC_5
#define | VDP_DECODER_LEVEL_HEVC_5_1
#define | VDP_DECODER_LEVEL_HEVC_5_2
#define | VDP_DECODER_LEVEL_HEVC_6
#define | VDP_DECODER_LEVEL_HEVC_6_1
#define | VDP_DECODER_LEVEL_HEVC_6_2
#define | VDP_BITSTREAM_BUFFER_VERSION 0
#define | VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL
| A VdpVideoMixerFeature.
#define | VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL_SPATIAL
| A VdpVideoMixerFeature.
#define | VDP_VIDEO_MIXER_FEATURE_INVERSE_TELECINE
| A VdpVideoMixerFeature.
#define | VDP_VIDEO_MIXER_FEATURE_NOISE_REDUCTION
| A VdpVideoMixerFeature.
#define | VDP_VIDEO_MIXER_FEATURE_SHARPNESS
| A VdpVideoMixerFeature.
#define | VDP_VIDEO_MIXER_FEATURE_LUMA_KEY
| A VdpVideoMixerFeature.
#define | VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L1
| A VdpVideoMixerFeature.
#define | VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L2
| A VdpVideoMixerFeature.
#define | VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L3
| A VdpVideoMixerFeature.
#define | VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L4
| A VdpVideoMixerFeature.
#define | VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L5
| A VdpVideoMixerFeature.
#define | VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L6
| A VdpVideoMixerFeature.
#define | VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L7
| A VdpVideoMixerFeature.
#define | VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L8
| A VdpVideoMixerFeature.
#define | VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L9
| A VdpVideoMixerFeature.
#define | VDP_VIDEO_MIXER_PARAMETER_VIDEO_SURFACE_WIDTH
| The exact width of input video surfaces.
#define | VDP_VIDEO_MIXER_PARAMETER_VIDEO_SURFACE_HEIGHT
| The exact height of input video surfaces.
#define | VDP_VIDEO_MIXER_PARAMETER_CHROMA_TYPE
| The chroma type of the input video surfaces the will process.
#define | VDP_VIDEO_MIXER_PARAMETER_LAYERS
| The number of auxiliary layers in the mixer's compositing model.
#define | VDP_VIDEO_MIXER_ATTRIBUTE_BACKGROUND_COLOR
| The background color in the VdpVideoMixer's compositing model.
#define | VDP_VIDEO_MIXER_ATTRIBUTE_CSC_MATRIX
| The color-space conversion matrix used by the VdpVideoMixer.
#define | VDP_VIDEO_MIXER_ATTRIBUTE_NOISE_REDUCTION_LEVEL
| The amount of noise reduction algorithm to apply.
#define | VDP_VIDEO_MIXER_ATTRIBUTE_SHARPNESS_LEVEL
| The amount of sharpening, or blurring, to apply.
#define | VDP_VIDEO_MIXER_ATTRIBUTE_LUMA_KEY_MIN_LUMA
| The minimum luma value for the luma key algorithm.
#define | VDP_VIDEO_MIXER_ATTRIBUTE_LUMA_KEY_MAX_LUMA
| The maximum luma value for the luma key algorithm.
#define | VDP_VIDEO_MIXER_ATTRIBUTE_SKIP_CHROMA_DEINTERLACE
| Whether de-interlacers should operate solely on luma, and bob chroma.
#define | VDP_LAYER_VERSION 0
#define | VDP_FUNC_ID_GET_ERROR_STRING
#define | VDP_FUNC_ID_GET_PROC_ADDRESS
#define | VDP_FUNC_ID_GET_API_VERSION
#define | VDP_FUNC_ID_GET_INFORMATION_STRING
#define | VDP_FUNC_ID_DEVICE_DESTROY
#define | VDP_FUNC_ID_GENERATE_CSC_MATRIX
#define | VDP_FUNC_ID_VIDEO_SURFACE_QUERY_CAPABILITIES
#define | VDP_FUNC_ID_VIDEO_SURFACE_QUERY_GET_PUT_BITS_Y_CB_CR_CAPABILITIES
#define | VDP_FUNC_ID_VIDEO_SURFACE_CREATE
#define | VDP_FUNC_ID_VIDEO_SURFACE_DESTROY
#define | VDP_FUNC_ID_VIDEO_SURFACE_GET_PARAMETERS
#define | VDP_FUNC_ID_VIDEO_SURFACE_GET_BITS_Y_CB_CR
#define | VDP_FUNC_ID_VIDEO_SURFACE_PUT_BITS_Y_CB_CR
#define | VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_CAPABILITIES
#define | VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_GET_PUT_BITS_NATIVE_CAPABILITIES
#define | VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_PUT_BITS_INDEXED_CAPABILITIES
#define | VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_PUT_BITS_Y_CB_CR_CAPABILITIES
#define | VDP_FUNC_ID_OUTPUT_SURFACE_CREATE
#define | VDP_FUNC_ID_OUTPUT_SURFACE_DESTROY
#define | VDP_FUNC_ID_OUTPUT_SURFACE_GET_PARAMETERS
#define | VDP_FUNC_ID_OUTPUT_SURFACE_GET_BITS_NATIVE
#define | VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_NATIVE
#define | VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_INDEXED
#define | VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_Y_CB_CR
#define | VDP_FUNC_ID_BITMAP_SURFACE_QUERY_CAPABILITIES
#define | VDP_FUNC_ID_BITMAP_SURFACE_CREATE
#define | VDP_FUNC_ID_BITMAP_SURFACE_DESTROY
#define | VDP_FUNC_ID_BITMAP_SURFACE_GET_PARAMETERS
#define | VDP_FUNC_ID_BITMAP_SURFACE_PUT_BITS_NATIVE
#define | VDP_FUNC_ID_OUTPUT_SURFACE_RENDER_OUTPUT_SURFACE
#define | VDP_FUNC_ID_OUTPUT_SURFACE_RENDER_BITMAP_SURFACE
#define | VDP_FUNC_ID_OUTPUT_SURFACE_RENDER_VIDEO_SURFACE_LUMA
#define | VDP_FUNC_ID_DECODER_QUERY_CAPABILITIES
#define | VDP_FUNC_ID_DECODER_CREATE
#define | VDP_FUNC_ID_DECODER_DESTROY
#define | VDP_FUNC_ID_DECODER_GET_PARAMETERS
#define | VDP_FUNC_ID_DECODER_RENDER
#define | VDP_FUNC_ID_VIDEO_MIXER_QUERY_FEATURE_SUPPORT
#define | VDP_FUNC_ID_VIDEO_MIXER_QUERY_PARAMETER_SUPPORT
#define | VDP_FUNC_ID_VIDEO_MIXER_QUERY_ATTRIBUTE_SUPPORT
#define | VDP_FUNC_ID_VIDEO_MIXER_QUERY_PARAMETER_VALUE_RANGE
#define | VDP_FUNC_ID_VIDEO_MIXER_QUERY_ATTRIBUTE_VALUE_RANGE
#define | VDP_FUNC_ID_VIDEO_MIXER_CREATE
#define | VDP_FUNC_ID_VIDEO_MIXER_SET_FEATURE_ENABLES
#define | VDP_FUNC_ID_VIDEO_MIXER_SET_ATTRIBUTE_VALUES
#define | VDP_FUNC_ID_VIDEO_MIXER_GET_FEATURE_SUPPORT
#define | VDP_FUNC_ID_VIDEO_MIXER_GET_FEATURE_ENABLES
#define | VDP_FUNC_ID_VIDEO_MIXER_GET_PARAMETER_VALUES
#define | VDP_FUNC_ID_VIDEO_MIXER_GET_ATTRIBUTE_VALUES
#define | VDP_FUNC_ID_VIDEO_MIXER_DESTROY
#define | VDP_FUNC_ID_VIDEO_MIXER_RENDER
#define | VDP_FUNC_ID_PRESENTATION_QUEUE_TARGET_DESTROY
#define | VDP_FUNC_ID_PRESENTATION_QUEUE_CREATE
#define | VDP_FUNC_ID_PRESENTATION_QUEUE_DESTROY
#define | VDP_FUNC_ID_PRESENTATION_QUEUE_SET_BACKGROUND_COLOR
#define | VDP_FUNC_ID_PRESENTATION_QUEUE_GET_BACKGROUND_COLOR
#define | VDP_FUNC_ID_PRESENTATION_QUEUE_GET_TIME
#define | VDP_FUNC_ID_PRESENTATION_QUEUE_DISPLAY
#define | VDP_FUNC_ID_PRESENTATION_QUEUE_BLOCK_UNTIL_SURFACE_IDLE
#define | VDP_FUNC_ID_PRESENTATION_QUEUE_QUERY_SURFACE_STATUS
#define | VDP_FUNC_ID_PREEMPTION_CALLBACK_REGISTER
#define | VDP_FUNC_ID_DECODER_QUERY_CAPABILITY
#define | VDP_FUNC_ID_BASE_WINSYS 0x1000

## Typedefs
typedef int | VdpBool
| A boolean value, holding VDP_TRUE or VDP_FALSE.
typedef uint32_t | VdpChromaType
| The set of all chroma formats for VdpVideoSurfaces.
typedef uint32_t | VdpYCbCrFormat
| The set of all known YCbCr surface formats.
typedef uint32_t | VdpRGBAFormat
| The set of all known RGB surface formats.
typedef uint32_t | VdpIndexedFormat
| The set of all known indexed surface formats.
typedef char const * | VdpGetErrorString(VdpStatus status)
| Retrieve a string describing an error code.
typedef VdpStatus | VdpGetApiVersion(uint32_t *api_version)
| Retrieve the VDPAU version implemented by the backend.
typedef VdpStatus | VdpGetInformationString(char const **information_string)
| Retrieve an implementation-specific string description of the implementation. This typically includes detailed version information.
typedef uint32_t | VdpDevice
| An opaque handle representing a VdpDevice object.
typedef VdpStatus | VdpDeviceDestroy(VdpDevice device)
| Destroy a VdpDevice.
typedef float | VdpCSCMatrix[3][4]
| Storage for a color space conversion matrix.
typedef uint32_t | VdpColorStandard
| YCbCr color space specification.
typedef VdpStatus | VdpGenerateCSCMatrix(VdpProcamp *procamp, VdpColorStandard standard, VdpCSCMatrix *csc_matrix)
| Generate a color space conversion matrix.
typedef VdpStatus | VdpVideoSurfaceQueryCapabilities(VdpDevice device, VdpChromaType surface_chroma_type, VdpBool *is_supported, uint32_t *max_width, uint32_t *max_height)
| Query the implementation's VdpVideoSurface capabilities.
typedef VdpStatus | VdpVideoSurfaceQueryGetPutBitsYCbCrCapabilities(VdpDevice device, VdpChromaType surface_chroma_type, VdpYCbCrFormat bits_ycbcr_format, VdpBool *is_supported)
| Query the implementation's VdpVideoSurface GetBits/PutBits capabilities.
typedef uint32_t | VdpVideoSurface
| An opaque handle representing a VdpVideoSurface object.
typedef VdpStatus | VdpVideoSurfaceCreate(VdpDevice device, VdpChromaType chroma_type, uint32_t width, uint32_t height, VdpVideoSurface *surface)
| Create a VdpVideoSurface.
typedef VdpStatus | VdpVideoSurfaceDestroy(VdpVideoSurface surface)
| Destroy a VdpVideoSurface.
typedef VdpStatus | VdpVideoSurfaceGetParameters(VdpVideoSurface surface, VdpChromaType *chroma_type, uint32_t *width, uint32_t *height)
| Retrieve the parameters used to create a VdpVideoSurface.
typedef VdpStatus | VdpVideoSurfaceGetBitsYCbCr(VdpVideoSurface surface, VdpYCbCrFormat destination_ycbcr_format, void *const *destination_data, uint32_t const *destination_pitches)
| Copy image data from a VdpVideoSurface to application memory in a specified YCbCr format.
typedef VdpStatus | VdpVideoSurfacePutBitsYCbCr(VdpVideoSurface surface, VdpYCbCrFormat source_ycbcr_format, void const *const *source_data, uint32_t const *source_pitches)
| Copy image data from application memory in a specific YCbCr format to a VdpVideoSurface.
typedef uint32_t | VdpColorTableFormat
| The set of all known color table formats, for use with VdpOutputSurfacePutBitsIndexed.
typedef VdpStatus | VdpOutputSurfaceQueryCapabilities(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpBool *is_supported, uint32_t *max_width, uint32_t *max_height)
| Query the implementation's VdpOutputSurface capabilities.
typedef VdpStatus | VdpOutputSurfaceQueryGetPutBitsNativeCapabilities(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpBool *is_supported)
| Query the implementation's capability to perform a PutBits operation using application data matching the surface's format.
typedef VdpStatus | VdpOutputSurfaceQueryPutBitsIndexedCapabilities(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpIndexedFormat bits_indexed_format, VdpColorTableFormat color_table_format, VdpBool *is_supported)
| Query the implementation's capability to perform a PutBits operation using application data in a specific indexed format.
typedef VdpStatus | VdpOutputSurfaceQueryPutBitsYCbCrCapabilities(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpYCbCrFormat bits_ycbcr_format, VdpBool *is_supported)
| Query the implementation's capability to perform a PutBits operation using application data in a specific YCbCr/YUB format.
typedef uint32_t | VdpOutputSurface
| An opaque handle representing a VdpOutputSurface object.
typedef VdpStatus | VdpOutputSurfaceCreate(VdpDevice device, VdpRGBAFormat rgba_format, uint32_t width, uint32_t height, VdpOutputSurface *surface)
| Create a VdpOutputSurface.
typedef VdpStatus | VdpOutputSurfaceDestroy(VdpOutputSurface surface)
| Destroy a VdpOutputSurface.
typedef VdpStatus | VdpOutputSurfaceGetParameters(VdpOutputSurface surface, VdpRGBAFormat *rgba_format, uint32_t *width, uint32_t *height)
| Retrieve the parameters used to create a VdpOutputSurface.
typedef VdpStatus | VdpOutputSurfaceGetBitsNative(VdpOutputSurface surface, VdpRect const *source_rect, void *const *destination_data, uint32_t const *destination_pitches)
| Copy image data from a VdpOutputSurface to application memory in the surface's native format.
typedef VdpStatus | VdpOutputSurfacePutBitsNative(VdpOutputSurface surface, void const *const *source_data, uint32_t const *source_pitches, VdpRect const *destination_rect)
| Copy image data from application memory in the surface's native format to a VdpOutputSurface.
typedef VdpStatus | VdpOutputSurfacePutBitsIndexed(VdpOutputSurface surface, VdpIndexedFormat source_indexed_format, void const *const *source_data, uint32_t const *source_pitch, VdpRect const *destination_rect, VdpColorTableFormat color_table_format, void const *color_table)
| Copy image data from application memory in a specific indexed format to a VdpOutputSurface.
typedef VdpStatus | VdpOutputSurfacePutBitsYCbCr(VdpOutputSurface surface, VdpYCbCrFormat source_ycbcr_format, void const *const *source_data, uint32_t const *source_pitches, VdpRect const *destination_rect, VdpCSCMatrix const *csc_matrix)
| Copy image data from application memory in a specific YCbCr format to a VdpOutputSurface.
typedef VdpStatus | VdpBitmapSurfaceQueryCapabilities(VdpDevice device, VdpRGBAFormat surface_rgba_format, VdpBool *is_supported, uint32_t *max_width, uint32_t *max_height)
| Query the implementation's VdpBitmapSurface capabilities.
typedef uint32_t | VdpBitmapSurface
| An opaque handle representing a VdpBitmapSurface object.
typedef VdpStatus | VdpBitmapSurfaceCreate(VdpDevice device, VdpRGBAFormat rgba_format, uint32_t width, uint32_t height, VdpBool frequently_accessed, VdpBitmapSurface *surface)
| Create a VdpBitmapSurface.
typedef VdpStatus | VdpBitmapSurfaceDestroy(VdpBitmapSurface surface)
| Destroy a VdpBitmapSurface.
typedef VdpStatus | VdpBitmapSurfaceGetParameters(VdpBitmapSurface surface, VdpRGBAFormat *rgba_format, uint32_t *width, uint32_t *height, VdpBool *frequently_accessed)
| Retrieve the parameters used to create a VdpBitmapSurface.
typedef VdpStatus | VdpBitmapSurfacePutBitsNative(VdpBitmapSurface surface, void const *const *source_data, uint32_t const *source_pitches, VdpRect const *destination_rect)
| Copy image data from application memory in the surface's native format to a VdpBitmapSurface.
typedef VdpStatus | VdpOutputSurfaceRenderOutputSurface(VdpOutputSurface destination_surface, VdpRect const *destination_rect, VdpOutputSurface source_surface, VdpRect const *source_rect, VdpColor const *colors, VdpOutputSurfaceRenderBlendState const *blend_state, uint32_t flags)
| Composite a sub-rectangle of a VdpOutputSurface into a sub-rectangle of another VdpOutputSurface; Output Surface object VdpOutputSurface.
typedef VdpStatus | VdpOutputSurfaceRenderBitmapSurface(VdpOutputSurface destination_surface, VdpRect const *destination_rect, VdpBitmapSurface source_surface, VdpRect const *source_rect, VdpColor const *colors, VdpOutputSurfaceRenderBlendState const *blend_state, uint32_t flags)
| Composite a sub-rectangle of a VdpBitmapSurface into a sub-rectangle of a VdpOutputSurface; Output Surface object VdpOutputSurface.
typedef uint32_t | VdpDecoderProfile
| The set of all known compressed video formats, and associated profiles, that may be decoded.
typedef VdpStatus | VdpDecoderQueryProfileCapability(VdpDevice device, VdpDecoderProfile profile, VdpDecoderCapability capability, void *capability_value)
| Query the supported value of the requested capability, for the specified profile on the specified device.
typedef VdpStatus | VdpDecoderQueryCapabilities(VdpDevice device, VdpDecoderProfile profile, VdpBool *is_supported, uint32_t *max_level, uint32_t *max_macroblocks, uint32_t *max_width, uint32_t *max_height)
| Query the implementation's VdpDecoder capabilities.
typedef uint32_t | VdpDecoder
| An opaque handle representing a VdpDecoder object.
typedef VdpStatus | VdpDecoderCreate(VdpDevice device, VdpDecoderProfile profile, uint32_t width, uint32_t height, uint32_t max_references, VdpDecoder *decoder)
| Create a VdpDecoder.
typedef VdpStatus | VdpDecoderDestroy(VdpDecoder decoder)
| Destroy a VdpDecoder.
typedef VdpStatus | VdpDecoderGetParameters(VdpDecoder decoder, VdpDecoderProfile *profile, uint32_t *width, uint32_t *height)
| Retrieve the parameters used to create a VdpDecoder.
typedef void | VdpPictureInfo
| A generic "picture information" type.
typedef VdpPictureInfoMPEG4Part2 | VdpPictureInfoDivX4
| Picture parameter information for a DivX 4 picture.
typedef VdpPictureInfoMPEG4Part2 | VdpPictureInfoDivX5
| Picture parameter information for a DivX 5 picture.
typedef VdpPictureInfoHEVC444 | VdpPictureInfoHEVCRangeExt
| Picture parameter information for HEVC FormatRangeExtensions picture.
typedef VdpStatus | VdpDecoderRender(VdpDecoder decoder, VdpVideoSurface target, VdpPictureInfo const *picture_info, uint32_t bitstream_buffer_count, VdpBitstreamBuffer const *bitstream_buffers)
| Decode a compressed field/frame and render the result into a VdpVideoSurface.
typedef uint32_t | VdpVideoMixerFeature
| A VdpVideoMixer feature that must be requested at creation time to be used.
typedef uint32_t | VdpVideoMixerParameter
| A VdpVideoMixer creation parameter.
typedef uint32_t | VdpVideoMixerAttribute
| An adjustable attribute of VdpVideoMixer operation.
typedef VdpStatus | VdpVideoMixerQueryFeatureSupport(VdpDevice device, VdpVideoMixerFeature feature, VdpBool *is_supported)
| Query the implementation's support for a specific feature.
typedef VdpStatus | VdpVideoMixerQueryParameterSupport(VdpDevice device, VdpVideoMixerParameter parameter, VdpBool *is_supported)
| Query the implementation's support for a specific parameter.
typedef VdpStatus | VdpVideoMixerQueryAttributeSupport(VdpDevice device, VdpVideoMixerAttribute attribute, VdpBool *is_supported)
| Query the implementation's support for a specific attribute.
typedef VdpStatus | VdpVideoMixerQueryParameterValueRange(VdpDevice device, VdpVideoMixerParameter parameter, void *min_value, void *max_value)
| Query the implementation's supported for a specific parameter.
typedef VdpStatus | VdpVideoMixerQueryAttributeValueRange(VdpDevice device, VdpVideoMixerAttribute attribute, void *min_value, void *max_value)
| Query the implementation's supported for a specific attribute.
typedef uint32_t | VdpVideoMixer
| An opaque handle representing a VdpVideoMixer object.
typedef VdpStatus | VdpVideoMixerCreate(VdpDevice device, uint32_t feature_count, VdpVideoMixerFeature const *features, uint32_t parameter_count, VdpVideoMixerParameter const *parameters, void const *const *parameter_values, VdpVideoMixer *mixer)
| Create a VdpVideoMixer.
typedef VdpStatus | VdpVideoMixerSetFeatureEnables(VdpVideoMixer mixer, uint32_t feature_count, VdpVideoMixerFeature const *features, VdpBool const *feature_enables)
| Enable or disable features.
typedef VdpStatus | VdpVideoMixerSetAttributeValues(VdpVideoMixer mixer, uint32_t attribute_count, VdpVideoMixerAttribute const *attributes, void const *const *attribute_values)
| Set attribute values.
typedef VdpStatus | VdpVideoMixerGetFeatureSupport(VdpVideoMixer mixer, uint32_t feature_count, VdpVideoMixerFeature const *features, VdpBool *feature_supports)
| Retrieve whether features were requested at creation time.
typedef VdpStatus | VdpVideoMixerGetFeatureEnables(VdpVideoMixer mixer, uint32_t feature_count, VdpVideoMixerFeature const *features, VdpBool *feature_enables)
| Retrieve whether features are enabled.
typedef VdpStatus | VdpVideoMixerGetParameterValues(VdpVideoMixer mixer, uint32_t parameter_count, VdpVideoMixerParameter const *parameters, void *const *parameter_values)
| Retrieve parameter values given at creation time.
typedef VdpStatus | VdpVideoMixerGetAttributeValues(VdpVideoMixer mixer, uint32_t attribute_count, VdpVideoMixerAttribute const *attributes, void *const *attribute_values)
| Retrieve current attribute values.
typedef VdpStatus | VdpVideoMixerDestroy(VdpVideoMixer mixer)
| Destroy a VdpVideoMixer.
typedef VdpStatus | VdpVideoMixerRender(VdpVideoMixer mixer, VdpOutputSurface background_surface, VdpRect const *background_source_rect, VdpVideoMixerPictureStructure current_picture_structure, uint32_t video_surface_past_count, VdpVideoSurface const *video_surface_past, VdpVideoSurface video_surface_current, uint32_t video_surface_future_count, VdpVideoSurface const *video_surface_future, VdpRect const *video_source_rect, VdpOutputSurface destination_surface, VdpRect const *destination_rect, VdpRect const *destination_video_rect, uint32_t layer_count, VdpLayer const *layers)
| Perform a video post-processing and compositing operation.
typedef uint64_t | VdpTime
| The representation of a point in time.
typedef uint32_t | VdpPresentationQueueTarget
| An opaque handle representing the location where video will be presented.
typedef VdpStatus | VdpPresentationQueueTargetDestroy(VdpPresentationQueueTarget presentation_queue_target)
| Destroy a VdpPresentationQueueTarget.
typedef uint32_t | VdpPresentationQueue
| An opaque handle representing a presentation queue object.
typedef VdpStatus | VdpPresentationQueueCreate(VdpDevice device, VdpPresentationQueueTarget presentation_queue_target, VdpPresentationQueue *presentation_queue)
| Create a VdpPresentationQueue.
typedef VdpStatus | VdpPresentationQueueDestroy(VdpPresentationQueue presentation_queue)
| Destroy a VdpPresentationQueue.
typedef VdpStatus | VdpPresentationQueueSetBackgroundColor(VdpPresentationQueue presentation_queue, VdpColor *const background_color)
| Configure the background color setting.
typedef VdpStatus | VdpPresentationQueueGetBackgroundColor(VdpPresentationQueue presentation_queue, VdpColor *background_color)
| Retrieve the current background color setting.
typedef VdpStatus | VdpPresentationQueueGetTime(VdpPresentationQueue presentation_queue, VdpTime *current_time)
| Retrieve the presentation queue's "current" time.
typedef VdpStatus | VdpPresentationQueueDisplay(VdpPresentationQueue presentation_queue, VdpOutputSurface surface, uint32_t clip_width, uint32_t clip_height, VdpTime earliest_presentation_time)
| Enter a surface into the presentation queue.
typedef VdpStatus | VdpPresentationQueueBlockUntilSurfaceIdle(VdpPresentationQueue presentation_queue, VdpOutputSurface surface, VdpTime *first_presentation_time)
| Wait for a surface to finish being displayed.
typedef VdpStatus | VdpPresentationQueueQuerySurfaceStatus(VdpPresentationQueue presentation_queue, VdpOutputSurface surface, VdpPresentationQueueStatus *status, VdpTime *first_presentation_time)
| Poll the current queue status of a surface.
typedef void | VdpPreemptionCallback(VdpDevice device, void *context)
| A callback to notify the client application that a device's display has been preempted.
typedef VdpStatus | VdpPreemptionCallbackRegister(VdpDevice device, VdpPreemptionCallback callback, void *context)
| Configure the display preemption callback.
typedef uint32_t | VdpFuncId
| A type suitable for VdpGetProcAddress's function_id parameter.
typedef VdpStatus | VdpGetProcAddress(VdpDevice device, VdpFuncId function_id, void **function_pointer)
| Retrieve a VDPAU function pointer.

## Enumerations
enum | VdpStatus { VDP_STATUS_OK = 0 , VDP_STATUS_NO_IMPLEMENTATION , VDP_STATUS_DISPLAY_PREEMPTED , VDP_STATUS_INVALID_HANDLE , VDP_STATUS_INVALID_POINTER , VDP_STATUS_INVALID_CHROMA_TYPE , VDP_STATUS_INVALID_Y_CB_CR_FORMAT , VDP_STATUS_INVALID_RGBA_FORMAT , VDP_STATUS_INVALID_INDEXED_FORMAT , VDP_STATUS_INVALID_COLOR_STANDARD , VDP_STATUS_INVALID_COLOR_TABLE_FORMAT , VDP_STATUS_INVALID_BLEND_FACTOR , VDP_STATUS_INVALID_BLEND_EQUATION , VDP_STATUS_INVALID_FLAG , VDP_STATUS_INVALID_DECODER_PROFILE , VDP_STATUS_INVALID_VIDEO_MIXER_FEATURE , VDP_STATUS_INVALID_VIDEO_MIXER_PARAMETER , VDP_STATUS_INVALID_VIDEO_MIXER_ATTRIBUTE , VDP_STATUS_INVALID_VIDEO_MIXER_PICTURE_STRUCTURE , VDP_STATUS_INVALID_FUNC_ID , VDP_STATUS_INVALID_SIZE , VDP_STATUS_INVALID_VALUE , VDP_STATUS_INVALID_STRUCT_VERSION , VDP_STATUS_RESOURCES , VDP_STATUS_HANDLE_DEVICE_MISMATCH , VDP_STATUS_ERROR }
| The set of all possible error codes. More...
enum | VdpOutputSurfaceRenderBlendFactor { VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ZERO = 0 , VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE = 1 , VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_SRC_COLOR = 2 , VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3 , VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_SRC_ALPHA = 4 , VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 5 , VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_DST_ALPHA = 6 , VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 7 , VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_DST_COLOR = 8 , VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 9 , VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_SRC_ALPHA_SATURATE = 10 , VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_CONSTANT_COLOR = 11 , VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 12 , VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_CONSTANT_ALPHA = 13 , VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 14 }
| The blending equation factors. More...
enum | VdpOutputSurfaceRenderBlendEquation { VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_SUBTRACT = 0 , VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_REVERSE_SUBTRACT = 1 , VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_ADD = 2 , VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_MIN = 3 , VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_MAX = 4 }
| The blending equations. More...
enum | VdpVideoSurfaceSupportedPictureStructure { VDP_VIDEO_SURFACE_FIELD_STRUCTURE = (1 << 0) , VDP_VIDEO_SURFACE_FRAME_STRUCTURE = (1 << 1) }
enum | VdpDecoderCapability { VDP_DECODER_PROFILE_MAX_LEVEL = 0 , VDP_DECODER_PROFILE_MAX_MACROBLOCKS = 1 , VDP_DECODER_PROFILE_MAX_WIDTH = 2 , VDP_DECODER_PROFILE_MAX_HEIGHT = 3 , VDP_DECODER_PROFILE_SUPPORTED_PICTURE_STRUCTURE = 4 , VDP_DECODER_PROFILE_SUPPORTED_CHROMA_TYPES = 5 }
enum | VdpVideoMixerPictureStructure { VDP_VIDEO_MIXER_PICTURE_STRUCTURE_TOP_FIELD , VDP_VIDEO_MIXER_PICTURE_STRUCTURE_BOTTOM_FIELD , VDP_VIDEO_MIXER_PICTURE_STRUCTURE_FRAME }
| The structure of the picture present in a VdpVideoSurface. More...
enum | VdpPresentationQueueStatus { VDP_PRESENTATION_QUEUE_STATUS_IDLE , VDP_PRESENTATION_QUEUE_STATUS_QUEUED , VDP_PRESENTATION_QUEUE_STATUS_VISIBLE }
| The status of a surface within a presentation queue. More...

## Detailed Description

The Core API.

This file contains the Core API.