From 52739317c115ccf0b729d0ce282fc3c30249a4f5 Mon Sep 17 00:00:00 2001 From: Ren Zhaohan Date: Thu, 8 Apr 2010 13:44:05 +0800 Subject: [PATCH] Add vaPutSurfaceBuf for Android --- va/android/va_android.c | 28 ++++++++++++++++++++++++++++ va/va_android.h | 18 ++++++++++++++++++ va/va_backend.h | 19 +++++++++++++++++++ 3 files changed, 65 insertions(+) diff --git a/va/android/va_android.c b/va/android/va_android.c index 687b86d..c7176c9 100644 --- a/va/android/va_android.c +++ b/va/android/va_android.c @@ -186,3 +186,31 @@ VAStatus vaPutSurface ( destx, desty, destw, desth, cliprects, number_cliprects, flags ); } + +VAStatus vaPutSurfaceBuf ( + VADisplay dpy, + VASurfaceID surface, + Drawable draw, /* Android Surface/Window */ + unsigned char* data, + int* data_len, + 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.vaPutSurfaceBuf( ctx, surface, draw, data, data_len, srcx, srcy, srcw, srch, + destx, desty, destw, desth, cliprects, number_cliprects, flags ); +} diff --git a/va/va_android.h b/va/va_android.h index 176c258..eefe4f4 100644 --- a/va/va_android.h +++ b/va/va_android.h @@ -41,6 +41,24 @@ VAStatus vaPutSurface ( unsigned int flags /* PutSurface flags */ ); +VAStatus vaPutSurfaceBuf ( + VADriverContextP ctx, + VASurfaceID surface, + Drawable draw, /* X Drawable */ + unsigned char* data, + int* data_len, + 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 */ + ); #ifdef __cplusplus } #endif diff --git a/va/va_backend.h b/va/va_backend.h index 25dfeed..a857857 100644 --- a/va/va_backend.h +++ b/va/va_backend.h @@ -193,6 +193,25 @@ struct VADriverVTable unsigned int flags /* de-interlacing flags */ ); + VAStatus (*vaPutSurfaceBuf) ( + VADriverContextP ctx, + VASurfaceID surface, + Drawable draw, /* X Drawable */ + unsigned char* data, + int* data_len, + 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 */ + ); + VAStatus (*vaQueryImageFormats) ( VADriverContextP ctx, VAImageFormat *format_list, /* out */ -- 2.7.4