XvMClib.h revision a2760a4d593af57a19ec32cdfd1723b68495df8c
/* $XFree86: xc/include/extensions/XvMClib.h,v 1.6 2001/11/14 21:54:37 mvojkovi Exp $ */
#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, 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 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