VDPAU
Macros | Typedefs
VdpOutputSurface; Output Surfaceobject
Collaboration diagram for VdpOutputSurface; Output Surfaceobject:

Macros

#define VDP_COLOR_TABLE_FORMAT_B8G8R8X8
 8-bit per component packed into 32-bits More...
 

Typedefs

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

Detailed Description

A VdpOutputSurface stores RGBA data in a defined format.

A VdpOutputSurface may be filled with:

VdpOutputSurface content may be accessed by:

VdpVideoSurfaces are directly displayable using a VdpPresentationQueue object.

Macro Definition Documentation

#define VDP_COLOR_TABLE_FORMAT_B8G8R8X8

8-bit per component packed into 32-bits

This format is an array of packed 32-bit RGB color values. Bits [31:24] are unused, bits [23:16] contain R, bits [15:8] contain G, and bits [7:0] contain B. Note: The format is physically an array of uint32_t values, and should be accessed as such by the application in order to avoid endianness issues.

Typedef Documentation

typedef uint32_t VdpColorTableFormat

The set of all known color table formats, for use with VdpOutputSurfacePutBitsIndexed.

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.

Parameters
[in]deviceThe device that will contain the surface.
[in]rgba_formatThe format of the new surface.
[in]widthThe width of the new surface.
[in]heightThe height of the new surface.
[out]surfaceThe new surface's handle.
Returns
VdpStatus The completion status of the operation.

The memory backing the surface will be initialized to 0 color and 0 alpha (i.e. black.)

typedef VdpStatus VdpOutputSurfaceDestroy(VdpOutputSurface surface)

Destroy a VdpOutputSurface.

Parameters
[in]surfaceThe surface's handle.
Returns
VdpStatus The completion status of the operation.
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.

Parameters
[in]surfaceThe surface's handle.
[in]source_rectThe sub-rectangle of the source surface to copy. If NULL, the entire surface will be retrieved.
[in]destination_dataPointers to the application data buffers into which the image data will be written. Note that this is an array of pointers, one per plane. The destination_format parameter will define how many planes are required.
[in]destination_pitchesPointers to the pitch values for the application data buffers. Note that this is an array of pointers, one per plane. The destination_format parameter will define how many planes are required.
Returns
VdpStatus The completion status of the operation.
typedef VdpStatus VdpOutputSurfaceGetParameters(VdpOutputSurface surface,VdpRGBAFormat *rgba_format, uint32_t *width, uint32_t *height)

Retrieve the parameters used to create a VdpOutputSurface.

Parameters
[in]surfaceThe surface's handle.
[out]rgba_formatThe format of the surface.
[out]widthThe width of the surface.
[out]heightThe height of the surface.
Returns
VdpStatus The completion status of the operation.
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.

Parameters
[in]surfaceThe surface's handle.
[in]source_indexed_formatThe format of the application's data buffers.
[in]source_dataPointers to the application data buffers from which the image data will be copied. Note that this is an array of pointers, one per plane. The source_indexed_format parameter will define how many planes are required.
[in]source_pitchesPointers to the pitch values for the application data buffers. Note that this is an array of pointers, one per plane. The source_indexed_format parameter will define how many planes are required.
[in]destination_rectThe sub-rectangle of the surface to fill with application data. If NULL, the entire surface will be updated.
[in]color_table_formatThe format of the color_table.
[in]color_tableA table that maps between source index and target color data. See VdpColorTableFormat for details regarding the memory layout.
Returns
VdpStatus The completion status of the operation.
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.

Parameters
[in]surfaceThe surface's handle.
[in]source_dataPointers to the application data buffers from which the image data will be copied. Note that this is an array of pointers, one per plane. The source_format parameter will define how many planes are required.
[in]source_pitchesPointers to the pitch values for the application data buffers. Note that this is an array of pointers, one per plane. The source_format parameter will define how many planes are required.
[in]destination_rectThe sub-rectangle of the surface to fill with application data. If NULL, the entire surface will be updated.
Returns
VdpStatus The completion status of the operation.
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.

Parameters
[in]surfaceThe surface's handle.
[in]source_ycbcr_formatThe format of the application's data buffers.
[in]source_dataPointers to the application data buffers from which the image data will be copied. Note that this is an array of pointers, one per plane. The source_ycbcr_format parameter will define how many planes are required.
[in]source_pitchesPointers to the pitch values for the application data buffers. Note that this is an array of pointers, one per plane. The source_ycbcr_format parameter will define how many planes are required.
[in]destination_rectThe sub-rectangle of the surface to fill with application data. If NULL, the entire surface will be updated.
[in]csc_matrixThe color space conversion matrix used by the copy operation. If NULL, a default matrix will be used internally. Th default matrix is equivalent to ITU-R BT.601 with no procamp changes.
Returns
VdpStatus The completion status of the operation.
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.

Parameters
[in]deviceThe device to query.
[in]surface_rgba_formatThe surface format for which information is requested.
[out]is_supportedIs this surface format supported?
[out]max_widthThe maximum supported surface width for this chroma type.
[out]max_heightThe maximum supported surface height for this chroma type.
Returns
VdpStatus The completion status of the operation.
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.

Parameters
[in]deviceThe device to query.
[in]surface_rgba_formatThe surface format for which information is requested.
[out]is_supportedIs this surface format supported?
Returns
VdpStatus The completion status of the operation.
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.

Parameters
[in]deviceThe device to query.
[in]surface_rgba_formatThe surface format for which information is requested.
[in]bits_indexed_formatThe format of the application data buffer.
[in]color_table_formatThe format of the color lookup table.
[out]is_supportedIs this surface format supported?
Returns
VdpStatus The completion status of the operation.
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.

Parameters
[in]deviceThe device to query.
[in]surface_rgba_formatThe surface format for which information is requested.
[in]bits_ycbcr_formatThe format of the application data buffer.
[out]is_supportedIs this surface format supported?
Returns
VdpStatus The completion status of the operation.