summaryrefslogtreecommitdiffstats
path: root/third_party/libva/va/va_android.h
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libva/va/va_android.h')
-rw-r--r--third_party/libva/va/va_android.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/third_party/libva/va/va_android.h b/third_party/libva/va/va_android.h
new file mode 100644
index 0000000..7b98949
--- /dev/null
+++ b/third_party/libva/va/va_android.h
@@ -0,0 +1,54 @@
+#ifndef _VA_ANDROID_H_
+#define _VA_ANDROID_H_
+
+#include <va/va.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * Returns a suitable VADisplay for VA API
+ */
+VADisplay vaGetDisplay (
+ void *android_dpy
+);
+
+#ifdef __cplusplus
+}
+#endif
+
+#ifdef __cplusplus
+#ifdef ANDROID
+#include <surfaceflinger/ISurface.h>
+using namespace android;
+
+/*
+ * Output rendering
+ * Following is the rendering interface for Android system,
+ * to get the decode output surface to an ISurface object.
+ * It basically performs a de-interlacing (if needed),
+ * color space conversion and scaling to the destination
+ * rectangle
+ */
+VAStatus vaPutSurface (
+ VADisplay dpy,
+ VASurfaceID surface,
+ sp<ISurface> 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 */
+);
+
+#endif /* ANDROID */
+#endif /* __cplusplus */
+
+#endif /* _VA_ANDROID_H_ */