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  VdpPictureInfoHEVC
 Picture parameter information for an H.265/HEVC picture. More...
 
struct  VdpLayer
 Definition of an additional VdpOutputSurface layer in the composting model. More...
 

Macros

#define VDP_TRUE   1
 A true VdpBool value. More...
 
#define VDP_FALSE   0
 A false VdpBool value. More...
 
#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...
 
#define VDPAU_INTERFACE_VERSION   1
 The VDPAU interface version described by this header file. More...
 
#define VDPAU_VERSION   1
 The VDPAU version described by this header file. More...
 
#define VDP_PROCAMP_VERSION   0
 
#define VDP_COLOR_STANDARD_ITUR_BT_601
 ITU-R BT.601. More...
 
#define VDP_COLOR_STANDARD_ITUR_BT_709
 ITU-R BT.709. More...
 
#define VDP_COLOR_STANDARD_SMPTE_240M
 SMPTE-240M. More...
 
#define VDP_COLOR_TABLE_FORMAT_B8G8R8X8
 8-bit per component packed into 32-bits More...
 
#define VDP_OUTPUT_SURFACE_RENDER_BLEND_STATE_VERSION   0
 
#define VDP_OUTPUT_SURFACE_RENDER_ROTATE_0
 Do not rotate source_surface prior to compositing. More...
 
#define VDP_OUTPUT_SURFACE_RENDER_ROTATE_90
 Rotate source_surface 90 degrees clockwise prior to compositing. More...
 
#define VDP_OUTPUT_SURFACE_RENDER_ROTATE_180
 Rotate source_surface 180 degrees prior to compositing. More...
 
#define VDP_OUTPUT_SURFACE_RENDER_ROTATE_270
 Rotate source_surface 270 degrees clockwise prior to compositing. More...
 
#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. More...
 
#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. More...
 
#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. More...
 
#define VDP_DECODER_PROFILE_HEVC_MAIN
 MPEG-H Part 2 == H.265 == HEVC. More...
 
#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_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_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. More...
 
#define VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL_SPATIAL
 A VdpVideoMixerFeature. More...
 
#define VDP_VIDEO_MIXER_FEATURE_INVERSE_TELECINE
 A VdpVideoMixerFeature. More...
 
#define VDP_VIDEO_MIXER_FEATURE_NOISE_REDUCTION
 A VdpVideoMixerFeature. More...
 
#define VDP_VIDEO_MIXER_FEATURE_SHARPNESS
 A VdpVideoMixerFeature. More...
 
#define VDP_VIDEO_MIXER_FEATURE_LUMA_KEY
 A VdpVideoMixerFeature. More...
 
#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L1
 A VdpVideoMixerFeature. More...
 
#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L2
 A VdpVideoMixerFeature. More...
 
#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L3
 A VdpVideoMixerFeature. More...
 
#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L4
 A VdpVideoMixerFeature. More...
 
#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L5
 A VdpVideoMixerFeature. More...
 
#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L6
 A VdpVideoMixerFeature. More...
 
#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L7
 A VdpVideoMixerFeature. More...
 
#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L8
 A VdpVideoMixerFeature. More...
 
#define VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L9
 A VdpVideoMixerFeature. More...
 
#define VDP_VIDEO_MIXER_PARAMETER_VIDEO_SURFACE_WIDTH
 The exact width of input video surfaces. More...
 
#define VDP_VIDEO_MIXER_PARAMETER_VIDEO_SURFACE_HEIGHT
 The exact height of input video surfaces. More...
 
#define VDP_VIDEO_MIXER_PARAMETER_CHROMA_TYPE
 The chroma type of the input video surfaces the will process. More...
 
#define VDP_VIDEO_MIXER_PARAMETER_LAYERS
 The number of auxiliary layers in the mixer's compositing model. More...
 
#define VDP_VIDEO_MIXER_ATTRIBUTE_BACKGROUND_COLOR
 The background color in the VdpVideoMixer's compositing model. More...
 
#define VDP_VIDEO_MIXER_ATTRIBUTE_CSC_MATRIX
 The color-space conversion matrix used by the VdpVideoMixer. More...
 
#define VDP_VIDEO_MIXER_ATTRIBUTE_NOISE_REDUCTION_LEVEL
 The amount of noise reduction algorithm to apply. More...
 
#define VDP_VIDEO_MIXER_ATTRIBUTE_SHARPNESS_LEVEL
 The amount of sharpening, or blurring, to apply. More...
 
#define VDP_VIDEO_MIXER_ATTRIBUTE_LUMA_KEY_MIN_LUMA
 The minimum luma value for the luma key algorithm. More...
 
#define VDP_VIDEO_MIXER_ATTRIBUTE_LUMA_KEY_MAX_LUMA
 The maximum luma value for the luma key algorithm. More...
 
#define VDP_VIDEO_MIXER_ATTRIBUTE_SKIP_CHROMA_DEINTERLACE
 Whether de-interlacers should operate solely on luma, and bob chroma. More...
 
#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_BASE_WINSYS   0x1000
 

Typedefs

typedef int VdpBool
 A boolean value, holding VDP_TRUE or VDP_FALSE. More...
 
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...
 
typedef char const * VdpGetErrorString(VdpStatus status)
 Retrieve a string describing an error code. More...
 
typedef VdpStatus VdpGetApiVersion(uint32_t *api_version)
 Retrieve the VDPAU version implemented by the backend. More...
 
typedef VdpStatus VdpGetInformationString(char const **information_string)
 Retrieve an implementation-specific string description of the implementation. This typically includes detailed version information. More...
 
typedef uint32_t VdpDevice
 An opaque handle representing a VdpDevice object. More...
 
typedef VdpStatus VdpDeviceDestroy(VdpDevice device)
 Destroy a VdpDevice. More...
 
typedef float VdpCSCMatrix[3][4]
 Storage for a color space conversion matrix. More...
 
typedef uint32_t VdpColorStandard
 YCbCr color space specification. More...
 
typedef VdpStatus VdpGenerateCSCMatrix(VdpProcamp *procamp, VdpColorStandard standard, VdpCSCMatrix *csc_matrix)
 Generate a color space conversion matrix. More...
 
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. More...
 
typedef VdpStatus VdpVideoSurfaceQueryGetPutBitsYCbCrCapabilities(VdpDevice device, VdpChromaType surface_chroma_type, VdpYCbCrFormat bits_ycbcr_format, VdpBool *is_supported)
 Query the implementation's VdpVideoSurface GetBits/PutBits capabilities. More...
 
typedef uint32_t VdpVideoSurface
 An opaque handle representing a VdpVideoSurface object. More...
 
typedef VdpStatus VdpVideoSurfaceCreate(VdpDevice device, VdpChromaType chroma_type, uint32_t width, uint32_t height, VdpVideoSurface *surface)
 Create a VdpVideoSurface. More...
 
typedef VdpStatus VdpVideoSurfaceDestroy(VdpVideoSurface surface)
 Destroy a VdpVideoSurface. More...
 
typedef VdpStatus VdpVideoSurfaceGetParameters(VdpVideoSurface surface, VdpChromaType *chroma_type, uint32_t *width, uint32_t *height)
 Retrieve the parameters used to create a VdpVideoSurface. More...
 
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. More...
 
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. More...
 
typedef uint32_t VdpColorTableFormat
 The set of all known color table formats, for use with VdpOutputSurfacePutBitsIndexed. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
typedef uint32_t VdpOutputSurface
 An opaque handle representing a VdpOutputSurface object. More...
 
typedef VdpStatus VdpOutputSurfaceCreate(VdpDevice device, VdpRGBAFormat rgba_format, uint32_t width, uint32_t height, VdpOutputSurface *surface)
 Create a VdpOutputSurface. More...
 
typedef VdpStatus VdpOutputSurfaceDestroy(VdpOutputSurface surface)
 Destroy a VdpOutputSurface. More...
 
typedef VdpStatus VdpOutputSurfaceGetParameters(VdpOutputSurface surface, VdpRGBAFormat *rgba_format, uint32_t *width, uint32_t *height)
 Retrieve the parameters used to create a VdpOutputSurface. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
typedef uint32_t VdpBitmapSurface
 An opaque handle representing a VdpBitmapSurface object. More...
 
typedef VdpStatus VdpBitmapSurfaceCreate(VdpDevice device, VdpRGBAFormat rgba_format, uint32_t width, uint32_t height, VdpBool frequently_accessed, VdpBitmapSurface *surface)
 Create a VdpBitmapSurface. More...
 
typedef VdpStatus VdpBitmapSurfaceDestroy(VdpBitmapSurface surface)
 Destroy a VdpBitmapSurface. More...
 
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. More...
 
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. More...
 
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 Surfaceobject VdpOutputSurface. More...
 
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 Surfaceobject VdpOutputSurface. More...
 
typedef uint32_t VdpDecoderProfile
 The set of all known compressed video formats, and associated profiles, that may be decoded. More...
 
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. More...
 
typedef uint32_t VdpDecoder
 An opaque handle representing a VdpDecoder object. More...
 
typedef VdpStatus VdpDecoderCreate(VdpDevice device, VdpDecoderProfile profile, uint32_t width, uint32_t height, uint32_t max_references, VdpDecoder *decoder)
 Create a VdpDecoder. More...
 
typedef VdpStatus VdpDecoderDestroy(VdpDecoder decoder)
 Destroy a VdpDecoder. More...
 
typedef VdpStatus VdpDecoderGetParameters(VdpDecoder decoder, VdpDecoderProfile *profile, uint32_t *width, uint32_t *height)
 Retrieve the parameters used to create a VdpDecoder. More...
 
typedef void VdpPictureInfo
 A generic "picture information" type. More...
 
typedef VdpPictureInfoMPEG4Part2 VdpPictureInfoDivX4
 Picture parameter information for a DivX 4 picture. More...
 
typedef VdpPictureInfoMPEG4Part2 VdpPictureInfoDivX5
 Picture parameter information for a DivX 5 picture. More...
 
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. More...
 
typedef uint32_t VdpVideoMixerFeature
 A VdpVideoMixer feature that must be requested at creation time to be used. More...
 
typedef uint32_t VdpVideoMixerParameter
 A VdpVideoMixer creation parameter. More...
 
typedef uint32_t VdpVideoMixerAttribute
 An adjustable attribute of VdpVideoMixer operation. More...
 
typedef VdpStatus VdpVideoMixerQueryFeatureSupport(VdpDevice device, VdpVideoMixerFeature feature, VdpBool *is_supported)
 Query the implementation's support for a specific feature. More...
 
typedef VdpStatus VdpVideoMixerQueryParameterSupport(VdpDevice device, VdpVideoMixerParameter parameter, VdpBool *is_supported)
 Query the implementation's support for a specific parameter. More...
 
typedef VdpStatus VdpVideoMixerQueryAttributeSupport(VdpDevice device, VdpVideoMixerAttribute attribute, VdpBool *is_supported)
 Query the implementation's support for a specific attribute. More...
 
typedef VdpStatus VdpVideoMixerQueryParameterValueRange(VdpDevice device, VdpVideoMixerParameter parameter, void *min_value, void *max_value)
 Query the implementation's supported for a specific parameter. More...
 
typedef VdpStatus VdpVideoMixerQueryAttributeValueRange(VdpDevice device, VdpVideoMixerAttribute attribute, void *min_value, void *max_value)
 Query the implementation's supported for a specific attribute. More...
 
typedef uint32_t VdpVideoMixer
 An opaque handle representing a VdpVideoMixer object. More...
 
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. More...
 
typedef VdpStatus VdpVideoMixerSetFeatureEnables(VdpVideoMixer mixer, uint32_t feature_count, VdpVideoMixerFeature const *features, VdpBool const *feature_enables)
 Enable or disable features. More...
 
typedef VdpStatus VdpVideoMixerSetAttributeValues(VdpVideoMixer mixer, uint32_t attribute_count, VdpVideoMixerAttribute const *attributes, void const *const *attribute_values)
 Set attribute values. More...
 
typedef VdpStatus VdpVideoMixerGetFeatureSupport(VdpVideoMixer mixer, uint32_t feature_count, VdpVideoMixerFeature const *features, VdpBool *feature_supports)
 Retrieve whether features were requested at creation time. More...
 
typedef VdpStatus VdpVideoMixerGetFeatureEnables(VdpVideoMixer mixer, uint32_t feature_count, VdpVideoMixerFeature const *features, VdpBool *feature_enables)
 Retrieve whether features are enabled. More...
 
typedef VdpStatus VdpVideoMixerGetParameterValues(VdpVideoMixer mixer, uint32_t parameter_count, VdpVideoMixerParameter const *parameters, void *const *parameter_values)
 Retrieve parameter values given at creation time. More...
 
typedef VdpStatus VdpVideoMixerGetAttributeValues(VdpVideoMixer mixer, uint32_t attribute_count, VdpVideoMixerAttribute const *attributes, void *const *attribute_values)
 Retrieve current attribute values. More...
 
typedef VdpStatus VdpVideoMixerDestroy(VdpVideoMixer mixer)
 Destroy a VdpVideoMixer. More...
 
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. More...
 
typedef uint64_t VdpTime
 The representation of a point in time. More...
 
typedef uint32_t VdpPresentationQueueTarget
 An opaque handle representing the location where video will be presented. More...
 
typedef VdpStatus VdpPresentationQueueTargetDestroy(VdpPresentationQueueTarget presentation_queue_target)
 Destroy a VdpPresentationQueueTarget. More...
 
typedef uint32_t VdpPresentationQueue
 An opaque handle representing a presentation queue object. More...
 
typedef VdpStatus VdpPresentationQueueCreate(VdpDevice device, VdpPresentationQueueTarget presentation_queue_target, VdpPresentationQueue *presentation_queue)
 Create a VdpPresentationQueue. More...
 
typedef VdpStatus VdpPresentationQueueDestroy(VdpPresentationQueue presentation_queue)
 Destroy a VdpPresentationQueue. More...
 
typedef VdpStatus VdpPresentationQueueSetBackgroundColor(VdpPresentationQueue presentation_queue, VdpColor *const background_color)
 Configure the background color setting. More...
 
typedef VdpStatus VdpPresentationQueueGetBackgroundColor(VdpPresentationQueue presentation_queue, VdpColor *background_color)
 Retrieve the current background color setting. More...
 
typedef VdpStatus VdpPresentationQueueGetTime(VdpPresentationQueue presentation_queue, VdpTime *current_time)
 Retrieve the presentation queue's "current" time. More...
 
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. More...
 
typedef VdpStatus VdpPresentationQueueBlockUntilSurfaceIdle(VdpPresentationQueue presentation_queue, VdpOutputSurface surface, VdpTime *first_presentation_time)
 Wait for a surface to finish being displayed. More...
 
typedef VdpStatus VdpPresentationQueueQuerySurfaceStatus(VdpPresentationQueue presentation_queue, VdpOutputSurface surface, VdpPresentationQueueStatus *status, VdpTime *first_presentation_time)
 Poll the current queue status of a surface. More...
 
typedef void VdpPreemptionCallback(VdpDevice device, void *context)
 A callback to notify the client application that a device's display has been preempted. More...
 
typedef VdpStatus VdpPreemptionCallbackRegister(VdpDevice device, VdpPreemptionCallback callback, void *context)
 Configure the display preemption callback. More...
 
typedef uint32_t VdpFuncId
 A type suitable for VdpGetProcAddress's function_id parameter. More...
 
typedef VdpStatus VdpGetProcAddress(VdpDevice device, VdpFuncId function_id, void **function_pointer)
 Retrieve a VDPAU function pointer. More...
 

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  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.