difference between the two
https://bugzilla.gnome.org/show_bug.cgi?id=783521
+Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
---
docs/libs/gst-plugins-base-libs-sections.txt | 3 +-
- gst-libs/gst/gl/egl/gsteglimage.c | 238 ++++++++++++++++++++++++++-
+ gst-libs/gst/gl/egl/gsteglimage.c | 232 ++++++++++++++++++-
gst-libs/gst/gl/egl/gsteglimage.h | 8 +-
- 3 files changed, 239 insertions(+), 10 deletions(-)
+ 3 files changed, 233 insertions(+), 10 deletions(-)
diff --git a/docs/libs/gst-plugins-base-libs-sections.txt b/docs/libs/gst-plugins-base-libs-sections.txt
index c2c528a76..3c4dfdf61 100644
gst_egl_image_get_image
gst_egl_image_new_wrapped
diff --git a/gst-libs/gst/gl/egl/gsteglimage.c b/gst-libs/gst/gl/egl/gsteglimage.c
-index fdd603807..9f4a018fc 100644
+index f12baad8d..d39b5ef83 100644
--- a/gst-libs/gst/gl/egl/gsteglimage.c
+++ b/gst-libs/gst/gl/egl/gsteglimage.c
@@ -29,9 +29,9 @@
*/
#ifdef HAVE_CONFIG_H
-@@ -344,12 +344,12 @@ gst_egl_image_from_texture (GstGLContext * context, GstGLMemory * gl_mem,
+@@ -348,12 +348,12 @@ gst_egl_image_from_texture (GstGLContext * context, GstGLMemory * gl_mem,
/*
* GStreamer format descriptions differ from DRM formats as the representation
* is relative to a register, hence in native endianness. To reduce the driver
{
GstVideoFormat format = GST_VIDEO_INFO_FORMAT (info);
#if G_BYTE_ORDER == G_LITTLE_ENDIAN
-@@ -410,19 +410,113 @@ _drm_fourcc_from_info (GstVideoInfo * info, int plane)
+@@ -414,19 +414,113 @@ _drm_fourcc_from_info (GstVideoInfo * info, int plane)
return -1;
}
}
gint dmabuf, GstVideoInfo * in_info, gint plane, gsize offset)
{
GstGLFormat format;
-@@ -432,7 +526,7 @@ gst_egl_image_from_dmabuf (GstGLContext * context,
+@@ -436,7 +530,7 @@ gst_egl_image_from_dmabuf (GstGLContext * context,
gint fourcc;
gint i;
format = gst_gl_format_from_video_info (context, in_info, plane);
GST_DEBUG ("fourcc %.4s (%d) plane %d (%dx%d)",
-@@ -470,6 +564,134 @@ gst_egl_image_from_dmabuf (GstGLContext * context,
+@@ -474,6 +568,128 @@ gst_egl_image_from_dmabuf (GstGLContext * context,
(GstEGLImageDestroyNotify) _destroy_egl_image);
}
+
+ static const EGLint egl_dmabuf_plane_fd_attr[MAX_NUM_DMA_BUF_PLANES] = {
+ EGL_DMA_BUF_PLANE0_FD_EXT,
-+ EGL_DMA_BUF_PLANE1_FD_EXT,
-+ EGL_DMA_BUF_PLANE2_FD_EXT,
+ };
+ static const EGLint egl_dmabuf_plane_offset_attr[MAX_NUM_DMA_BUF_PLANES] = {
+ EGL_DMA_BUF_PLANE0_OFFSET_EXT,
-+ EGL_DMA_BUF_PLANE1_OFFSET_EXT,
-+ EGL_DMA_BUF_PLANE2_OFFSET_EXT,
+ };
+ static const EGLint egl_dmabuf_plane_pitch_attr[MAX_NUM_DMA_BUF_PLANES] = {
+ EGL_DMA_BUF_PLANE0_PITCH_EXT,
-+ EGL_DMA_BUF_PLANE1_PITCH_EXT,
-+ EGL_DMA_BUF_PLANE2_PITCH_EXT,
+ };
+
+ /* Make sure we never set up more than MAX_NUM_DMA_BUF_PLANES planes */