| #ifndef _VA_ANDROID_H_ |
| #define _VA_ANDROID_H_ |
| |
| #include <va/va.h> |
| #include <ui/Surface.h> |
| class Surface; |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /* |
| * Returns a suitable VADisplay for VA API |
| */ |
| VADisplay vaGetDisplay ( |
| void *dpy |
| ); |
| |
| /* |
| * Output rendering |
| * Following is the rendering interface for X windows, |
| * to get the decode output surface to a X drawable |
| * It basically performs a de-interlacing (if needed), |
| * color space conversion and scaling to the destination |
| * rectangle |
| */ |
| VAStatus vaPutSurface ( |
| VADisplay dpy, |
| VASurfaceID surface, |
| Surface *draw, /* Android Window/Surface */ |
| short srcx, |
| short srcy, |
| unsigned short srcw, |
| unsigned short srch, |
| short destx, |
| short desty, |
| unsigned short destw, |
| unsigned short desth, |
| VARectangle *cliprects, /* client supplied destination clip list */ |
| unsigned int number_cliprects, /* number of clip rects in the clip list */ |
| 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 |
| |
| #endif /* _VA_ANDROID_H_ */ |