Typedefs | |
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. | |
Enumerations | |
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... |
The VdpPresentationQueue manages a queue of surfaces and associated timestamps. For each surface in the queue, once the associated timestamp is reached, the surface is displayed to the user. This timestamp-based approach yields high quality video delivery.
The exact location of the displayed content is Window System specific. For this reason, the Window System Integration Layer provides an API to create a VdpPresentationQueueTarget object (e.g. via VdpPresentationQueueTargetCreateX11) which encapsulates this information.
Note that the presentation queue performs no scaling of surfaces to match the display target's size, aspect ratio, etc.
Surfaces that are too large to fit into the display target will be clipped. Surfaces that are too small to fill the display target will be aligned to the top-left corner of the display target, with the balance of the display target being filled with a constant configurable "background" color.
Note that the presentation queue operates in a manner that is semantically equivalent to an overlay surface, with any required color key painting hidden internally. However, implementations are free to use whatever semantically equivalent technique they wish. Note that implementations that actually use color-keyed overlays will typically use the "background" color as the overlay color key value, so this color should be chosen with care.
typedef uint32_t VdpPresentationQueue |
An opaque handle representing a presentation queue object.
typedef VdpStatus VdpPresentationQueueBlockUntilSurfaceIdle(VdpPresentationQueue presentation_queue, VdpOutputSurface surface,VdpTime *first_presentation_time) |
Wait for a surface to finish being displayed.
[in] | presentation_queue | The queue to query.
|
typedef VdpStatus VdpPresentationQueueCreate(VdpDevice device, VdpPresentationQueueTarget presentation_queue_target,VdpPresentationQueue *presentation_queue) |
Create a VdpPresentationQueue.
[in] | device | The device that will contain the queue.
|
typedef VdpStatus VdpPresentationQueueDestroy(VdpPresentationQueue presentation_queue) |
Destroy a VdpPresentationQueue.
[in] | presentation_queue | The queue to destroy.
|
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.
[in] | presentation_queue | The queue to query.
|
typedef VdpStatus VdpPresentationQueueGetBackgroundColor(VdpPresentationQueue presentation_queue, VdpColor *background_color) |
Retrieve the current background color setting.
[in] | presentation_queue | The queue to query.
|
typedef VdpStatus VdpPresentationQueueGetTime(VdpPresentationQueue presentation_queue,VdpTime *current_time) |
Retrieve the presentation queue's "current" time.
[in] | presentation_queue | The queue to query.
|
typedef VdpStatus VdpPresentationQueueQuerySurfaceStatus(VdpPresentationQueue presentation_queue, VdpOutputSurface surface,VdpPresentationQueueStatus *status, VdpTime *first_presentation_time) |
Poll the current queue status of a surface.
[in] | presentation_queue | The queue to query.
|
typedef VdpStatus VdpPresentationQueueSetBackgroundColor(VdpPresentationQueue presentation_queue, VdpColor *const background_color) |
Configure the background color setting.
[in] | presentation_queue | The queue to manipulate.
|
typedef uint32_t VdpPresentationQueueTarget |
An opaque handle representing the location where video will be presented.
VdpPresentationQueueTarget are created using a Window System Integration Layer specific API, such as VdpPresentationQueueTargetCreateX11.
typedef VdpStatus VdpPresentationQueueTargetDestroy(VdpPresentationQueueTarget presentation_queue_target) |
Destroy a VdpPresentationQueueTarget.
[in] | presentation_queue_target | The target to destroy.
|
typedef uint64_t VdpTime |
The representation of a point in time.
VdpTime timestamps are intended to be a high-precision timing system, potentially independent from any other time domain in the system.
Time is represented in units of nanoseconds. The origin (i.e. the time represented by a value of 0) is implementation dependent.
The status of a surface within a presentation queue.