74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* $XFree86: xc/include/extensions/XvMClib.h,v 1.6 2001/11/14 21:54:37 mvojkovi Exp $ */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifndef _XVMCLIB_H_
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XVMCLIB_H_
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#include <X11/Xfuncproto.h>
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#include <X11/extensions/Xvlib.h>
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#include <X11/extensions/XvMC.h>
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync_XFUNCPROTOBEGIN
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncBool XvMCQueryExtension (Display *display, int *eventBase, int *errBase);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus XvMCQueryVersion (Display *display, int *major, int *minor);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncXvMCSurfaceInfo * XvMCListSurfaceTypes(Display *dpy, XvPortID port, int *num);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus XvMCCreateContext (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvPortID port,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int surface_type_id,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int width,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int height,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int flags,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCContext * context
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus XvMCDestroyContext (Display *display, XvMCContext * context);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncXvMCCreateSurface(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCContext * context,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCSurface * surface
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus XvMCDestroySurface(Display *display, XvMCSurface *surface);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncXvImageFormatValues * XvMCListSubpictureTypes (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display * display,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvPortID port,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int surface_type_id,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int *count_return
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncXvMCPutSurface(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCSurface *surface,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Drawable draw,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync short srcx,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync short srcy,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned short srcw,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned short srch,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync short destx,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync short desty,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned short destw,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned short desth,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int flags
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus XvMCHideSurface(Display *display, XvMCSurface *surface);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncXvMCCreateSubpicture (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCContext *context,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCSubpicture *subpicture,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned short width,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned short height,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int xvimage_id
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncXvMCClearSubpicture (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCSubpicture *subpicture,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync short x,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync short y,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned short width,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned short height,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int color
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncXvMCCompositeSubpicture (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCSubpicture *subpicture,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvImage *image,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync short srcx,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync short srcy,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned short width,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned short height,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync short dstx,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync short dsty
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncXvMCDestroySubpicture (Display *display, XvMCSubpicture *subpicture);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncXvMCSetSubpicturePalette (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCSubpicture *subpicture,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned char *palette
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncXvMCBlendSubpicture (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCSurface *target_surface,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCSubpicture *subpicture,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync short subx,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync short suby,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned short subw,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned short subh,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync short surfx,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync short surfy,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned short surfw,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned short surfh
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncXvMCBlendSubpicture2 (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCSurface *source_surface,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCSurface *target_surface,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCSubpicture *subpicture,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync short subx,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync short suby,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned short subw,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned short subh,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync short surfx,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync short surfy,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned short surfw,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned short surfh
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus XvMCSyncSurface (Display *display, XvMCSurface *surface);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus XvMCFlushSurface (Display *display, XvMCSurface *surface);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus XvMCGetSurfaceStatus (Display *display, XvMCSurface *surface, int *stat);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus XvMCRenderSurface (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCContext *context,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int picture_structure,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCSurface *target_surface,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCSurface *past_surface,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCSurface *future_surface,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int flags,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int num_macroblocks,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int first_macroblock,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCMacroBlockArray *macroblock_array,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCBlockArray *blocks
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus XvMCSyncSubpicture (Display *display, XvMCSubpicture *subpicture);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus XvMCFlushSubpicture (Display *display, XvMCSubpicture *subpicture);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncXvMCGetSubpictureStatus (Display *display, XvMCSubpicture *subpic, int *stat);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus XvMCCreateBlocks (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCContext *context,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int num_blocks,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCBlockArray *block
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus XvMCDestroyBlocks (Display *display,XvMCBlockArray *block);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus XvMCCreateMacroBlocks (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCContext *context,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int num_blocks,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCMacroBlockArray *blocks
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus XvMCDestroyMacroBlocks (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCMacroBlockArray *block
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncXvAttribute *
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncXvMCQueryAttributes (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCContext *context,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int *number
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncXvMCSetAttribute (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCContext *context,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Atom attribute,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int value
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncStatus
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncXvMCGetAttribute (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvMCContext *context,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Atom attribute,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int *value
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync_XFUNCPROTOEND
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif