summaryrefslogtreecommitdiff
path: root/gst/vaapi/gstvaapivideomemory.h
diff options
context:
space:
mode:
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>2015-01-26 18:30:47 +0100
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>2015-01-28 17:36:21 +0100
commit82fc406dfda4d477396c1396d0cf2d03b4417d6a (patch)
treec2c1a417fa10b7307227d5fd323579367db97faa /gst/vaapi/gstvaapivideomemory.h
parent667749c67e86413ebbe5e51647df6603a3f2dc26 (diff)
plugins: add support for dma_buf exports (v4l2src).
Allow v4l2src element to connected to vaapipostproc or vaapisink when "io-mode" is set to "dmabuf-import". In practice, this is a more likely operational mode with uvcvideo. Supporting v4lsrc with "io-mode" set to "dmabuf" could work, but with more demanding driver or kernel reqs. Note: with GStreamer 1.4, v4l2src (gst-plugins-good) needs to be built with --without-libv4l2. https://bugzilla.gnome.org/show_bug.cgi?id=743635
Diffstat (limited to 'gst/vaapi/gstvaapivideomemory.h')
-rw-r--r--gst/vaapi/gstvaapivideomemory.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/gst/vaapi/gstvaapivideomemory.h b/gst/vaapi/gstvaapivideomemory.h
index ba29564a..d3c6151a 100644
--- a/gst/vaapi/gstvaapivideomemory.h
+++ b/gst/vaapi/gstvaapivideomemory.h
@@ -28,6 +28,9 @@
#include <gst/vaapi/gstvaapidisplay.h>
#include <gst/vaapi/gstvaapivideopool.h>
#include "gstvaapivideometa.h"
+#if GST_CHECK_VERSION(1,1,0)
+#include <gst/allocators/allocators.h>
+#endif
G_BEGIN_DECLS
@@ -114,6 +117,10 @@ struct _GstVaapiVideoMemory
};
G_GNUC_INTERNAL
+GQuark
+gst_vaapi_video_memory_quark_get (void);
+
+G_GNUC_INTERNAL
GstMemory *
gst_vaapi_video_memory_new (GstAllocator * allocator, GstVaapiVideoMeta * meta);
@@ -189,6 +196,32 @@ GstAllocator *
gst_vaapi_video_allocator_new (GstVaapiDisplay * display,
const GstVideoInfo * vip, guint flags);
+/* ------------------------------------------------------------------------ */
+/* --- GstVaapiDmaBufMemory --- */
+/* ------------------------------------------------------------------------ */
+
+G_GNUC_INTERNAL
+GstMemory *
+gst_vaapi_dmabuf_memory_new (GstAllocator * allocator,
+ GstVaapiVideoMeta * meta);
+
+/* ------------------------------------------------------------------------ */
+/* --- GstVaapiDmaBufAllocator --- */
+/* ------------------------------------------------------------------------ */
+
+G_GNUC_INTERNAL
+GstAllocator *
+gst_vaapi_dmabuf_allocator_new (GstVaapiDisplay * display,
+ const GstVideoInfo * vip, guint flags);
+
+const GstVideoInfo *
+gst_allocator_get_vaapi_video_info (GstAllocator * allocator,
+ guint * out_flags_ptr);
+
+gboolean
+gst_allocator_set_vaapi_video_info (GstAllocator * allocator,
+ const GstVideoInfo * vip, guint flags);
+
G_END_DECLS
#endif /* GST_VAAPI_VIDEO_MEMORY_H */