From 8f5399b15660cb096c20f1900dee097649438c60 Mon Sep 17 00:00:00 2001 From: Haihao Xiang Date: Fri, 2 Jul 2021 16:22:04 +0800 Subject: [PATCH] eglimage: fix Y412_LE DMABuf import support This fixed the error below: GST_GL_PLATFORM=egl gst-launch-1.0 videotestsrc ! msdkvpp ! "video/x-raw(memory:DMABuf),format=Y412_LE" ! glimagesink 0:00:00.063737691 576978 0x557c11266920 ERROR gleglimage gsteglimage.c:577:_drm_rgba_fourcc_from_info: Unsupported format for DMABuf. Part-of: --- .../gst-plugins-base/gst-libs/gst/gl/egl/gsteglimage.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/subprojects/gst-plugins-base/gst-libs/gst/gl/egl/gsteglimage.c b/subprojects/gst-plugins-base/gst-libs/gst/gl/egl/gsteglimage.c index ca75cbb22e..cee66acf4b 100644 --- a/subprojects/gst-plugins-base/gst-libs/gst/gl/egl/gsteglimage.c +++ b/subprojects/gst-plugins-base/gst-libs/gst/gl/egl/gsteglimage.c @@ -99,6 +99,10 @@ #define DRM_FORMAT_RGBA1010102 fourcc_code('R', 'A', '3', '0') #endif +#ifndef DRM_FORMAT_ABGR16161616 +#define DRM_FORMAT_ABGR16161616 fourcc_code('A', 'B', '4', '8') +#endif + #ifndef EGL_LINUX_DMA_BUF_EXT #define EGL_LINUX_DMA_BUF_EXT 0x3270 #endif @@ -577,6 +581,10 @@ _drm_rgba_fourcc_from_info (const GstVideoInfo * info, int plane, *out_format = GST_GL_RGB10_A2; return rgb10a2_fourcc; + case GST_VIDEO_FORMAT_Y412_LE: + *out_format = GST_GL_RGBA16; + return DRM_FORMAT_ABGR16161616; + default: GST_ERROR ("Unsupported format for DMABuf."); return -1;