diff options
author | Gwenole Beauchesne <gwenole.beauchesne@intel.com> | 2015-01-26 18:30:47 +0100 |
---|---|---|
committer | Gwenole Beauchesne <gwenole.beauchesne@intel.com> | 2015-01-28 17:36:21 +0100 |
commit | 82fc406dfda4d477396c1396d0cf2d03b4417d6a (patch) | |
tree | c2c1a417fa10b7307227d5fd323579367db97faa /gst/vaapi/gstvaapivideomemory.h | |
parent | 667749c67e86413ebbe5e51647df6603a3f2dc26 (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.h | 33 |
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 */ |