215 lines
4.2 KiB
C
215 lines
4.2 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
|