xenocara/lib/libXvMC/include/X11/extensions/XvMClib.h

173 lines
5.9 KiB
C

#ifndef _XVMCLIB_H_
#define _XVMCLIB_H_
#include <X11/Xfuncproto.h>
#include <X11/extensions/Xvlib.h>
#include <X11/extensions/XvMC.h>
_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