2
* vdpau_video_x11.h - VDPAU backend for VA API (X11 rendering)
2
* vdpau_video_x11.h - VDPAU backend for VA-API (X11 rendering)
4
* vdpau-video (C) 2009-2010 Splitted-Desktop Systems
4
* vdpau-video (C) 2009-2011 Splitted-Desktop Systems
6
6
* This program is free software; you can redistribute it and/or modify
7
7
* it under the terms of the GNU General Public License as published by
35
37
VdpPresentationQueue vdp_flip_queue;
36
38
VdpPresentationQueueTarget vdp_flip_target;
37
39
VdpOutputSurface vdp_output_surfaces[VDPAU_MAX_OUTPUT_SURFACES];
38
int current_output_surface;
40
unsigned int vdp_output_surfaces_dirty[VDPAU_MAX_OUTPUT_SURFACES];
41
pthread_mutex_t vdp_output_surfaces_lock;
42
unsigned int current_output_surface;
43
unsigned int displayed_output_surface;
44
unsigned int queued_surfaces;
39
45
unsigned int fields;
46
UAsyncQueue *render_comm;
47
pthread_t render_thread;
48
unsigned int render_thread_ok;
49
unsigned int is_window : 1; /* drawable is a window */
50
unsigned int size_changed : 1; /* size changed since previous vaPutSurface() and user noticed the change */
53
// Create output surface
55
output_surface_create(
56
vdpau_driver_data_t *driver_data,
42
62
// Destroy output surface
44
64
output_surface_destroy(
61
81
object_output_p obj_output
62
82
) attribute_hidden;
84
// Looks up output surface
86
output_surface_lookup(object_surface_p obj_surface, Drawable drawable)
89
// Ensure output surface size matches drawable size
91
output_surface_ensure_size(
92
vdpau_driver_data_t *driver_data,
93
object_output_p obj_output,
98
// Render surface to the VDPAU output surface
101
vdpau_driver_data_t *driver_data,
102
object_surface_p obj_surface,
103
object_output_p obj_output,
104
const VARectangle *source_rect,
105
const VARectangle *target_rect,
109
// Render subpictures to the VDPAU output surface
112
vdpau_driver_data_t *driver_data,
113
object_surface_p obj_surface,
114
object_output_p obj_output,
115
const VARectangle *source_rect,
116
const VARectangle *target_rect
64
119
// Render surface to a Drawable
74
129
unsigned int flags
75
130
) attribute_hidden;
132
// Queue surface for display
135
vdpau_driver_data_t *driver_data,
136
object_surface_p obj_surface,
137
object_output_p obj_output
80
143
VADriverContextP ctx,
81
144
VASurfaceID surface,
85
148
unsigned short srcw,