VDPAU
|
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... | |
A VdpOutputSurface stores RGBA data in a defined format.
A VdpOutputSurface may be filled with:
VdpOutputSurface content may be accessed by:
VdpOutputSurfaces are directly displayable using a VdpPresentationQueue object.
#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 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.
[in] | device | The device that will contain the surface. |
[in] | rgba_format | The format of the new surface. |
[in] | width | The width of the new surface. |
[in] | height | The height of the new surface. |
[out] | surface | The new surface's handle. |
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.
[in] | surface | The surface's handle. |
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.
[in] | surface | The surface's handle. |
[in] | source_rect | The sub-rectangle of the source surface to copy. If NULL, the entire surface will be retrieved. |
[in] | destination_data | Pointers 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_pitches | Pointers 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. |
typedef VdpStatus VdpOutputSurfaceGetParameters(VdpOutputSurface surface, VdpRGBAFormat *rgba_format, uint32_t *width, uint32_t *height) |
Retrieve the parameters used to create a VdpOutputSurface.
[in] | surface | The surface's handle. |
[out] | rgba_format | The format of the surface. |
[out] | width | The width of the surface. |
[out] | height | The height of the surface. |
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.
[in] | surface | The surface's handle. |
[in] | source_indexed_format | The format of the application's data buffers. |
[in] | source_data | Pointers 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_pitches | Pointers 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_rect | The sub-rectangle of the surface to fill with application data. If NULL, the entire surface will be updated. |
[in] | color_table_format | The format of the color_table. |
[in] | color_table | A table that maps between source index and target color data. See VdpColorTableFormat for details regarding the memory layout. |
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.
[in] | surface | The surface's handle. |
[in] | source_data | Pointers 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_pitches | Pointers 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_rect | The sub-rectangle of the surface to fill with application data. If NULL, the entire surface will be updated. |
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.
[in] | surface | The surface's handle. |
[in] | source_ycbcr_format | The format of the application's data buffers. |
[in] | source_data | Pointers 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_pitches | Pointers 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_rect | The sub-rectangle of the surface to fill with application data. If NULL, the entire surface will be updated. |
[in] | csc_matrix | The 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. |
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.
[in] | device | The device to query. |
[in] | surface_rgba_format | The surface format for which information is requested. |
[out] | is_supported | Is this surface format supported? |
[out] | max_width | The maximum supported surface width for this chroma type. |
[out] | max_height | The maximum supported surface height for this chroma type. |
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.
[in] | device | The device to query. |
[in] | surface_rgba_format | The surface format for which information is requested. |
[out] | is_supported | Is this surface format supported? |
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.
[in] | device | The device to query. |
[in] | surface_rgba_format | The surface format for which information is requested. |
[in] | bits_indexed_format | The format of the application data buffer. |
[in] | color_table_format | The format of the color lookup table. |
[out] | is_supported | Is this surface format supported? |
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.
[in] | device | The device to query. |
[in] | surface_rgba_format | The surface format for which information is requested. |
[in] | bits_ycbcr_format | The format of the application data buffer. |
[out] | is_supported | Is this surface format supported? |