3 #include <X11/extensions/Xvlib.h>
4 #include <X11/extensions/XvMC.h>
6 Status XvMCCreateSubpicture
10 XvMCSubpicture
*subpicture
,
12 unsigned short height
,
19 return XvMCBadContext
;
23 if (width
> 2048 || height
> 2048)
26 if (xvimage_id
!= 123)
29 subpicture
->subpicture_id
= XAllocID(display
);
30 subpicture
->context_id
= context
->context_id
;
31 subpicture
->xvimage_id
= xvimage_id
;
32 subpicture
->width
= width
;
33 subpicture
->height
= height
;
34 subpicture
->num_palette_entries
= 0;
35 subpicture
->entry_bytes
= 0;
36 subpicture
->component_order
[0] = 0;
37 subpicture
->component_order
[1] = 0;
38 subpicture
->component_order
[2] = 0;
39 subpicture
->component_order
[3] = 0;
40 /* TODO: subpicture->privData = ;*/
45 Status XvMCClearSubpicture
48 XvMCSubpicture
*subpicture
,
52 unsigned short height
,
59 return XvMCBadSubpicture
;
61 /* TODO: Assert clear rect is within bounds? Or clip? */
66 Status XvMCCompositeSubpicture
69 XvMCSubpicture
*subpicture
,
74 unsigned short height
,
82 return XvMCBadSubpicture
;
86 if (subpicture
->xvimage_id
!= image
->id
)
89 /* TODO: Assert rects are within bounds? Or clip? */
94 Status
XvMCDestroySubpicture(Display
*display
, XvMCSubpicture
*subpicture
)
99 return XvMCBadSubpicture
;
101 return BadImplementation
;
104 Status
XvMCSetSubpicturePalette(Display
*display
, XvMCSubpicture
*subpicture
, unsigned char *palette
)
109 return XvMCBadSubpicture
;
113 /* We don't support paletted subpictures */
117 Status XvMCBlendSubpicture
120 XvMCSurface
*target_surface
,
121 XvMCSubpicture
*subpicture
,
128 unsigned short surfw
,
135 return XvMCBadSurface
;
138 return XvMCBadSubpicture
;
140 if (target_surface
->context_id
!= subpicture
->context_id
)
143 /* TODO: Assert rects are within bounds? Or clip? */
147 Status XvMCBlendSubpicture2
150 XvMCSurface
*source_surface
,
151 XvMCSurface
*target_surface
,
152 XvMCSubpicture
*subpicture
,
159 unsigned short surfw
,
165 if (!source_surface
|| !target_surface
)
166 return XvMCBadSurface
;
169 return XvMCBadSubpicture
;
171 if (source_surface
->context_id
!= subpicture
->context_id
)
174 if (source_surface
->context_id
!= subpicture
->context_id
)
177 /* TODO: Assert rects are within bounds? Or clip? */
181 Status
XvMCSyncSubpicture(Display
*display
, XvMCSubpicture
*subpicture
)
186 return XvMCBadSubpicture
;
191 Status
XvMCFlushSubpicture(Display
*display
, XvMCSubpicture
*subpicture
)
196 return XvMCBadSubpicture
;
201 Status
XvMCGetSubpictureStatus(Display
*display
, XvMCSubpicture
*subpicture
, int *status
)
206 return XvMCBadSubpicture
;