XvMClib.h revision 6f03b1f6
1/* $XdotOrg: xc/include/extensions/XvMClib.h,v 1.2 2004/04/23 18:43:06 eich Exp $ */
2/* $XFree86: xc/include/extensions/XvMClib.h,v 1.6 2001/11/14 21:54:37 mvojkovi Exp $ */
3
4#ifndef _XVMCLIB_H_
5#define _XVMCLIB_H_
6
7#include <X11/Xfuncproto.h>
8#include <X11/extensions/Xvlib.h>
9#include <X11/extensions/XvMC.h>
10
11_XFUNCPROTOBEGIN
12
13Bool XvMCQueryExtension (Display *display, int *eventBase, int *errBase);
14Status XvMCQueryVersion (Display *display, int *major_versionp,
15			 int *minor_versionp);
16Status XvMCGetDRInfo(Display *dpy, XvPortID port,
17		     char **name, char **busID,
18		     int *major, int *minor,
19		     int *patchLevel,
20		     int *isLocal);
21
22
23XvMCSurfaceInfo * XvMCListSurfaceTypes(Display *dpy, XvPortID port, int *num);
24
25Status XvMCCreateContext (
26   Display *display,
27   XvPortID port,
28   int surface_type_id,
29   int width,
30   int height,
31   int flags,
32   XvMCContext * context
33);
34
35Status XvMCDestroyContext (Display *display, XvMCContext * context);
36
37Status
38XvMCCreateSurface(
39  Display *display,
40  XvMCContext * context,
41  XvMCSurface * surface
42);
43
44Status XvMCDestroySurface(Display *display, XvMCSurface *surface);
45
46XvImageFormatValues * XvMCListSubpictureTypes (
47  Display * display,
48  XvPortID port,
49  int surface_type_id,
50  int *count_return
51);
52
53Status
54XvMCPutSurface(
55  Display *display,
56  XvMCSurface *surface,
57  Drawable draw,
58  short srcx,
59  short srcy,
60  unsigned short srcw,
61  unsigned short srch,
62  short destx,
63  short desty,
64  unsigned short destw,
65  unsigned short desth,
66  int flags
67);
68
69Status XvMCHideSurface(Display *display, XvMCSurface *surface);
70
71Status
72XvMCCreateSubpicture (
73   Display *display,
74   XvMCContext *context,
75   XvMCSubpicture *subpicture,
76   unsigned short width,
77   unsigned short height,
78   int xvimage_id
79);
80
81
82Status
83XvMCClearSubpicture (
84  Display *display,
85  XvMCSubpicture *subpicture,
86  short x,
87  short y,
88  unsigned short width,
89  unsigned short height,
90  unsigned int color
91);
92
93Status
94XvMCCompositeSubpicture (
95   Display *display,
96   XvMCSubpicture *subpicture,
97   XvImage *image,
98   short srcx,
99   short srcy,
100   unsigned short width,
101   unsigned short height,
102   short dstx,
103   short dsty
104);
105
106Status
107XvMCDestroySubpicture (Display *display, XvMCSubpicture *subpicture);
108
109Status
110XvMCSetSubpicturePalette (
111  Display *display,
112  XvMCSubpicture *subpicture,
113  unsigned char *palette
114);
115
116Status
117XvMCBlendSubpicture (
118   Display *display,
119   XvMCSurface *target_surface,
120   XvMCSubpicture *subpicture,
121   short subx,
122   short suby,
123   unsigned short subw,
124   unsigned short subh,
125   short surfx,
126   short surfy,
127   unsigned short surfw,
128   unsigned short surfh
129);
130
131Status
132XvMCBlendSubpicture2 (
133   Display *display,
134   XvMCSurface *source_surface,
135   XvMCSurface *target_surface,
136   XvMCSubpicture *subpicture,
137   short subx,
138   short suby,
139   unsigned short subw,
140   unsigned short subh,
141   short surfx,
142   short surfy,
143   unsigned short surfw,
144   unsigned short surfh
145);
146
147Status XvMCSyncSurface (Display *display, XvMCSurface *surface);
148Status XvMCFlushSurface (Display *display, XvMCSurface *surface);
149Status XvMCGetSurfaceStatus (Display *display, XvMCSurface *surface, int *stat);
150
151Status XvMCRenderSurface (
152   Display *display,
153   XvMCContext *context,
154   unsigned int picture_structure,
155   XvMCSurface *target_surface,
156   XvMCSurface *past_surface,
157   XvMCSurface *future_surface,
158   unsigned int flags,
159   unsigned int num_macroblocks,
160   unsigned int first_macroblock,
161   XvMCMacroBlockArray *macroblock_array,
162   XvMCBlockArray *blocks
163);
164
165
166Status XvMCSyncSubpicture (Display *display, XvMCSubpicture *subpicture);
167Status XvMCFlushSubpicture (Display *display, XvMCSubpicture *subpicture);
168Status
169XvMCGetSubpictureStatus (Display *display, XvMCSubpicture *subpic, int *stat);
170
171Status XvMCCreateBlocks (
172   Display *display,
173   XvMCContext *context,
174   unsigned int num_blocks,
175   XvMCBlockArray *block
176);
177
178Status XvMCDestroyBlocks (Display *display,XvMCBlockArray *block);
179
180Status XvMCCreateMacroBlocks (
181   Display *display,
182   XvMCContext *context,
183   unsigned int num_blocks,
184   XvMCMacroBlockArray *blocks
185);
186
187Status XvMCDestroyMacroBlocks (
188   Display *display,
189   XvMCMacroBlockArray *block
190);
191
192XvAttribute *
193XvMCQueryAttributes (
194    Display *display,
195    XvMCContext *context,
196    int *number
197);
198
199Status
200XvMCSetAttribute (
201    Display *display,
202    XvMCContext *context,
203    Atom attribute,
204    int value
205);
206
207Status
208XvMCGetAttribute (
209    Display *display,
210    XvMCContext *context,
211    Atom attribute,
212    int *value
213);
214
215_XFUNCPROTOEND
216
217#endif
218