#ifndef _XVMCLIB_H_ #define _XVMCLIB_H_ #include #include #include _XFUNCPROTOBEGIN Bool XvMCQueryExtension(Display *display, int *eventBase, int *errBase); Status XvMCQueryVersion(Display *display, int *major_versionp, int *minor_versionp); Status XvMCGetDRInfo(Display *dpy, XvPortID port, char **name, char **busID, int *major, int *minor, int *patchLevel, int *isLocal); XvMCSurfaceInfo *XvMCListSurfaceTypes(Display *dpy, XvPortID port, int *num); Status XvMCCreateContext(Display *display, XvPortID port, int surface_type_id, int width, int height, int flags, XvMCContext *context); Status XvMCDestroyContext(Display *display, XvMCContext *context); Status XvMCCreateSurface(Display *display, XvMCContext *context, XvMCSurface *surface); Status XvMCDestroySurface(Display *display, XvMCSurface *surface); XvImageFormatValues *XvMCListSubpictureTypes(Display *display, XvPortID port, int surface_type_id, int *count_return); Status XvMCPutSurface(Display *display, XvMCSurface *surface, Drawable draw, short srcx, short srcy, unsigned short srcw, unsigned short srch, short destx, short desty, unsigned short destw, unsigned short desth, int flags); Status XvMCHideSurface(Display *display, XvMCSurface *surface); Status XvMCCreateSubpicture(Display *display, XvMCContext *context, XvMCSubpicture *subpicture, unsigned short width, unsigned short height, int xvimage_id); Status XvMCClearSubpicture(Display *display, XvMCSubpicture *subpicture, short x, short y, unsigned short width, unsigned short height, unsigned int color); Status XvMCCompositeSubpicture(Display *display, XvMCSubpicture *subpicture, XvImage *image, short srcx, short srcy, unsigned short width, unsigned short height, short dstx, short dsty); Status XvMCDestroySubpicture(Display *display, XvMCSubpicture *subpicture); Status XvMCSetSubpicturePalette(Display *display, XvMCSubpicture *subpicture, unsigned char *palette); Status XvMCBlendSubpicture(Display *display, XvMCSurface *target_surface, XvMCSubpicture *subpicture, short subx, short suby, unsigned short subw, unsigned short subh, short surfx, short surfy, unsigned short surfw, unsigned short surfh); Status XvMCBlendSubpicture2(Display *display, XvMCSurface *source_surface, XvMCSurface *target_surface, XvMCSubpicture *subpicture, short subx, short suby, unsigned short subw, unsigned short subh, short surfx, short surfy, unsigned short surfw, unsigned short surfh); Status XvMCSyncSurface(Display *display, XvMCSurface *surface); Status XvMCFlushSurface(Display *display, XvMCSurface *surface); Status XvMCGetSurfaceStatus(Display *display, XvMCSurface *surface, int *stat); Status XvMCRenderSurface(Display *display, XvMCContext *context, unsigned int picture_structure, XvMCSurface *target_surface, XvMCSurface *past_surface, XvMCSurface *future_surface, unsigned int flags, unsigned int num_macroblocks, unsigned int first_macroblock, XvMCMacroBlockArray *macroblock_array, XvMCBlockArray *blocks); Status XvMCSyncSubpicture(Display *display, XvMCSubpicture *subpicture); Status XvMCFlushSubpicture(Display *display, XvMCSubpicture *subpicture); Status XvMCGetSubpictureStatus(Display *display, XvMCSubpicture *subpic, int *stat); Status XvMCCreateBlocks(Display *display, XvMCContext *context, unsigned int num_blocks, XvMCBlockArray *block); Status XvMCDestroyBlocks(Display *display, XvMCBlockArray *block); Status XvMCCreateMacroBlocks(Display *display, XvMCContext *context, unsigned int num_blocks, XvMCMacroBlockArray *blocks); Status XvMCDestroyMacroBlocks(Display *display, XvMCMacroBlockArray *block); XvAttribute *XvMCQueryAttributes(Display *display, XvMCContext *context, int *number); Status XvMCSetAttribute(Display *display, XvMCContext *context, Atom attribute, int value); Status XvMCGetAttribute(Display *display, XvMCContext *context, Atom attribute, int *value); _XFUNCPROTOEND #endif