Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Unified Diff: third_party/libva/va/va_dricommon.h

Issue 10380004: Add libva, a library for video accelerated video processing. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/libva/va/va_dricommon.h
diff --git a/third_party/libva/va/va_dricommon.h b/third_party/libva/va/va_dricommon.h
new file mode 100644
index 0000000000000000000000000000000000000000..357cc8eb65408ef3d514a8310a1662905cf7d4d1
--- /dev/null
+++ b/third_party/libva/va/va_dricommon.h
@@ -0,0 +1,79 @@
+#ifndef _VA_DRICOMMON_H_
+#define _VA_DRICOMMON_H_
+
+#ifndef ANDROID
+#include <X11/Xlib.h>
+#include <xf86drm.h>
+#include <drm.h>
+#include <drm_sarea.h>
+#endif
+
+#include <va/va_backend.h>
+
+#ifdef ANDROID
+#define XID unsigned int
+#define Bool int
+#endif
+
+enum
+{
+ VA_NONE = 0,
+ VA_DRI1 = 1,
+ VA_DRI2 = 2,
+ VA_DUMMY = 3
+};
+
+union dri_buffer
+{
+ struct {
+ unsigned int attachment;
+ unsigned int name;
+ unsigned int pitch;
+ unsigned int cpp;
+ unsigned int flags;
+ } dri2;
+
+ struct {
+ } dri1;
+};
+
+struct dri_drawable
+{
+ XID x_drawable;
+ int is_window;
+ int x;
+ int y;
+ unsigned int width;
+ unsigned int height;
+ struct dri_drawable *next;
+};
+
+#define DRAWABLE_HASH_SZ 32
+struct dri_state
+{
+ int fd;
+ int driConnectedFlag; /* 0: disconnected, 1: DRI, 2: DRI2 */
+#ifndef ANDROID
+ drm_handle_t hSAREA;
+ drm_context_t hwContext;
+ drmAddress pSAREA;
+ XID hwContextID;
+ struct dri_drawable *drawable_hash[DRAWABLE_HASH_SZ];
+
+ struct dri_drawable *(*createDrawable)(VADriverContextP ctx, XID x_drawable);
+ void (*destroyDrawable)(VADriverContextP ctx, struct dri_drawable *dri_drawable);
+ void (*swapBuffer)(VADriverContextP ctx, struct dri_drawable *dri_drawable);
+ union dri_buffer *(*getRenderingBuffer)(VADriverContextP ctx, struct dri_drawable *dri_drawable);
+ void (*close)(VADriverContextP ctx);
+#endif
+};
+
+Bool isDRI2Connected(VADriverContextP ctx, char **driver_name);
+Bool isDRI1Connected(VADriverContextP ctx, char **driver_name);
+void free_drawable(VADriverContextP ctx, struct dri_drawable* dri_drawable);
+void free_drawable_hashtable(VADriverContextP ctx);
+struct dri_drawable *dri_get_drawable(VADriverContextP ctx, XID drawable);
+void dri_swap_buffer(VADriverContextP ctx, struct dri_drawable *dri_drawable);
+union dri_buffer *dri_get_rendering_buffer(VADriverContextP ctx, struct dri_drawable *dri_drawable);
+
+#endif /* _VA_DRICOMMON_H_ */

Powered by Google App Engine
This is Rietveld 408576698