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