VDPAU
Typedefs
VdpBitmapSurface; Bitmap Surface object
Collaboration diagram for VdpBitmapSurface; Bitmap Surface object:

Typedefs

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.
 

Detailed Description

A VdpBitmapSurface stores RGBA data in a defined format.

A VdpBitmapSurface may be filled with:

VdpBitmapSurface content may be accessed by:

VdpBitmapSurface objects are intended to store static read-only data, such as font glyphs, and the bitmaps used to compose an applications' user-interface.

The primary differences between VdpBitmapSurfaces and VdpOutputSurfaces are:

Typedef Documentation

◆ VdpBitmapSurface

typedef uint32_t VdpBitmapSurface

An opaque handle representing a VdpBitmapSurface object.

◆ VdpBitmapSurfaceCreate

typedef VdpStatus VdpBitmapSurfaceCreate(VdpDevice device, VdpRGBAFormat rgba_format, uint32_t width, uint32_t height, VdpBool frequently_accessed, VdpBitmapSurface *surface)

Create a VdpBitmapSurface.

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.
[in]frequently_accessedIs this bitmap used frequently, or infrequently, by compositing options? Implementations may use this as a hint to determine how to allocate the underlying storage for the surface.
[out]surfaceThe new surface's handle.
Returns
VdpStatus The completion status of the operation.

The memory backing the surface may not be initialized during creation. Applications are expected initialize any region that they use, via VdpBitmapSurfacePutBitsNative.

◆ VdpBitmapSurfaceDestroy

typedef VdpStatus VdpBitmapSurfaceDestroy(VdpBitmapSurface surface)

Destroy a VdpBitmapSurface.

Parameters
[in]surfaceThe surface's handle.
Returns
VdpStatus The completion status of the operation.

◆ VdpBitmapSurfaceGetParameters

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.

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.
[out]frequently_accessedThe frequently_accessed state of the surface.
Returns
VdpStatus The completion status of the operation.

◆ VdpBitmapSurfacePutBitsNative

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.

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.

◆ VdpBitmapSurfaceQueryCapabilities

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.

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.