summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/X11/extensions/XvMClib.h305
-rw-r--r--include/X11/extensions/vldXvMC.h50
-rw-r--r--src/XvMC.c543
-rw-r--r--src/XvMClibint.h47
-rw-r--r--wrapper/XvMCWrapper.c957
5 files changed, 942 insertions, 960 deletions
diff --git a/include/X11/extensions/XvMClib.h b/include/X11/extensions/XvMClib.h
index b0e6c8b..fc59b44 100644
--- a/include/X11/extensions/XvMClib.h
+++ b/include/X11/extensions/XvMClib.h
@@ -6,209 +6,168 @@
#include <X11/extensions/XvMC.h>
_XFUNCPROTOBEGIN
-
-Bool XvMCQueryExtension (Display *display, int *eventBase, int *errBase);
-Status XvMCQueryVersion (Display *display, int *major_versionp,
- int *minor_versionp);
+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);
-
+ char **name, char **busID,
+ int *major, int *minor,
+ int *patchLevel,
+ int *isLocal);
-XvMCSurfaceInfo * XvMCListSurfaceTypes(Display *dpy, XvPortID port, int *num);
+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 XvMCCreateContext(Display *display,
+ XvPortID port,
+ int surface_type_id,
+ int width,
+ int height,
+ int flags,
+ XvMCContext *context);
-Status XvMCDestroyContext (Display *display, XvMCContext * context);
+Status XvMCDestroyContext(Display *display, XvMCContext *context);
Status
-XvMCCreateSurface(
- Display *display,
- XvMCContext * context,
- XvMCSurface * surface
-);
+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
-);
+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
-);
+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
-);
+XvMCCreateSubpicture(Display *display,
+ XvMCContext *context,
+ XvMCSubpicture *subpicture,
+ unsigned short width,
+ unsigned short height,
+ int xvimage_id);
Status
-XvMCCompositeSubpicture (
- Display *display,
- XvMCSubpicture *subpicture,
- XvImage *image,
- short srcx,
- short srcy,
- unsigned short width,
- unsigned short height,
- short dstx,
- short dsty
-);
+XvMCClearSubpicture(Display *display,
+ XvMCSubpicture *subpicture,
+ short x,
+ short y,
+ unsigned short width,
+ unsigned short height,
+ unsigned int color);
Status
-XvMCDestroySubpicture (Display *display, XvMCSubpicture *subpicture);
+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
-);
+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
-);
+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);
+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
-);
+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
-);
+XvMCSetAttribute(Display *display,
+ XvMCContext *context,
+ Atom attribute,
+ int value);
Status
-XvMCGetAttribute (
- Display *display,
- XvMCContext *context,
- Atom attribute,
- int *value
-);
+XvMCGetAttribute(Display *display,
+ XvMCContext *context,
+ Atom attribute,
+ int *value);
_XFUNCPROTOEND
-
#endif
diff --git a/include/X11/extensions/vldXvMC.h b/include/X11/extensions/vldXvMC.h
index fbd251e..53fb58f 100644
--- a/include/X11/extensions/vldXvMC.h
+++ b/include/X11/extensions/vldXvMC.h
@@ -24,7 +24,6 @@
* Author: Thomas Hellström, 2004.
*/
-
#ifndef _VLDXVMC_H
#define _VLDXVMC_H
@@ -93,21 +92,20 @@
#define XVMC_P_PICTURE 2
#define XVMC_B_PICTURE 3
-typedef struct _XvMCMpegControl{
+typedef struct _XvMCMpegControl {
unsigned
- BVMV_range, /* Backward vertical motion vector range */
- BHMV_range, /* Backward horizontal motion vector range */
- FVMV_range, /* Forward vertical motion vector range */
- FHMV_range, /* Forward horizontal motion vector range */
- picture_structure, /* XVMC_TOP_FIELD, XVMC_BOTTOM_FIELD,
- * XVMC_FRAME_PICTURE
- */
- intra_dc_precision, /* 0x00 - 0x03 corresponds to 8 to 11 bits prec. */
- picture_coding_type,/* XVMC_X_PICTURE */
- mpeg_coding, /* XVMC_MPEG_2 */
- flags; /* See above */
-}XvMCMpegControl;
-
+ BVMV_range, /* Backward vertical motion vector range */
+ BHMV_range, /* Backward horizontal motion vector range */
+ FVMV_range, /* Forward vertical motion vector range */
+ FHMV_range, /* Forward horizontal motion vector range */
+ picture_structure, /* XVMC_TOP_FIELD, XVMC_BOTTOM_FIELD,
+ * XVMC_FRAME_PICTURE
+ */
+ intra_dc_precision, /* 0x00 - 0x03 corresponds to 8 to 11 bits prec. */
+ picture_coding_type, /* XVMC_X_PICTURE */
+ mpeg_coding, /* XVMC_MPEG_2 */
+ flags; /* See above */
+} XvMCMpegControl;
/*
* The following function is called BEFORE starting sending slices to the
@@ -117,12 +115,11 @@ typedef struct _XvMCMpegControl{
*/
extern Status XvMCBeginSurface(Display *display,
- XvMCContext *context,
- XvMCSurface *target_surface,
- XvMCSurface *past_surface,
- XvMCSurface *future_surface,
- const XvMCMpegControl *control);
-
+ XvMCContext *context,
+ XvMCSurface *target_surface,
+ XvMCSurface *past_surface,
+ XvMCSurface *future_surface,
+ const XvMCMpegControl *control);
/*
* The quantizer matrix structure. This should be filled in by the user and
@@ -150,16 +147,15 @@ typedef struct _XvMCQMatrix {
*/
extern Status XvMCLoadQMatrix(Display *display, XvMCContext *context,
- const XvMCQMatrix *qmx);
-
+ const XvMCQMatrix *qmx);
/*
* Put a slice to the decoder. The hardware will start processing it
* immediately.
*/
-extern Status XvMCPutSlice(Display *display,XvMCContext *context,
- char *slice, int nBytes);
+extern Status XvMCPutSlice(Display *display, XvMCContext *context,
+ char *slice, int nBytes);
/*
* Put a slice without the slice start code to the decoder.
* The hardware will start processing it
@@ -168,7 +164,7 @@ extern Status XvMCPutSlice(Display *display,XvMCContext *context,
* XvMCPutSlice2(display,context,slice+4,nBytes-4,slice[3]);
*/
-extern Status XvMCPutSlice2(Display *display,XvMCContext *context,
- char *slice, int nBytes, int sliceCode);
+extern Status XvMCPutSlice2(Display *display, XvMCContext *context,
+ char *slice, int nBytes, int sliceCode);
#endif
diff --git a/src/XvMC.c b/src/XvMC.c
index e0a1fe2..262469a 100644
--- a/src/XvMC.c
+++ b/src/XvMC.c
@@ -22,40 +22,37 @@ static XExtensionInfo _xvmc_info_data;
static XExtensionInfo *xvmc_info = &_xvmc_info_data;
static const char *xvmc_extension_name = XvMCName;
-static const char *xvmc_error_list[] =
-{
- "BadContext",
- "BadSurface",
- "BadSubpicture"
+static const char *xvmc_error_list[] = {
+ "BadContext",
+ "BadSurface",
+ "BadSubpicture"
};
-static XEXT_GENERATE_CLOSE_DISPLAY (xvmc_close_display, xvmc_info)
-
-
-static XEXT_GENERATE_ERROR_STRING (xvmc_error_string, xvmc_extension_name,
- XvMCNumErrors, xvmc_error_list)
-
+static XEXT_GENERATE_CLOSE_DISPLAY(xvmc_close_display, xvmc_info)
+static XEXT_GENERATE_ERROR_STRING(xvmc_error_string, xvmc_extension_name,
+ XvMCNumErrors, xvmc_error_list)
static XExtensionHooks xvmc_extension_hooks = {
- NULL, /* create_gc */
- NULL, /* copy_gc */
- NULL, /* flush_gc */
- NULL, /* free_gc */
- NULL, /* create_font */
- NULL, /* free_font */
- xvmc_close_display, /* close_display */
- NULL, /* wire_to_event */
- NULL, /* event_to_wire */
- NULL, /* error */
- xvmc_error_string /* error_string */
+ NULL, /* create_gc */
+ NULL, /* copy_gc */
+ NULL, /* flush_gc */
+ NULL, /* free_gc */
+ NULL, /* create_font */
+ NULL, /* free_font */
+ xvmc_close_display, /* close_display */
+ NULL, /* wire_to_event */
+ NULL, /* event_to_wire */
+ NULL, /* error */
+ xvmc_error_string /* error_string */
};
-static XEXT_GENERATE_FIND_DISPLAY (xvmc_find_display, xvmc_info,
- xvmc_extension_name,
- &xvmc_extension_hooks,
- XvMCNumEvents, NULL)
+static XEXT_GENERATE_FIND_DISPLAY(xvmc_find_display, xvmc_info,
+ xvmc_extension_name,
+ &xvmc_extension_hooks,
+ XvMCNumEvents, NULL)
-Bool XvMCQueryExtension (Display *dpy, int *event_basep, int *error_basep)
+Bool
+XvMCQueryExtension(Display *dpy, int *event_basep, int *error_basep)
{
XExtDisplayInfo *info = xvmc_find_display(dpy);
@@ -63,35 +60,37 @@ Bool XvMCQueryExtension (Display *dpy, int *event_basep, int *error_basep)
*event_basep = info->codes->first_event;
*error_basep = info->codes->first_error;
return True;
- } else {
+ }
+ else {
return False;
}
}
-Status XvMCQueryVersion (Display *dpy, int *major, int *minor)
+Status
+XvMCQueryVersion(Display *dpy, int *major, int *minor)
{
XExtDisplayInfo *info = xvmc_find_display(dpy);
xvmcQueryVersionReply rep;
- xvmcQueryVersionReq *req;
+ xvmcQueryVersionReq *req;
- XvMCCheckExtension (dpy, info, BadImplementation);
+ XvMCCheckExtension(dpy, info, BadImplementation);
- LockDisplay (dpy);
- XvMCGetReq (QueryVersion, req);
- if (!_XReply (dpy, (xReply *) &rep, 0, xTrue)) {
- UnlockDisplay (dpy);
- SyncHandle ();
+ LockDisplay(dpy);
+ XvMCGetReq(QueryVersion, req);
+ if (!_XReply(dpy, (xReply *) &rep, 0, xTrue)) {
+ UnlockDisplay(dpy);
+ SyncHandle();
return BadImplementation;
}
*major = rep.major;
*minor = rep.minor;
- UnlockDisplay (dpy);
- SyncHandle ();
+ UnlockDisplay(dpy);
+ SyncHandle();
return Success;
}
-
-XvMCSurfaceInfo * XvMCListSurfaceTypes(Display *dpy, XvPortID port, int *num)
+XvMCSurfaceInfo *
+XvMCListSurfaceTypes(Display *dpy, XvPortID port, int *num)
{
XExtDisplayInfo *info = xvmc_find_display(dpy);
xvmcListSurfaceTypesReply rep;
@@ -100,123 +99,120 @@ XvMCSurfaceInfo * XvMCListSurfaceTypes(Display *dpy, XvPortID port, int *num)
*num = 0;
- XvMCCheckExtension (dpy, info, NULL);
+ XvMCCheckExtension(dpy, info, NULL);
- LockDisplay (dpy);
- XvMCGetReq (ListSurfaceTypes, req);
+ LockDisplay(dpy);
+ XvMCGetReq(ListSurfaceTypes, req);
req->port = port;
- if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) {
- UnlockDisplay (dpy);
- SyncHandle ();
+ if (!_XReply(dpy, (xReply *) &rep, 0, xFalse)) {
+ UnlockDisplay(dpy);
+ SyncHandle();
return NULL;
}
- if(rep.num > 0) {
+ if (rep.num > 0) {
if (rep.num < (INT_MAX / sizeof(XvMCSurfaceInfo)))
surface_info = Xmalloc(rep.num * sizeof(XvMCSurfaceInfo));
- if(surface_info) {
- xvmcSurfaceInfo sinfo;
- CARD32 i;
-
- *num = rep.num;
-
- for(i = 0; i < rep.num; i++) {
- _XRead(dpy, (char*)&sinfo, sizeof(xvmcSurfaceInfo));
- surface_info[i].surface_type_id = sinfo.surface_type_id;
- surface_info[i].chroma_format = sinfo.chroma_format;
- surface_info[i].max_width = sinfo.max_width;
- surface_info[i].max_height = sinfo.max_height;
- surface_info[i].subpicture_max_width =
- sinfo.subpicture_max_width;
- surface_info[i].subpicture_max_height =
- sinfo.subpicture_max_height;
- surface_info[i].mc_type = sinfo.mc_type;
- surface_info[i].flags = sinfo.flags;
- }
- } else
- _XEatDataWords(dpy, rep.length);
+ if (surface_info) {
+ xvmcSurfaceInfo sinfo;
+ CARD32 i;
+
+ *num = rep.num;
+
+ for (i = 0; i < rep.num; i++) {
+ _XRead(dpy, (char *) &sinfo, sizeof(xvmcSurfaceInfo));
+ surface_info[i].surface_type_id = sinfo.surface_type_id;
+ surface_info[i].chroma_format = sinfo.chroma_format;
+ surface_info[i].max_width = sinfo.max_width;
+ surface_info[i].max_height = sinfo.max_height;
+ surface_info[i].subpicture_max_width =
+ sinfo.subpicture_max_width;
+ surface_info[i].subpicture_max_height =
+ sinfo.subpicture_max_height;
+ surface_info[i].mc_type = sinfo.mc_type;
+ surface_info[i].flags = sinfo.flags;
+ }
+ }
+ else
+ _XEatDataWords(dpy, rep.length);
}
- UnlockDisplay (dpy);
- SyncHandle ();
+ UnlockDisplay(dpy);
+ SyncHandle();
return surface_info;
}
-
-XvImageFormatValues * XvMCListSubpictureTypes (
- Display * dpy,
- XvPortID port,
- int surface_type_id,
- int *count_return
-)
+XvImageFormatValues *
+XvMCListSubpictureTypes(Display *dpy,
+ XvPortID port,
+ int surface_type_id,
+ int *count_return)
{
XExtDisplayInfo *info = xvmc_find_display(dpy);
xvmcListSubpictureTypesReply rep;
xvmcListSubpictureTypesReq *req;
XvImageFormatValues *ret = NULL;
-
*count_return = 0;
- XvMCCheckExtension (dpy, info, NULL);
-
+ XvMCCheckExtension(dpy, info, NULL);
- LockDisplay (dpy);
- XvMCGetReq (ListSubpictureTypes, req);
+ LockDisplay(dpy);
+ XvMCGetReq(ListSubpictureTypes, req);
req->port = port;
req->surface_type_id = surface_type_id;
- if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) {
- UnlockDisplay (dpy);
- SyncHandle ();
+ if (!_XReply(dpy, (xReply *) &rep, 0, xFalse)) {
+ UnlockDisplay(dpy);
+ SyncHandle();
return NULL;
}
- if(rep.num > 0) {
+ if (rep.num > 0) {
if (rep.num < (INT_MAX / sizeof(XvImageFormatValues)))
ret = Xmalloc(rep.num * sizeof(XvImageFormatValues));
- if(ret) {
+ if (ret) {
xvImageFormatInfo Info;
CARD32 i;
*count_return = rep.num;
- for(i = 0; i < rep.num; i++) {
- _XRead(dpy, (char*)(&Info), sz_xvImageFormatInfo);
- ret[i].id = Info.id;
- ret[i].type = Info.type;
- ret[i].byte_order = Info.byte_order;
- memcpy(&(ret[i].guid[0]), &(Info.guid[0]), 16);
- ret[i].bits_per_pixel = Info.bpp;
- ret[i].format = Info.format;
- ret[i].num_planes = Info.num_planes;
- ret[i].depth = Info.depth;
- ret[i].red_mask = Info.red_mask;
- ret[i].green_mask = Info.green_mask;
- ret[i].blue_mask = Info.blue_mask;
- ret[i].y_sample_bits = Info.y_sample_bits;
- ret[i].u_sample_bits = Info.u_sample_bits;
- ret[i].v_sample_bits = Info.v_sample_bits;
- ret[i].horz_y_period = Info.horz_y_period;
- ret[i].horz_u_period = Info.horz_u_period;
- ret[i].horz_v_period = Info.horz_v_period;
- ret[i].vert_y_period = Info.vert_y_period;
- ret[i].vert_u_period = Info.vert_u_period;
- ret[i].vert_v_period = Info.vert_v_period;
- memcpy(&(ret[i].component_order[0]), &(Info.comp_order[0]), 32);
- ret[i].scanline_order = Info.scanline_order;
+ for (i = 0; i < rep.num; i++) {
+ _XRead(dpy, (char *) (&Info), sz_xvImageFormatInfo);
+ ret[i].id = Info.id;
+ ret[i].type = Info.type;
+ ret[i].byte_order = Info.byte_order;
+ memcpy(&(ret[i].guid[0]), &(Info.guid[0]), 16);
+ ret[i].bits_per_pixel = Info.bpp;
+ ret[i].format = Info.format;
+ ret[i].num_planes = Info.num_planes;
+ ret[i].depth = Info.depth;
+ ret[i].red_mask = Info.red_mask;
+ ret[i].green_mask = Info.green_mask;
+ ret[i].blue_mask = Info.blue_mask;
+ ret[i].y_sample_bits = Info.y_sample_bits;
+ ret[i].u_sample_bits = Info.u_sample_bits;
+ ret[i].v_sample_bits = Info.v_sample_bits;
+ ret[i].horz_y_period = Info.horz_y_period;
+ ret[i].horz_u_period = Info.horz_u_period;
+ ret[i].horz_v_period = Info.horz_v_period;
+ ret[i].vert_y_period = Info.vert_y_period;
+ ret[i].vert_u_period = Info.vert_u_period;
+ ret[i].vert_v_period = Info.vert_v_period;
+ memcpy(&(ret[i].component_order[0]), &(Info.comp_order[0]), 32);
+ ret[i].scanline_order = Info.scanline_order;
}
- } else
- _XEatDataWords(dpy, rep.length);
+ }
+ else
+ _XEatDataWords(dpy, rep.length);
}
- UnlockDisplay (dpy);
- SyncHandle ();
+ UnlockDisplay(dpy);
+ SyncHandle();
return ret;
}
-
/******************************************************************
These are intended as a protocol interface to be used by direct
rendering libraries. They are not intended to be client viewable
@@ -238,13 +234,11 @@ XvImageFormatValues * XvMCListSubpictureTypes (
an XVMC_DIRECT context was specified.
*/
-
-Status _xvmc_create_context (
- Display *dpy,
- XvMCContext *context,
- int *priv_count,
- CARD32 **priv_data
-)
+Status
+_xvmc_create_context(Display *dpy,
+ XvMCContext *context,
+ int *priv_count,
+ CARD32 **priv_data)
{
XExtDisplayInfo *info = xvmc_find_display(dpy);
xvmcCreateContextReply rep;
@@ -253,10 +247,10 @@ Status _xvmc_create_context (
*priv_count = 0;
*priv_data = NULL;
- XvMCCheckExtension (dpy, info, BadImplementation);
+ XvMCCheckExtension(dpy, info, BadImplementation);
- LockDisplay (dpy);
- XvMCGetReq (CreateContext, req);
+ LockDisplay(dpy);
+ XvMCGetReq(CreateContext, req);
context->context_id = XAllocID(dpy);
req->context_id = context->context_id;
req->port = context->port;
@@ -264,49 +258,47 @@ Status _xvmc_create_context (
req->width = context->width;
req->height = context->height;
req->flags = context->flags;
- if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) {
- UnlockDisplay (dpy);
- SyncHandle ();
+ if (!_XReply(dpy, (xReply *) &rep, 0, xFalse)) {
+ UnlockDisplay(dpy);
+ SyncHandle();
return BadImplementation;
}
context->width = rep.width_actual;
context->height = rep.height_actual;
context->flags = rep.flags_return;
- if(rep.length) {
- if (rep.length < (INT_MAX >> 2))
- *priv_data = Xmalloc(rep.length << 2);
- if(*priv_data) {
- _XRead(dpy, (char*)(*priv_data), rep.length << 2);
- *priv_count = rep.length;
- } else
- _XEatDataWords(dpy, rep.length);
+ if (rep.length) {
+ if (rep.length < (INT_MAX >> 2))
+ *priv_data = Xmalloc(rep.length << 2);
+ if (*priv_data) {
+ _XRead(dpy, (char *) (*priv_data), rep.length << 2);
+ *priv_count = rep.length;
+ }
+ else
+ _XEatDataWords(dpy, rep.length);
}
- UnlockDisplay (dpy);
- SyncHandle ();
+ UnlockDisplay(dpy);
+ SyncHandle();
return Success;
}
-Status _xvmc_destroy_context (
- Display *dpy,
- XvMCContext *context
-)
+Status
+_xvmc_destroy_context(Display *dpy, XvMCContext *context)
{
XExtDisplayInfo *info = xvmc_find_display(dpy);
xvmcDestroyContextReq *req;
- XvMCCheckExtension (dpy, info, BadImplementation);
+ XvMCCheckExtension(dpy, info, BadImplementation);
- LockDisplay (dpy);
- XvMCGetReq (DestroyContext, req);
+ LockDisplay(dpy);
+ XvMCGetReq(DestroyContext, req);
req->context_id = context->context_id;
- UnlockDisplay (dpy);
- SyncHandle ();
+ UnlockDisplay(dpy);
+ SyncHandle();
return Success;
}
-
/*
_xvmc_create_surface -
@@ -321,13 +313,12 @@ Status _xvmc_destroy_context (
*/
-Status _xvmc_create_surface (
- Display *dpy,
- XvMCContext *context,
- XvMCSurface *surface,
- int *priv_count,
- CARD32 **priv_data
-)
+Status
+_xvmc_create_surface(Display *dpy,
+ XvMCContext *context,
+ XvMCSurface *surface,
+ int *priv_count,
+ CARD32 **priv_data)
{
XExtDisplayInfo *info = xvmc_find_display(dpy);
xvmcCreateSurfaceReply rep;
@@ -336,10 +327,10 @@ Status _xvmc_create_surface (
*priv_count = 0;
*priv_data = NULL;
- XvMCCheckExtension (dpy, info, BadImplementation);
+ XvMCCheckExtension(dpy, info, BadImplementation);
- LockDisplay (dpy);
- XvMCGetReq (CreateSurface, req);
+ LockDisplay(dpy);
+ XvMCGetReq(CreateSurface, req);
surface->surface_id = XAllocID(dpy);
surface->context_id = context->context_id;
@@ -349,42 +340,41 @@ Status _xvmc_create_surface (
req->surface_id = surface->surface_id;
req->context_id = surface->context_id;
- if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) {
- UnlockDisplay (dpy);
- SyncHandle ();
+ if (!_XReply(dpy, (xReply *) &rep, 0, xFalse)) {
+ UnlockDisplay(dpy);
+ SyncHandle();
return BadImplementation;
}
- if(rep.length) {
+ if (rep.length) {
if (rep.length < (INT_MAX >> 2))
*priv_data = Xmalloc(rep.length << 2);
- if(*priv_data) {
- _XRead(dpy, (char*)(*priv_data), rep.length << 2);
+ if (*priv_data) {
+ _XRead(dpy, (char *) (*priv_data), rep.length << 2);
*priv_count = rep.length;
- } else
+ }
+ else
_XEatDataWords(dpy, rep.length);
}
- UnlockDisplay (dpy);
- SyncHandle ();
+ UnlockDisplay(dpy);
+ SyncHandle();
return Success;
}
-Status _xvmc_destroy_surface (
- Display *dpy,
- XvMCSurface *surface
-)
+Status
+_xvmc_destroy_surface(Display *dpy, XvMCSurface *surface)
{
XExtDisplayInfo *info = xvmc_find_display(dpy);
xvmcDestroySurfaceReq *req;
- XvMCCheckExtension (dpy, info, BadImplementation);
+ XvMCCheckExtension(dpy, info, BadImplementation);
- LockDisplay (dpy);
- XvMCGetReq (DestroySurface, req);
+ LockDisplay(dpy);
+ XvMCGetReq(DestroySurface, req);
req->surface_id = surface->surface_id;
- UnlockDisplay (dpy);
- SyncHandle ();
+ UnlockDisplay(dpy);
+ SyncHandle();
return Success;
}
@@ -403,13 +393,12 @@ Status _xvmc_destroy_surface (
*/
-Status _xvmc_create_subpicture (
- Display *dpy,
- XvMCContext *context,
- XvMCSubpicture *subpicture,
- int *priv_count,
- CARD32 **priv_data
-)
+Status
+_xvmc_create_subpicture(Display *dpy,
+ XvMCContext *context,
+ XvMCSubpicture *subpicture,
+ int *priv_count,
+ CARD32 **priv_data)
{
XExtDisplayInfo *info = xvmc_find_display(dpy);
xvmcCreateSubpictureReply rep;
@@ -418,10 +407,10 @@ Status _xvmc_create_subpicture (
*priv_count = 0;
*priv_data = NULL;
- XvMCCheckExtension (dpy, info, BadImplementation);
+ XvMCCheckExtension(dpy, info, BadImplementation);
- LockDisplay (dpy);
- XvMCGetReq (CreateSubpicture, req);
+ LockDisplay(dpy);
+ XvMCGetReq(CreateSubpicture, req);
subpicture->subpicture_id = XAllocID(dpy);
subpicture->context_id = context->context_id;
@@ -431,9 +420,9 @@ Status _xvmc_create_subpicture (
req->xvimage_id = subpicture->xvimage_id;
req->width = subpicture->width;
req->height = subpicture->height;
- if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) {
- UnlockDisplay (dpy);
- SyncHandle ();
+ if (!_XReply(dpy, (xReply *) &rep, 0, xFalse)) {
+ UnlockDisplay(dpy);
+ SyncHandle();
return BadImplementation;
}
@@ -446,44 +435,44 @@ Status _xvmc_create_subpicture (
subpicture->component_order[2] = rep.component_order[2];
subpicture->component_order[3] = rep.component_order[3];
- if(rep.length) {
+ if (rep.length) {
if (rep.length < (INT_MAX >> 2))
*priv_data = Xmalloc(rep.length << 2);
- if(*priv_data) {
- _XRead(dpy, (char*)(*priv_data), rep.length << 2);
+ if (*priv_data) {
+ _XRead(dpy, (char *) (*priv_data), rep.length << 2);
*priv_count = rep.length;
- } else
+ }
+ else
_XEatDataWords(dpy, rep.length);
}
- UnlockDisplay (dpy);
- SyncHandle ();
+ UnlockDisplay(dpy);
+ SyncHandle();
return Success;
}
-Status _xvmc_destroy_subpicture(
- Display *dpy,
- XvMCSubpicture *subpicture
-)
+Status
+_xvmc_destroy_subpicture(Display *dpy, XvMCSubpicture *subpicture)
{
XExtDisplayInfo *info = xvmc_find_display(dpy);
xvmcDestroySubpictureReq *req;
- XvMCCheckExtension (dpy, info, BadImplementation);
+ XvMCCheckExtension(dpy, info, BadImplementation);
- LockDisplay (dpy);
- XvMCGetReq (DestroySubpicture, req);
+ LockDisplay(dpy);
+ XvMCGetReq(DestroySubpicture, req);
req->subpicture_id = subpicture->subpicture_id;
- UnlockDisplay (dpy);
- SyncHandle ();
+ UnlockDisplay(dpy);
+ SyncHandle();
return Success;
}
-Status XvMCGetDRInfo(Display *dpy, XvPortID port,
- char **name, char **busID,
- int *major, int *minor,
- int *patchLevel,
- int *isLocal)
+Status
+XvMCGetDRInfo(Display *dpy, XvPortID port,
+ char **name, char **busID,
+ int *major, int *minor,
+ int *patchLevel,
+ int *isLocal)
{
XExtDisplayInfo *info = xvmc_find_display(dpy);
xvmcGetDRInfoReply rep;
@@ -495,6 +484,7 @@ Status XvMCGetDRInfo(Display *dpy, XvPortID port,
volatile CARD32 *shMem;
struct timezone here;
struct timeval now;
+
here.tz_minuteswest = 0;
here.tz_dsttime = 0;
#endif
@@ -502,10 +492,10 @@ Status XvMCGetDRInfo(Display *dpy, XvPortID port,
*name = NULL;
*busID = NULL;
- XvMCCheckExtension (dpy, info, BadImplementation);
+ XvMCCheckExtension(dpy, info, BadImplementation);
- LockDisplay (dpy);
- XvMCGetReq (GetDRInfo, req);
+ LockDisplay(dpy);
+ XvMCGetReq(GetDRInfo, req);
req->port = port;
magic = 0;
@@ -524,84 +514,86 @@ Status XvMCGetDRInfo(Display *dpy, XvPortID port,
*/
if (shmKey >= 0) {
- shMem = (CARD32 *) shmat(shmKey, NULL, 0);
- shmctl(shmKey, IPC_RMID, NULL);
- if (shMem != (void *) -1) {
-
- register volatile CARD32 *shMemC = shMem;
- register int i;
-
- gettimeofday( &now, &here);
- magic = now.tv_usec & 0x000FFFFF;
- req->magic = magic;
- i = 1024 / sizeof(CARD32);
- while(i--) {
- *shMemC++ = magic;
- magic = ~magic;
- }
- } else {
- req->shmKey = -1;
- shmKey = -1;
- }
+ shMem = (CARD32 *) shmat(shmKey, NULL, 0);
+ shmctl(shmKey, IPC_RMID, NULL);
+ if (shMem != (void *) -1) {
+
+ register volatile CARD32 *shMemC = shMem;
+ register int i;
+
+ gettimeofday(&now, &here);
+ magic = now.tv_usec & 0x000FFFFF;
+ req->magic = magic;
+ i = 1024 / sizeof(CARD32);
+ while (i--) {
+ *shMemC++ = magic;
+ magic = ~magic;
+ }
+ }
+ else {
+ req->shmKey = -1;
+ shmKey = -1;
+ }
}
#else
req->shmKey = 0;
#endif
- if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) {
- UnlockDisplay (dpy);
- SyncHandle ();
+ if (!_XReply(dpy, (xReply *) &rep, 0, xFalse)) {
+ UnlockDisplay(dpy);
+ SyncHandle();
#ifdef HAVE_SHMAT
- if (shmKey >= 0) {
- shmdt( (const void *) shMem );
- }
+ if (shmKey >= 0) {
+ shmdt((const void *) shMem);
+ }
#endif
return -1;
}
#ifdef HAVE_SHMAT
if (shmKey >= 0) {
- shmdt( (const void *) shMem );
+ shmdt((const void *) shMem);
}
#endif
if (rep.length > 0) {
- unsigned long realSize = 0;
- char *tmpBuf = NULL;
-
- if ((rep.length < (INT_MAX >> 2)) &&
- /* protect against overflow in strncpy below */
- (rep.nameLen + rep.busIDLen > rep.nameLen)) {
- realSize = rep.length << 2;
- if (realSize >= (rep.nameLen + rep.busIDLen)) {
- tmpBuf = Xmalloc(realSize);
- *name = Xmalloc(rep.nameLen);
- *busID = Xmalloc(rep.busIDLen);
- }
- }
-
- if (*name && *busID && tmpBuf) {
- _XRead(dpy, tmpBuf, realSize);
- strncpy(*name,tmpBuf,rep.nameLen);
- (*name)[rep.nameLen == 0 ? 0 : rep.nameLen - 1] = '\0';
- strncpy(*busID,tmpBuf+rep.nameLen,rep.busIDLen);
- (*busID)[rep.busIDLen == 0 ? 0 : rep.busIDLen - 1] = '\0';
- XFree(tmpBuf);
- } else {
- XFree(*name);
- *name = NULL;
- XFree(*busID);
- *busID = NULL;
- XFree(tmpBuf);
-
- _XEatDataWords(dpy, rep.length);
- UnlockDisplay (dpy);
- SyncHandle ();
- return -1;
-
- }
+ unsigned long realSize = 0;
+ char *tmpBuf = NULL;
+
+ if ((rep.length < (INT_MAX >> 2)) &&
+ /* protect against overflow in strncpy below */
+ (rep.nameLen + rep.busIDLen > rep.nameLen)) {
+ realSize = rep.length << 2;
+ if (realSize >= (rep.nameLen + rep.busIDLen)) {
+ tmpBuf = Xmalloc(realSize);
+ *name = Xmalloc(rep.nameLen);
+ *busID = Xmalloc(rep.busIDLen);
+ }
+ }
+
+ if (*name && *busID && tmpBuf) {
+ _XRead(dpy, tmpBuf, realSize);
+ strncpy(*name, tmpBuf, rep.nameLen);
+ (*name)[rep.nameLen == 0 ? 0 : rep.nameLen - 1] = '\0';
+ strncpy(*busID, tmpBuf + rep.nameLen, rep.busIDLen);
+ (*busID)[rep.busIDLen == 0 ? 0 : rep.busIDLen - 1] = '\0';
+ XFree(tmpBuf);
+ }
+ else {
+ XFree(*name);
+ *name = NULL;
+ XFree(*busID);
+ *busID = NULL;
+ XFree(tmpBuf);
+
+ _XEatDataWords(dpy, rep.length);
+ UnlockDisplay(dpy);
+ SyncHandle();
+ return -1;
+
+ }
}
- UnlockDisplay (dpy);
- SyncHandle ();
+ UnlockDisplay(dpy);
+ SyncHandle();
*major = rep.major;
*minor = rep.minor;
*patchLevel = rep.patchLevel;
@@ -613,4 +605,3 @@ Status XvMCGetDRInfo(Display *dpy, XvPortID port,
*isLocal = 1;
return (rep.length > 0) ? Success : BadImplementation;
}
-
diff --git a/src/XvMClibint.h b/src/XvMClibint.h
index 195a77d..b21b966 100644
--- a/src/XvMClibint.h
+++ b/src/XvMClibint.h
@@ -9,7 +9,6 @@
#define XvMCCheckExtension(dpy, i, val) \
XextCheckExtension(dpy, i, xvmc_extension_name, val)
-
#define XvMCGetReq(name, req) \
WORD64ALIGN\
if ((dpy->bufptr + sizeof(xvmc##name##Req)) > dpy->bufmax)\
@@ -24,41 +23,41 @@
_XFUNCPROTOBEGIN
Status _xvmc_create_context(
- Display * /* dpy */,
- XvMCContext * /* context */,
- int * /* priv_count */,
- CARD32 ** /* priv_data */
+ Display * /* dpy */,
+ XvMCContext * /* context */,
+ int * /* priv_count */,
+ CARD32 ** /* priv_data */
);
Status _xvmc_destroy_context(
- Display * /* dpy */,
- XvMCContext * /* context */
+ Display * /* dpy */,
+ XvMCContext * /* context */
);
-Status _xvmc_create_surface (
- Display * /* dpy */,
- XvMCContext * /* context */,
- XvMCSurface * /* surface */,
- int * /* priv_count */,
- CARD32 ** /* priv_data */
+Status _xvmc_create_surface(
+ Display * /* dpy */,
+ XvMCContext * /* context */,
+ XvMCSurface * /* surface */,
+ int * /* priv_count */,
+ CARD32 ** /* priv_data */
);
-Status _xvmc_destroy_surface (
- Display * /* dpy */,
- XvMCSurface * /* surface */
+Status _xvmc_destroy_surface(
+ Display * /* dpy */,
+ XvMCSurface * /* surface */
);
-Status _xvmc_create_subpicture (
- Display * /* dpy */,
- XvMCContext * /* context */,
- XvMCSubpicture * /* subpicture */,
- int * /* priv_count */,
- CARD32 ** /* priv_data */
+Status _xvmc_create_subpicture(
+ Display * /* dpy */,
+ XvMCContext * /* context */,
+ XvMCSubpicture * /* subpicture */,
+ int * /* priv_count */,
+ CARD32 ** /* priv_data */
);
Status _xvmc_destroy_subpicture(
- Display * /* dpy */,
- XvMCSubpicture * /* subpicture */
+ Display * /* dpy */,
+ XvMCSubpicture * /* subpicture */
);
_XFUNCPROTOEND
diff --git a/wrapper/XvMCWrapper.c b/wrapper/XvMCWrapper.c
index 7a4c86d..7a07634 100644
--- a/wrapper/XvMCWrapper.c
+++ b/wrapper/XvMCWrapper.c
@@ -26,9 +26,10 @@
*/
/*
- * BUGS: The wrapper really should maintain one symbol table per port. This
- * could possibly be implemented. To do that, the port-independent symbols need to be lifted out,
- * and one would have to create a number of mapping tables:
+ * BUGS: The wrapper really should maintain one symbol table per port.
+ * This could possibly be implemented. To do that, the port-independent
+ * symbols need to be lifted out, and one would have to create a number
+ * of mapping tables:
*
* port -> symbol table
* context -> port
@@ -36,12 +37,12 @@
* subpicture -> port
*
* and reference the right table when needed.
- * This needs to be done only if there is a player that wants to access two displays with different
- * hardware simultaneously. Not likely as of today.
+ * This needs to be done only if there is a player that wants to access two
+ * displays with different hardware simultaneously. Not likely as of today.
*/
#ifdef HAVE_CONFIG_H
- #include "config.h"
+#include "config.h"
#endif
#include <X11/Xlib.h>
@@ -54,111 +55,124 @@
#include <ctype.h>
#include <stdlib.h>
-
typedef Bool (*XvMCQueryExtensionP) (Display *, int *, int *);
-typedef Status (*XvMCQueryVersionP) (Display *, int *,int *);
-typedef XvMCSurfaceInfo * (*XvMCListSurfaceTypesP)(Display *, XvPortID, int *);
-typedef Status (* XvMCCreateContextP) (Display *,XvPortID,int ,int ,int ,int ,XvMCContext * );
-typedef Status (*XvMCDestroyContextP) (Display *, XvMCContext * );
-typedef Status (*XvMCCreateSurfaceP)(Display *,XvMCContext *,XvMCSurface *);
-typedef Status (*XvMCDestroySurfaceP)(Display *, XvMCSurface *);
-typedef XvImageFormatValues * (*XvMCListSubpictureTypesP) (Display *,XvPortID ,int ,int *);
-typedef Status (*XvMCPutSurfaceP)(Display *,XvMCSurface *,Drawable ,short , short , unsigned short ,
- unsigned short ,short ,short ,unsigned short ,unsigned short ,int );
-typedef Status (*XvMCHideSurfaceP)(Display *, XvMCSurface *);
-typedef Status (*XvMCCreateSubpictureP) (Display *, XvMCContext *, XvMCSubpicture *,
- unsigned short, unsigned short,int);
-typedef Status (*XvMCClearSubpictureP) (Display *,XvMCSubpicture *,short,short,unsigned short,unsigned short,
- unsigned int);
-typedef Status (*XvMCCompositeSubpictureP) (Display *, XvMCSubpicture *,XvImage *,short,short,
- unsigned short, unsigned short,short,short);
+typedef Status (*XvMCQueryVersionP) (Display *, int *, int *);
+typedef XvMCSurfaceInfo *(*XvMCListSurfaceTypesP) (Display *, XvPortID, int *);
+typedef Status (*XvMCCreateContextP) (Display *, XvPortID, int, int, int, int,
+ XvMCContext *);
+typedef Status (*XvMCDestroyContextP) (Display *, XvMCContext *);
+typedef Status (*XvMCCreateSurfaceP) (Display *, XvMCContext *, XvMCSurface *);
+typedef Status (*XvMCDestroySurfaceP) (Display *, XvMCSurface *);
+typedef XvImageFormatValues *(*XvMCListSubpictureTypesP)(Display *, XvPortID,
+ int, int *);
+typedef Status (*XvMCPutSurfaceP) (Display *, XvMCSurface *, Drawable, short,
+ short, unsigned short, unsigned short, short,
+ short, unsigned short, unsigned short, int);
+typedef Status (*XvMCHideSurfaceP) (Display *, XvMCSurface *);
+typedef Status (*XvMCCreateSubpictureP) (Display *, XvMCContext *,
+ XvMCSubpicture *, unsigned short,
+ unsigned short, int);
+typedef Status (*XvMCClearSubpictureP) (Display *, XvMCSubpicture *, short,
+ short, unsigned short, unsigned short,
+ unsigned int);
+typedef Status (*XvMCCompositeSubpictureP) (Display *, XvMCSubpicture *,
+ XvImage *, short, short,
+ unsigned short, unsigned short,
+ short, short);
typedef Status (*XvMCDestroySubpictureP) (Display *, XvMCSubpicture *);
-typedef Status (*XvMCSetSubpicturePaletteP) (Display *, XvMCSubpicture *, unsigned char *);
-typedef Status (*XvMCBlendSubpictureP) (Display *d,XvMCSurface *,XvMCSubpicture *,short,
- short,unsigned short,unsigned short,short,short,
- unsigned short,unsigned short);
-typedef Status (*XvMCBlendSubpicture2P) (Display *,XvMCSurface *,XvMCSurface *,
- XvMCSubpicture *,short,short,unsigned short,
- unsigned short,short,short,unsigned short,
- unsigned short);
+typedef Status (*XvMCSetSubpicturePaletteP) (Display *, XvMCSubpicture *,
+ unsigned char *);
+typedef Status (*XvMCBlendSubpictureP) (Display * d, XvMCSurface *,
+ XvMCSubpicture *, short, short,
+ unsigned short, unsigned short, short,
+ short, unsigned short, unsigned short);
+typedef Status (*XvMCBlendSubpicture2P) (Display *, XvMCSurface *, XvMCSurface *,
+ XvMCSubpicture *, short, short,
+ unsigned short, unsigned short, short,
+ short, unsigned short, unsigned short);
typedef Status (*XvMCSyncSurfaceP) (Display *, XvMCSurface *);
typedef Status (*XvMCFlushSurfaceP) (Display *, XvMCSurface *);
typedef Status (*XvMCGetSurfaceStatusP) (Display *, XvMCSurface *, int *);
-typedef Status (*XvMCRenderSurfaceP) (Display *,XvMCContext *,unsigned int,XvMCSurface *,
- XvMCSurface *,XvMCSurface *,unsigned int,unsigned int,
- unsigned int,XvMCMacroBlockArray *,XvMCBlockArray *);
+typedef Status (*XvMCRenderSurfaceP) (Display *, XvMCContext *, unsigned int,
+ XvMCSurface *, XvMCSurface *,
+ XvMCSurface *, unsigned int, unsigned int,
+ unsigned int, XvMCMacroBlockArray *,
+ XvMCBlockArray *);
typedef Status (*XvMCSyncSubpictureP) (Display *, XvMCSubpicture *);
typedef Status (*XvMCFlushSubpictureP) (Display *, XvMCSubpicture *);
typedef Status (*XvMCGetSubpictureStatusP) (Display *, XvMCSubpicture *, int *);
-typedef Status (*XvMCCreateBlocksP) (Display *, XvMCContext *,unsigned int,XvMCBlockArray *);
-typedef Status (*XvMCDestroyBlocksP) (Display *,XvMCBlockArray *);
-typedef Status (*XvMCCreateMacroBlocksP) (Display *,XvMCContext *,unsigned int,
- XvMCMacroBlockArray *);
-typedef Status (*XvMCDestroyMacroBlocksP) (Display *,XvMCMacroBlockArray *);
-typedef XvAttribute *(*XvMCQueryAttributesP) (Display *,XvMCContext *,int *);
-typedef Status (*XvMCSetAttributeP) (Display *,XvMCContext *, Atom, int);
-typedef Status (*XvMCGetAttributeP) (Display *,XvMCContext *, Atom, int *);
+typedef Status (*XvMCCreateBlocksP) (Display *, XvMCContext *, unsigned int,
+ XvMCBlockArray *);
+typedef Status (*XvMCDestroyBlocksP) (Display *, XvMCBlockArray *);
+typedef Status (*XvMCCreateMacroBlocksP) (Display *, XvMCContext *, unsigned int,
+ XvMCMacroBlockArray *);
+typedef Status (*XvMCDestroyMacroBlocksP) (Display *, XvMCMacroBlockArray *);
+typedef XvAttribute *(*XvMCQueryAttributesP)(Display *, XvMCContext *, int *);
+typedef Status (*XvMCSetAttributeP) (Display *, XvMCContext *, Atom, int);
+typedef Status (*XvMCGetAttributeP) (Display *, XvMCContext *, Atom, int *);
/*
* Nonstandard VLD acceleration level:
*/
-typedef Status (*XvMCBeginSurfaceP) (Display *,XvMCContext *,XvMCSurface *,
- XvMCSurface *,XvMCSurface *f,const XvMCMpegControl *);
-typedef Status (*XvMCLoadQMatrixP) (Display *, XvMCContext *,const XvMCQMatrix *);
-typedef Status (*XvMCPutSliceP)(Display *,XvMCContext *, char *,int);
-typedef Status (*XvMCPutSlice2P)(Display *,XvMCContext *, char *,int, unsigned);
-typedef Status (*XvMCGetDRInfoP)(Display *, XvPortID, char **, char **, int *, int *,
- int *, int *);
-
+typedef Status (*XvMCBeginSurfaceP) (Display *, XvMCContext *, XvMCSurface *,
+ XvMCSurface *, XvMCSurface * f,
+ const XvMCMpegControl *);
+typedef Status (*XvMCLoadQMatrixP) (Display *, XvMCContext *,
+ const XvMCQMatrix *);
+typedef Status (*XvMCPutSliceP) (Display *, XvMCContext *, char *, int);
+typedef Status (*XvMCPutSlice2P) (Display *, XvMCContext *, char *, int,
+ unsigned);
+typedef Status (*XvMCGetDRInfoP) (Display *, XvPortID, char **, char **, int *,
+ int *, int *, int *);
typedef struct {
- XvMCQueryExtensionP XvMCQueryExtension;
- XvMCQueryVersionP XvMCQueryVersion;
- XvMCListSurfaceTypesP XvMCListSurfaceTypes;
- XvMCCreateContextP XvMCCreateContext;
- XvMCDestroyContextP XvMCDestroyContext;
- XvMCCreateSurfaceP XvMCCreateSurface;
- XvMCDestroySurfaceP XvMCDestroySurface;
+ XvMCQueryExtensionP XvMCQueryExtension;
+ XvMCQueryVersionP XvMCQueryVersion;
+ XvMCListSurfaceTypesP XvMCListSurfaceTypes;
+ XvMCCreateContextP XvMCCreateContext;
+ XvMCDestroyContextP XvMCDestroyContext;
+ XvMCCreateSurfaceP XvMCCreateSurface;
+ XvMCDestroySurfaceP XvMCDestroySurface;
XvMCListSubpictureTypesP XvMCListSubpictureTypes;
- XvMCPutSurfaceP XvMCPutSurface;
- XvMCHideSurfaceP XvMCHideSurface;
- XvMCCreateSubpictureP XvMCCreateSubpicture;
- XvMCClearSubpictureP XvMCClearSubpicture;
+ XvMCPutSurfaceP XvMCPutSurface;
+ XvMCHideSurfaceP XvMCHideSurface;
+ XvMCCreateSubpictureP XvMCCreateSubpicture;
+ XvMCClearSubpictureP XvMCClearSubpicture;
XvMCCompositeSubpictureP XvMCCompositeSubpicture;
- XvMCDestroySubpictureP XvMCDestroySubpicture;
- XvMCSetSubpicturePaletteP XvMCSetSubpicturePalette;
- XvMCBlendSubpictureP XvMCBlendSubpicture;
- XvMCBlendSubpicture2P XvMCBlendSubpicture2;
- XvMCSyncSurfaceP XvMCSyncSurface;
- XvMCFlushSurfaceP XvMCFlushSurface;
- XvMCGetSurfaceStatusP XvMCGetSurfaceStatus;
- XvMCRenderSurfaceP XvMCRenderSurface;
- XvMCSyncSubpictureP XvMCSyncSubpicture;
- XvMCFlushSubpictureP XvMCFlushSubpicture;
+ XvMCDestroySubpictureP XvMCDestroySubpicture;
+ XvMCSetSubpicturePaletteP XvMCSetSubpicturePalette;
+ XvMCBlendSubpictureP XvMCBlendSubpicture;
+ XvMCBlendSubpicture2P XvMCBlendSubpicture2;
+ XvMCSyncSurfaceP XvMCSyncSurface;
+ XvMCFlushSurfaceP XvMCFlushSurface;
+ XvMCGetSurfaceStatusP XvMCGetSurfaceStatus;
+ XvMCRenderSurfaceP XvMCRenderSurface;
+ XvMCSyncSubpictureP XvMCSyncSubpicture;
+ XvMCFlushSubpictureP XvMCFlushSubpicture;
XvMCGetSubpictureStatusP XvMCGetSubpictureStatus;
- XvMCCreateBlocksP XvMCCreateBlocks;
- XvMCDestroyBlocksP XvMCDestroyBlocks;
- XvMCCreateMacroBlocksP XvMCCreateMacroBlocks;
- XvMCDestroyMacroBlocksP XvMCDestroyMacroBlocks;
- XvMCQueryAttributesP XvMCQueryAttributes;
- XvMCSetAttributeP XvMCSetAttribute;
- XvMCGetAttributeP XvMCGetAttribute;
+ XvMCCreateBlocksP XvMCCreateBlocks;
+ XvMCDestroyBlocksP XvMCDestroyBlocks;
+ XvMCCreateMacroBlocksP XvMCCreateMacroBlocks;
+ XvMCDestroyMacroBlocksP XvMCDestroyMacroBlocks;
+ XvMCQueryAttributesP XvMCQueryAttributes;
+ XvMCSetAttributeP XvMCSetAttribute;
+ XvMCGetAttributeP XvMCGetAttribute;
/*
* Nonstandard VLD acceleration level:
*/
- XvMCBeginSurfaceP XvMCBeginSurface;
- XvMCLoadQMatrixP XvMCLoadQMatrix;
- XvMCPutSliceP XvMCPutSlice;
- XvMCPutSlice2P XvMCPutSlice2;
+ XvMCBeginSurfaceP XvMCBeginSurface;
+ XvMCLoadQMatrixP XvMCLoadQMatrix;
+ XvMCPutSliceP XvMCPutSlice;
+ XvMCPutSlice2P XvMCPutSlice2;
/*
* Driver name function.
*/
- XvMCGetDRInfoP XvMCGetDRInfo;
+ XvMCGetDRInfoP XvMCGetDRInfo;
int preInitialised;
int initialised;
@@ -198,36 +212,36 @@ static void *handle2;
if (dlerror() != NULL) return; \
}
-
/*
* Try to dlopen a shared library, versionless first.
*/
-
-static void *dlopenversion(const char *lib, const char *version, int flag)
-{
- void *ret;
- int curLen,verLen;
- char *curName;
- const char *tail;
-
-
- curLen = strlen(lib) + (verLen = strlen(version)) + 1;
- curName = (char *) malloc(curLen * sizeof(char));
- strncpy( curName, lib, curLen);
- if (verLen > 1) {
- if (NULL != (tail = strstr(version+1,"."))) {
- strncat( curName, version, tail - version);
- } else {
- strncat( curName, version, verLen);
+static void *
+dlopenversion(const char *lib, const char *version, int flag)
+{
+ void *ret;
+ int curLen, verLen;
+ char *curName;
+ const char *tail;
+
+ curLen = strlen(lib) + (verLen = strlen(version)) + 1;
+ curName = (char *) malloc(curLen * sizeof(char));
+ strncpy(curName, lib, curLen);
+ if (verLen > 1) {
+ if (NULL != (tail = strstr(version + 1, "."))) {
+ strncat(curName, version, tail - version);
+ }
+ else {
+ strncat(curName, version, verLen);
+ }
}
- }
- ret = dlopen(curName, flag);
- free(curName);
- return ret;
+ ret = dlopen(curName, flag);
+ free(curName);
+ return ret;
}
-static int preInitW(Display *dpy)
+static int
+preInitW(Display *dpy)
{
/*
@@ -241,16 +255,18 @@ static int preInitW(Display *dpy)
xW.initialised = 0;
xvhandle = dlopenversion("libXv.so", XV_SOVERSION, RTLD_LAZY | RTLD_GLOBAL);
if (!xvhandle) {
- fprintf(stderr,"XvMCWrapper: Warning! Could not open shared "
- "library \"libXv.so" XV_SOVERSION "\"\nThis may cause relocation "
- "errors later.\nError was: \"%s\".\n",dlerror());
+ fprintf(stderr, "XvMCWrapper: Warning! Could not open shared "
+ "library \"libXv.so" XV_SOVERSION
+ "\"\nThis may cause relocation "
+ "errors later.\nError was: \"%s\".\n", dlerror());
}
- handle2 = dlopenversion("libXvMC.so", XVMC_SOVERSION, RTLD_LAZY | RTLD_GLOBAL);
+ handle2 =
+ dlopenversion("libXvMC.so", XVMC_SOVERSION, RTLD_LAZY | RTLD_GLOBAL);
if (!handle2) {
- fprintf(stderr,"XvMCWrapper: Could not load XvMC "
- "library \"libXvMC.so" XVMC_SOVERSION "\". Failing\n");
- fprintf(stderr,"%s\n",dlerror());
- return 1;
+ fprintf(stderr, "XvMCWrapper: Could not load XvMC "
+ "library \"libXvMC.so" XVMC_SOVERSION "\". Failing\n");
+ fprintf(stderr, "%s\n", dlerror());
+ return 1;
}
XW_RSYM(xW, handle2, handleZ, XvMCQueryExtension, 1);
XW_RSYM(xW, handle2, handleZ, XvMCQueryVersion, 1);
@@ -258,7 +274,8 @@ static int preInitW(Display *dpy)
return 0;
}
-static void initW(Display *dpy, XvPortID port)
+static void
+initW(Display *dpy, XvPortID port)
{
char nameBuffer[BUFLEN];
void *handle;
@@ -267,96 +284,102 @@ static void initW(Display *dpy, XvPortID port)
char *err;
FILE *configFile;
int nameLen = 0;
- int major,minor,patchLevel,isLocal;
+ int major, minor, patchLevel, isLocal;
char *busID = NULL;
wrapperInit = 1;
xW.initialised = 0;
if (!wrapperPreInit)
- if (preInitW( dpy )) return;
+ if (preInitW(dpy))
+ return;
/*
* Will the DDX tell us the client driver name?
*/
xW.XvMCGetDRInfo = (XvMCGetDRInfoP)
- dlsym(handle2,"XvMCGetDRInfo");
+ dlsym(handle2, "XvMCGetDRInfo");
if ((err = dlerror()) == NULL) {
- if (0 == xW.XvMCGetDRInfo( dpy, port, &clientName, &busID, &major,
- &minor,&patchLevel, &isLocal)) {
- nameLen = strlen(clientName);
- XFree(busID);
- if (!isLocal) {
- fprintf(stderr,"XvMCWrapper: X server is not local. Cannot run XvMC.\n");
- XFree(clientName);
- return;
- }
- } else {
- clientName = NULL;
- }
+ if (0 == xW.XvMCGetDRInfo(dpy, port, &clientName, &busID, &major,
+ &minor, &patchLevel, &isLocal)) {
+ nameLen = strlen(clientName);
+ XFree(busID);
+ if (!isLocal) {
+ fprintf(stderr,
+ "XvMCWrapper: X server is not local. Cannot run XvMC.\n");
+ XFree(clientName);
+ return;
+ }
+ }
+ else {
+ clientName = NULL;
+ }
}
- if (clientName && (nameLen < BUFLEN-7) && (nameLen > 0)) {
- nameLen += 3;
- strncpy(nameBuffer,"lib",BUFLEN-1);
- strncpy(nameBuffer+3, clientName, BUFLEN-4);
- strncpy(nameBuffer + nameLen, ".so", BUFLEN-nameLen-1);
- nameBuffer[BUFLEN-1] = 0;
- XFree(clientName);
- handle = dlopenversion(nameBuffer, XVMC_SOVERSION,RTLD_LAZY);
- } else {
- /*
- * No. Try to obtain it from the config file.
- */
-
- if (clientName) XFree(clientName);
-
- configFile = fopen(STRS(XVMC_CONFIGDIR) "/XvMCConfig","r");
-
- xW.initialised = 0;
- xW.vldextension = 0;
-
- if (NULL == configFile) {
- fprintf(stderr,"XvMCWrapper: Could not open config file \"%s\".\n",
- STRS(XVMC_CONFIGDIR) "/XvMCConfig");
- perror("XvMCWrapper");
- return;
- }
-
- if (NULL == fgets(nameBuffer, BUFLEN, configFile)) {
- fclose(configFile);
- fprintf(stderr,"XvMCWrapper: Could not read XvMC library name.\n");
- perror("XvMCWrapper");
- return;
- }
-
- fclose(configFile);
- if ((tmp = strlen(nameBuffer)) == 0) {
- fprintf(stderr,"XvMCWrapper: Zero length XvMC library name.\n");
- fprintf(stderr,"%s\n",dlerror());
- return;
- }
-
- /*
- * Skip trailing newlines and garbage.
- */
-
- while (iscntrl(nameBuffer[tmp-1])) {
- nameBuffer[tmp-1] = 0;
- if (--tmp == 0) {
- fprintf(stderr,"XvMCWrapper: Zero length XvMC library name.\n");
- return;
- }
- }
- handle = dlopen(nameBuffer,RTLD_LAZY);
+ if (clientName && (nameLen < BUFLEN - 7) && (nameLen > 0)) {
+ nameLen += 3;
+ strncpy(nameBuffer, "lib", BUFLEN - 1);
+ strncpy(nameBuffer + 3, clientName, BUFLEN - 4);
+ strncpy(nameBuffer + nameLen, ".so", BUFLEN - nameLen - 1);
+ nameBuffer[BUFLEN - 1] = 0;
+ XFree(clientName);
+ handle = dlopenversion(nameBuffer, XVMC_SOVERSION, RTLD_LAZY);
+ }
+ else {
+ /*
+ * No. Try to obtain it from the config file.
+ */
+
+ if (clientName)
+ XFree(clientName);
+
+ configFile = fopen(STRS(XVMC_CONFIGDIR) "/XvMCConfig", "r");
+
+ xW.initialised = 0;
+ xW.vldextension = 0;
+
+ if (NULL == configFile) {
+ fprintf(stderr, "XvMCWrapper: Could not open config file \"%s\".\n",
+ STRS(XVMC_CONFIGDIR) "/XvMCConfig");
+ perror("XvMCWrapper");
+ return;
+ }
+
+ if (NULL == fgets(nameBuffer, BUFLEN, configFile)) {
+ fclose(configFile);
+ fprintf(stderr, "XvMCWrapper: Could not read XvMC library name.\n");
+ perror("XvMCWrapper");
+ return;
+ }
+
+ fclose(configFile);
+ if ((tmp = strlen(nameBuffer)) == 0) {
+ fprintf(stderr, "XvMCWrapper: Zero length XvMC library name.\n");
+ fprintf(stderr, "%s\n", dlerror());
+ return;
+ }
+
+ /*
+ * Skip trailing newlines and garbage.
+ */
+
+ while (iscntrl(nameBuffer[tmp - 1])) {
+ nameBuffer[tmp - 1] = 0;
+ if (--tmp == 0) {
+ fprintf(stderr,
+ "XvMCWrapper: Zero length XvMC library name.\n");
+ return;
+ }
+ }
+ handle = dlopen(nameBuffer, RTLD_LAZY);
}
if (!handle) {
- fprintf(stderr,"XvMCWrapper: Could not load hardware specific XvMC "
- "library \"%s\".\n",nameBuffer);
- fprintf(stderr,"%s\n",dlerror());
- return;
+ fprintf(stderr, "XvMCWrapper: Could not load hardware specific XvMC "
+ "library \"%s\".\n", nameBuffer);
+ fprintf(stderr, "%s\n", dlerror());
+ return;
}
XW_RSYM(xW, handle, handle2, XvMCListSurfaceTypes,);
@@ -396,386 +419,400 @@ static void initW(Display *dpy, XvPortID port)
xW.vldextension = 1;
}
-
-Bool XvMCQueryExtension (Display *display, int *eventBase, int *errBase)
+Bool
+XvMCQueryExtension(Display *display, int *eventBase, int *errBase)
{
- if (!wrapperPreInit) preInitW( display );
- if (!xW.preInitialised) return 0;
- return (*xW.XvMCQueryExtension)(display, eventBase, errBase);
+ if (!wrapperPreInit)
+ preInitW(display);
+ if (!xW.preInitialised)
+ return 0;
+ return (*xW.XvMCQueryExtension) (display, eventBase, errBase);
}
-Status XvMCQueryVersion (Display *display, int *major_versionp,
- int *minor_versionp)
+Status
+XvMCQueryVersion(Display *display, int *major_versionp, int *minor_versionp)
{
- if (!wrapperPreInit) preInitW( display );
- if (!xW.preInitialised) return 0;
- return (*xW.XvMCQueryVersion)(display, major_versionp, minor_versionp);
+ if (!wrapperPreInit)
+ preInitW(display);
+ if (!xW.preInitialised)
+ return 0;
+ return (*xW.XvMCQueryVersion) (display, major_versionp, minor_versionp);
}
-
-XvMCSurfaceInfo * XvMCListSurfaceTypes(Display *dpy, XvPortID port, int *num)
+XvMCSurfaceInfo *
+XvMCListSurfaceTypes(Display *dpy, XvPortID port, int *num)
{
- if (!wrapperInit) initW( dpy, port);
- if (!xW.initialised) return NULL;
- return (*xW.XvMCListSurfaceTypes)(dpy, port, num);
+ if (!wrapperInit)
+ initW(dpy, port);
+ if (!xW.initialised)
+ return NULL;
+ return (*xW.XvMCListSurfaceTypes) (dpy, port, num);
}
-Status XvMCCreateContext (
- Display *display,
- XvPortID port,
- int surface_type_id,
- int width,
- int height,
- int flags,
- XvMCContext * context
- )
-{
- if (!wrapperInit) initW(display, port);
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCCreateContext)(display, port, surface_type_id,
- width, height, flags, context);
+Status
+XvMCCreateContext(Display *display,
+ XvPortID port,
+ int surface_type_id,
+ int width,
+ int height,
+ int flags,
+ XvMCContext *context)
+{
+ if (!wrapperInit)
+ initW(display, port);
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCCreateContext) (display, port, surface_type_id,
+ width, height, flags, context);
}
-Status XvMCDestroyContext (Display *display, XvMCContext * context)
+Status
+XvMCDestroyContext(Display *display, XvMCContext *context)
{
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCDestroyContext)(display, context);
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCDestroyContext) (display, context);
}
Status
-XvMCCreateSurface(
- Display *display,
- XvMCContext * context,
- XvMCSurface * surface
- )
+XvMCCreateSurface(Display *display,
+ XvMCContext *context,
+ XvMCSurface *surface)
{
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCCreateSurface)(display, context, surface);
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCCreateSurface) (display, context, surface);
}
-Status XvMCDestroySurface(Display *display, XvMCSurface *surface)
+Status
+XvMCDestroySurface(Display *display, XvMCSurface *surface)
{
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCDestroySurface)(display, surface);
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCDestroySurface) (display, surface);
}
-
-XvImageFormatValues * XvMCListSubpictureTypes (
- Display * display,
- XvPortID port,
- int surface_type_id,
- int *count_return
- )
+XvImageFormatValues *
+XvMCListSubpictureTypes(Display *display,
+ XvPortID port,
+ int surface_type_id,
+ int *count_return)
{
- if (!xW.initialised) return NULL;
- return (*xW.XvMCListSubpictureTypes)(display, port, surface_type_id,
- count_return);
+ if (!xW.initialised)
+ return NULL;
+ return (*xW.XvMCListSubpictureTypes) (display, port, surface_type_id,
+ 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
- )
-{
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCPutSurface)(display, surface, draw, srcx, srcy, srcw, srch,
- destx, desty, destw, desth, flags);
+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)
+{
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCPutSurface) (display, surface, draw, srcx, srcy, srcw, srch,
+ destx, desty, destw, desth, flags);
}
-Status XvMCHideSurface(Display *display, XvMCSurface *surface)
+Status
+XvMCHideSurface(Display *display, XvMCSurface *surface)
{
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCHideSurface)(display, surface);
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCHideSurface) (display, surface);
}
-
Status
-XvMCCreateSubpicture (
- Display *display,
- XvMCContext *context,
- XvMCSubpicture *subpicture,
- unsigned short width,
- unsigned short height,
- int xvimage_id
- )
+XvMCCreateSubpicture(Display *display,
+ XvMCContext *context,
+ XvMCSubpicture *subpicture,
+ unsigned short width,
+ unsigned short height,
+ int xvimage_id)
{
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCCreateSubpicture)(display, context, subpicture, width, height,
- xvimage_id);
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCCreateSubpicture) (display, context, subpicture, width,
+ height, xvimage_id);
}
-
Status
-XvMCClearSubpicture (
- Display *display,
- XvMCSubpicture *subpicture,
- short x,
- short y,
- unsigned short width,
- unsigned short height,
- unsigned int color
- )
+XvMCClearSubpicture(Display *display,
+ XvMCSubpicture *subpicture,
+ short x,
+ short y,
+ unsigned short width,
+ unsigned short height,
+ unsigned int color)
{
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCClearSubpicture)(display, subpicture, x, y, width, height, color);
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCClearSubpicture) (display, subpicture, x, y, width, height,
+ color);
}
-
Status
-XvMCCompositeSubpicture (
- Display *display,
- XvMCSubpicture *subpicture,
- XvImage *image,
- short srcx,
- short srcy,
- unsigned short width,
- unsigned short height,
- short dstx,
- short dsty
- )
-{
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCCompositeSubpicture)(display, subpicture, image, srcx, srcy,
- width, height, dstx, dsty);
+XvMCCompositeSubpicture(Display *display,
+ XvMCSubpicture *subpicture,
+ XvImage *image,
+ short srcx,
+ short srcy,
+ unsigned short width,
+ unsigned short height,
+ short dstx,
+ short dsty)
+{
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCCompositeSubpicture) (display, subpicture, image, srcx,
+ srcy, width, height, dstx, dsty);
}
Status
-XvMCDestroySubpicture (Display *display, XvMCSubpicture *subpicture)
+XvMCDestroySubpicture(Display *display, XvMCSubpicture *subpicture)
{
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCDestroySubpicture)(display, subpicture);
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCDestroySubpicture) (display, subpicture);
}
Status
-XvMCSetSubpicturePalette (
- Display *display,
- XvMCSubpicture *subpicture,
- unsigned char *palette
- )
+XvMCSetSubpicturePalette(Display *display,
+ XvMCSubpicture *subpicture,
+ unsigned char *palette)
{
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCSetSubpicturePalette)(display, subpicture, palette);
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCSetSubpicturePalette) (display, subpicture, 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
- )
-{
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCBlendSubpicture)(display, target_surface, subpicture,
- subx, suby, subw, subh, surfx, surfy,
- surfw, surfh);
+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)
+{
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCBlendSubpicture) (display, target_surface, subpicture,
+ subx, suby, subw, subh, surfx, surfy,
+ surfw, 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
- )
-{
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCBlendSubpicture2)(display, source_surface, target_surface, subpicture,
- subx, suby, subw, subh, surfx, surfy, surfw, surfh);
+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)
+{
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCBlendSubpicture2) (display, source_surface, target_surface,
+ subpicture, subx, suby, subw, subh,
+ surfx, surfy, surfw, surfh);
}
-
-Status XvMCSyncSurface (Display *display, XvMCSurface *surface)
+Status
+XvMCSyncSurface(Display *display, XvMCSurface *surface)
{
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCSyncSurface)(display, surface);
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCSyncSurface) (display, surface);
}
-Status XvMCFlushSurface (Display *display, XvMCSurface *surface)
+Status
+XvMCFlushSurface(Display *display, XvMCSurface *surface)
{
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCFlushSurface)(display, surface);
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCFlushSurface) (display, surface);
}
-Status XvMCGetSurfaceStatus (Display *display, XvMCSurface *surface, int *stat)
+Status
+XvMCGetSurfaceStatus(Display *display, XvMCSurface *surface, int *stat)
{
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCGetSurfaceStatus)(display, surface, stat);
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCGetSurfaceStatus) (display, surface, 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
- )
-{
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCRenderSurface)(display, context, picture_structure, target_surface,
- past_surface, future_surface, flags, num_macroblocks,
- first_macroblock, macroblock_array, blocks);
+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)
+{
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCRenderSurface) (display, context, picture_structure,
+ target_surface, past_surface,
+ future_surface, flags, num_macroblocks,
+ first_macroblock, macroblock_array, blocks);
}
-Status XvMCSyncSubpicture (Display *display, XvMCSubpicture *subpicture)
+Status
+XvMCSyncSubpicture(Display *display, XvMCSubpicture *subpicture)
{
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCSyncSubpicture)(display, subpicture);
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCSyncSubpicture) (display, subpicture);
}
-Status XvMCFlushSubpicture (Display *display, XvMCSubpicture *subpicture)
+Status
+XvMCFlushSubpicture(Display *display, XvMCSubpicture *subpicture)
{
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCFlushSubpicture)(display, subpicture);
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCFlushSubpicture) (display, subpicture);
}
+
Status
-XvMCGetSubpictureStatus (Display *display, XvMCSubpicture *subpic, int *stat)
+XvMCGetSubpictureStatus(Display *display, XvMCSubpicture *subpic, int *stat)
{
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCGetSubpictureStatus)(display, subpic, stat);
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCGetSubpictureStatus) (display, subpic, stat);
}
-Status XvMCCreateBlocks (
- Display *display,
- XvMCContext *context,
- unsigned int num_blocks,
- XvMCBlockArray *block
- )
+Status
+XvMCCreateBlocks(Display *display,
+ XvMCContext *context,
+ unsigned int num_blocks,
+ XvMCBlockArray *block)
{
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCCreateBlocks)(display, context, num_blocks, block);
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCCreateBlocks) (display, context, num_blocks, block);
}
-
-Status XvMCDestroyBlocks (Display *display,XvMCBlockArray *block)
+Status
+XvMCDestroyBlocks(Display *display, XvMCBlockArray *block)
{
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCDestroyBlocks)(display, block);
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCDestroyBlocks) (display, block);
}
-Status XvMCCreateMacroBlocks (
- Display *display,
- XvMCContext *context,
- unsigned int num_blocks,
- XvMCMacroBlockArray *blocks
- )
+Status
+XvMCCreateMacroBlocks(Display *display,
+ XvMCContext *context,
+ unsigned int num_blocks,
+ XvMCMacroBlockArray *blocks)
{
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCCreateMacroBlocks)(display, context, num_blocks, blocks);
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCCreateMacroBlocks) (display, context, num_blocks, blocks);
}
-
-Status XvMCDestroyMacroBlocks (
- Display *display,
- XvMCMacroBlockArray *block
- )
+Status
+XvMCDestroyMacroBlocks(Display *display,
+ XvMCMacroBlockArray *block)
{
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCDestroyMacroBlocks)(display, block);
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCDestroyMacroBlocks) (display, block);
}
-
XvAttribute *
-XvMCQueryAttributes (
- Display *display,
- XvMCContext *context,
- int *number
- )
+XvMCQueryAttributes(Display *display,
+ XvMCContext *context,
+ int *number)
{
- if (!xW.initialised) return NULL;
- return (*xW.XvMCQueryAttributes)(display, context, number);
+ if (!xW.initialised)
+ return NULL;
+ return (*xW.XvMCQueryAttributes) (display, context, number);
}
-
Status
-XvMCSetAttribute (
- Display *display,
- XvMCContext *context,
- Atom attribute,
- int value
- )
+XvMCSetAttribute(Display *display,
+ XvMCContext *context,
+ Atom attribute,
+ int value)
{
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCSetAttribute)(display, context, attribute, value);
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCSetAttribute) (display, context, attribute, value);
}
-
Status
-XvMCGetAttribute (
- Display *display,
- XvMCContext *context,
- Atom attribute,
- int *value
- )
+XvMCGetAttribute(Display *display,
+ XvMCContext *context,
+ Atom attribute,
+ int *value)
{
- if (!xW.initialised) return BadValue;
- return (*xW.XvMCGetAttribute)(display, context, attribute, value);
+ if (!xW.initialised)
+ return BadValue;
+ return (*xW.XvMCGetAttribute) (display, context, attribute, value);
}
-
-Status XvMCBeginSurface(Display *display,
- XvMCContext *context,
- XvMCSurface *target_surface,
- XvMCSurface *past_surface,
- XvMCSurface *future_surface,
- const XvMCMpegControl *control)
+Status
+XvMCBeginSurface(Display *display,
+ XvMCContext *context,
+ XvMCSurface *target_surface,
+ XvMCSurface *past_surface,
+ XvMCSurface *future_surface,
+ const XvMCMpegControl *control)
{
- if (!xW.vldextension) return BadValue;
- return (*xW.XvMCBeginSurface)(display, context, target_surface, past_surface, future_surface,
- control);
+ if (!xW.vldextension)
+ return BadValue;
+ return (*xW.XvMCBeginSurface) (display, context, target_surface,
+ past_surface, future_surface, control);
}
-Status XvMCLoadQMatrix(Display *display, XvMCContext *context,
- const XvMCQMatrix *qmx)
+Status
+XvMCLoadQMatrix(Display *display, XvMCContext *context,
+ const XvMCQMatrix *qmx)
{
- if (!xW.vldextension) return BadValue;
- return (*xW.XvMCLoadQMatrix)(display, context, qmx);
+ if (!xW.vldextension)
+ return BadValue;
+ return (*xW.XvMCLoadQMatrix) (display, context, qmx);
}
-Status XvMCPutSlice(Display *display,XvMCContext *context,
- char *slice, int nBytes)
+Status
+XvMCPutSlice(Display *display, XvMCContext *context, char *slice, int nBytes)
{
- if (!xW.vldextension) return BadValue;
- return (*xW.XvMCPutSlice)(display, context, slice, nBytes);
+ if (!xW.vldextension)
+ return BadValue;
+ return (*xW.XvMCPutSlice) (display, context, slice, nBytes);
}
-Status XvMCPutSlice2(Display *display,XvMCContext *context,
- char *slice, int nBytes, int sliceCode)
+Status
+XvMCPutSlice2(Display *display, XvMCContext *context,
+ char *slice, int nBytes, int sliceCode)
{
- if (!xW.vldextension) return BadValue;
- return (*xW.XvMCPutSlice2)(display, context, slice, nBytes, sliceCode);
+ if (!xW.vldextension)
+ return BadValue;
+ return (*xW.XvMCPutSlice2) (display, context, slice, nBytes, sliceCode);
}