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