master
ブランチ master
ShaderPlayground / deps / xlibre / include / X11 / extensions / XvMClib.h
5.9 KB、173行 生 Blame 履歴
1#ifndef _XVMCLIB_H_
2#define _XVMCLIB_H_
3
4#include <X11/Xfuncproto.h>
5#include <X11/extensions/Xvlib.h>
6#include <X11/extensions/XvMC.h>
7
8_XFUNCPROTOBEGIN
9Bool XvMCQueryExtension(Display *display, int *eventBase, int *errBase);
10Status XvMCQueryVersion(Display *display, int *major_versionp,
11 int *minor_versionp);
12Status XvMCGetDRInfo(Display *dpy, XvPortID port,
13 char **name, char **busID,
14 int *major, int *minor,
15 int *patchLevel,
16 int *isLocal);
17
18XvMCSurfaceInfo *XvMCListSurfaceTypes(Display *dpy, XvPortID port, int *num);
19
20Status XvMCCreateContext(Display *display,
21 XvPortID port,
22 int surface_type_id,
23 int width,
24 int height,
25 int flags,
26 XvMCContext *context);
27
28Status XvMCDestroyContext(Display *display, XvMCContext *context);
29
30Status
31XvMCCreateSurface(Display *display,
32 XvMCContext *context,
33 XvMCSurface *surface);
34
35Status XvMCDestroySurface(Display *display, XvMCSurface *surface);
36
37XvImageFormatValues *XvMCListSubpictureTypes(Display *display,
38 XvPortID port,
39 int surface_type_id,
40 int *count_return);
41
42Status
43XvMCPutSurface(Display *display,
44 XvMCSurface *surface,
45 Drawable draw,
46 short srcx,
47 short srcy,
48 unsigned short srcw,
49 unsigned short srch,
50 short destx,
51 short desty,
52 unsigned short destw,
53 unsigned short desth,
54 int flags);
55
56Status XvMCHideSurface(Display *display, XvMCSurface *surface);
57
58Status
59XvMCCreateSubpicture(Display *display,
60 XvMCContext *context,
61 XvMCSubpicture *subpicture,
62 unsigned short width,
63 unsigned short height,
64 int xvimage_id);
65
66Status
67XvMCClearSubpicture(Display *display,
68 XvMCSubpicture *subpicture,
69 short x,
70 short y,
71 unsigned short width,
72 unsigned short height,
73 unsigned int color);
74
75Status
76XvMCCompositeSubpicture(Display *display,
77 XvMCSubpicture *subpicture,
78 XvImage *image,
79 short srcx,
80 short srcy,
81 unsigned short width,
82 unsigned short height,
83 short dstx,
84 short dsty);
85
86Status XvMCDestroySubpicture(Display *display, XvMCSubpicture *subpicture);
87
88Status
89XvMCSetSubpicturePalette(Display *display,
90 XvMCSubpicture *subpicture,
91 unsigned char *palette);
92
93Status
94XvMCBlendSubpicture(Display *display,
95 XvMCSurface *target_surface,
96 XvMCSubpicture *subpicture,
97 short subx,
98 short suby,
99 unsigned short subw,
100 unsigned short subh,
101 short surfx,
102 short surfy,
103 unsigned short surfw,
104 unsigned short surfh);
105
106Status
107XvMCBlendSubpicture2(Display *display,
108 XvMCSurface *source_surface,
109 XvMCSurface *target_surface,
110 XvMCSubpicture *subpicture,
111 short subx,
112 short suby,
113 unsigned short subw,
114 unsigned short subh,
115 short surfx,
116 short surfy,
117 unsigned short surfw,
118 unsigned short surfh);
119
120Status XvMCSyncSurface(Display *display, XvMCSurface *surface);
121Status XvMCFlushSurface(Display *display, XvMCSurface *surface);
122Status XvMCGetSurfaceStatus(Display *display, XvMCSurface *surface, int *stat);
123
124Status XvMCRenderSurface(Display *display,
125 XvMCContext *context,
126 unsigned int picture_structure,
127 XvMCSurface *target_surface,
128 XvMCSurface *past_surface,
129 XvMCSurface *future_surface,
130 unsigned int flags,
131 unsigned int num_macroblocks,
132 unsigned int first_macroblock,
133 XvMCMacroBlockArray *macroblock_array,
134 XvMCBlockArray *blocks);
135
136Status XvMCSyncSubpicture(Display *display, XvMCSubpicture *subpicture);
137Status XvMCFlushSubpicture(Display *display, XvMCSubpicture *subpicture);
138Status
139XvMCGetSubpictureStatus(Display *display, XvMCSubpicture *subpic, int *stat);
140
141Status XvMCCreateBlocks(Display *display,
142 XvMCContext *context,
143 unsigned int num_blocks,
144 XvMCBlockArray *block);
145
146Status XvMCDestroyBlocks(Display *display, XvMCBlockArray *block);
147
148Status XvMCCreateMacroBlocks(Display *display,
149 XvMCContext *context,
150 unsigned int num_blocks,
151 XvMCMacroBlockArray *blocks);
152
153Status XvMCDestroyMacroBlocks(Display *display,
154 XvMCMacroBlockArray *block);
155
156XvAttribute *XvMCQueryAttributes(Display *display,
157 XvMCContext *context,
158 int *number);
159
160Status
161XvMCSetAttribute(Display *display,
162 XvMCContext *context,
163 Atom attribute,
164 int value);
165
166Status
167XvMCGetAttribute(Display *display,
168 XvMCContext *context,
169 Atom attribute,
170 int *value);
171
172_XFUNCPROTOEND
173#endif