/* $XFree86: xc/include/extensions/XvMClib.h,v 1.5 2001/06/20 20:09:34 mvojkovi Exp $ */ #ifndef _XVMCLIB_H_ #define _XVMCLIB_H_ #include #include #include _XFUNCPROTOBEGIN Bool XvMCQueryExtension (Display *display, int *eventBase, int *errBase); Status XvMCQueryVersion (Display *display, int *major, int *minor); 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 scan_order, 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 ); Status XvMCLoadIntraQuantizerMatrix ( Display *display, XvMCContext *context, unsigned char matrix[64] ); Status XvMCLoadNonIntraQuantizerMatrix ( Display *display, XvMCContext *context, unsigned char matrix[64] ); Status XvMCLoadChromaIntraQuantizerMatrix ( Display *display, XvMCContext *context, unsigned char matrix[64] ); Status XvMCLoadChromaNonIntraQuantizerMatrix ( Display *display, XvMCContext *context, unsigned char matrix[64] ); Status XvMCSetQuantizerScale( Display *display, XvMCContext *context, int scale ); Status XvMCSetIntraDCPrecision( Display *display, XvMCContext *context, int prec ); 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