173 lines
5.9 KiB
C
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
|