diff options
author | Austin Yuan <shengquan.yuan@gmail.com> | 2010-03-31 14:37:22 +0800 |
---|---|---|
committer | Austin Yuan <shengquan.yuan@gmail.com> | 2010-03-31 14:37:22 +0800 |
commit | 6db0f051641feb01fe79c4ff51306f31ee6cfbe9 (patch) | |
tree | 60b670e915d1fee3c9533ec24e9dee845e4bebfa | |
parent | b4016cefa26fbb31655aaa431ba28368fe9e8da0 (diff) |
move vaPutSurface(dpy, Surface *draw, XXX) into android/va_android.c
Signed-off-by: Austin Yuan <shengquan.yuan@gmail.com>
-rw-r--r-- | va/android/va_android.c | 38 | ||||
-rw-r--r-- | va/va.c | 4 |
2 files changed, 40 insertions, 2 deletions
diff --git a/va/android/va_android.c b/va/android/va_android.c index 9642228..9b1fe0d 100644 --- a/va/android/va_android.c +++ b/va/android/va_android.c @@ -26,6 +26,7 @@ #include "config.h" #include "va.h" #include "va_backend.h" +#include "va_android.h" #include <stdio.h> #include <stdlib.h> #include <stdarg.h> @@ -161,3 +162,40 @@ VADisplay vaGetDisplay ( return dpy; } + + +#define CTX(dpy) (((VADisplayContextP)dpy)->pDriverContext) +#define CHECK_DISPLAY(dpy) if( !vaDisplayIsValid(dpy) ) { return VA_STATUS_ERROR_INVALID_DISPLAY; } + +static int vaDisplayIsValid(VADisplay dpy) +{ + VADisplayContextP pDisplayContext = (VADisplayContextP)dpy; + return pDisplayContext && (pDisplayContext->vadpy_magic == VA_DISPLAY_MAGIC) && pDisplayContext->vaIsValid(pDisplayContext); +} + +VAStatus vaPutSurface ( + VADisplay dpy, + VASurfaceID surface, + Surface *draw, /* Android Surface/Window */ + short srcx, + short srcy, + unsigned short srcw, + unsigned short srch, + short destx, + short desty, + unsigned short destw, + unsigned short desth, + VARectangle *cliprects, /* client supplied clip list */ + unsigned int number_cliprects, /* number of clip rects in the clip list */ + unsigned int flags /* de-interlacing flags */ +) +{ + VADriverContextP ctx; + + CHECK_DISPLAY(dpy); + ctx = CTX(dpy); + + return ctx->vtable.vaPutSurface( ctx, surface, draw, srcx, srcy, srcw, srch, + destx, desty, destw, desth, + cliprects, number_cliprects, flags ); +} @@ -56,8 +56,8 @@ extern int trace_flag; static int vaDisplayIsValid(VADisplay dpy) { - VADisplayContextP pDisplayContext = (VADisplayContextP)dpy; - return pDisplayContext && (pDisplayContext->vadpy_magic == VA_DISPLAY_MAGIC) && pDisplayContext->vaIsValid(pDisplayContext); + VADisplayContextP pDisplayContext = (VADisplayContextP)dpy; + return pDisplayContext && (pDisplayContext->vadpy_magic == VA_DISPLAY_MAGIC) && pDisplayContext->vaIsValid(pDisplayContext); } static void va_errorMessage(const char *msg, ...) |