diff options
Diffstat (limited to 'lib/xvmc/xvmce.c')
-rw-r--r-- | lib/xvmc/xvmce.c | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/lib/xvmc/xvmce.c b/lib/xvmc/xvmce.c index 0576e60..69827d1 100644 --- a/lib/xvmc/xvmce.c +++ b/lib/xvmc/xvmce.c @@ -30,6 +30,7 @@ #include <X11/Xlib.h> #include <X11/extensions/Xv.h> #include <X11/extensions/Xvlib.h> +#include <X11/extensions/vldXvMC.h> #include <stdio.h> @@ -78,7 +79,7 @@ XEXT_GENERATE_FIND_DISPLAY(XvMCEFindDisplay, XvMCEExtInfo, XVMCE_EXT_NAME, dpy->bufptr += SIZEOF(xvmce##name##Req);\ dpy->request++ -#define XvmceGetReqExtra(name, req, len) \ +#define XvMCEGetReqExtra(name, req, len) \ WORD64ALIGN\ if ((dpy->bufptr + SIZEOF(xvmce##name##Req)) > dpy->bufmax)\ _XFlush(dpy);\ @@ -131,3 +132,31 @@ XvMCEQueryExtension(Display *dpy, int *Version, int *Release, return status; } + +/* + * + */ +Status +XvMCEQMatrixSend(Display *dpy, XvPortID port, char type, + const unsigned char qmatrix[64]) +{ + XExtDisplayInfo *info = XvMCEFindDisplay(dpy); + xvmceQMatrixSendReq *req; + + XvMCECheckExtension(dpy, info, BadImplementation); + + LockDisplay(dpy); + + XvMCEGetReqExtra(QMatrixSend, req, 64); + + req->Port = port; + req->Type = type; + + _XSend(dpy, (char *) qmatrix, 64); + + UnlockDisplay(dpy); + SyncHandle(); + + return Success; +} + |