gstreamer/subprojects/gst-plugins-base/gst-libs/gst/gl
He Junyan 21faad5eca glupload: enable drm kind caps in glupload plugin for DMA buf
Most of the time, the RGB kind formats are OpenGL native supported
format which has only one plane. They can be imported at one shot
using no matter DIRECT or INDIRECT mode.
While YUV kind formats which have multi planes have two ways to import.
They can be DIRECT imported, which requires GL_OES_EGL_image_external
extension. The output format should be RGBA and TARGET should be set
as OES after imported. The other way, they can be INDIRECT imported,
which makes each plane as a texture. In this mode, the imported textures
have different fourcc from the original format. For example, the NV12
format can be imported as a R8 texture for the first plane and RG88
texture for the second plane. The output TARGET should be sets as 2D
in this mode.

When converting sink caps to src caps, we first filter the feature of
"video/x-raw(memory:DMABuf)" and system memory. Then Based on the
external_only flag (INDIRECT mode does not care while DIRECT mode cares),
we transform the drm-format into the gst video format.

When converting src caps into sink caps, we first filter the correct
TARGET(INDIRECT mode contains 2D only while DIRECT mode contains 2D,
OES or both of them) gstructure. Then Based on the include_external flag
(INDIRECT mode always true while DIRECT mode depends on TARGET), we
transform the gst video format into drm-format.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3524>
2023-08-03 20:58:23 +00:00
..
android Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
cocoa macos: Set activation policy in osxvideosink and glimagesink 2023-05-12 01:14:44 +02:00
dispmanx Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
eagl gl/eagl: ignore OpenGLES deprecation on ios 2023-07-27 13:05:37 +00:00
egl gl: add a method to check whether DMA modifier is supported in EGL 2023-08-03 20:58:23 +00:00
gbm libs: gl: drop use of GSlice 2023-01-24 15:25:06 +00:00
glprototypes Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
utils Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
viv-fb gl: provide a pkg-config/gir file for the viv-fb backend 2023-07-12 21:35:55 +10:00
wayland gst-plugins-base: gl: wayland: cleanup on close 2023-04-06 08:09:36 +02:00
wgl glcontext_wgl: fix missing unref 2023-04-11 20:05:17 +00:00
win32 vulkan: gl: change symbols to static 2023-03-23 00:56:04 +00:00
winrt meson: Do hard build error for some MSVC warnings 2022-02-16 17:03:29 +00:00
x11 gstglwindow_x11.c: Fix colormap leak 2023-02-22 16:29:06 +00:00
gl-prelude.h gl: Add GST_GL_DEPRECATED 2022-02-21 21:26:43 +00:00
gl.h gl/mixer: make fbo instance field private and provide accessor function 2023-05-18 19:34:14 +00:00
gl_mkenum.py Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstgl_enums.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstgl_fwd.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglapi.c Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglapi.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglbasefilter.c glbasefilter: use gst_display_ensure_context 2023-02-06 16:15:46 +01:00
gstglbasefilter.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglbasememory.c gl: Add/fix various annotations 2022-10-18 08:56:58 +00:00
gstglbasememory.h gl: Add/fix various annotations 2022-10-18 08:56:58 +00:00
gstglbasemixer.c gl: update docs for mixer move 2023-05-18 19:34:15 +00:00
gstglbasemixer.h gl: update docs for mixer move 2023-05-18 19:34:15 +00:00
gstglbasesrc.c glbasesrc: Reverse order of error/debug messages 2023-04-11 12:28:27 +01:00
gstglbasesrc.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglbuffer.c gl: Mark GL memory GType functions as deprecated 2022-02-21 21:26:43 +00:00
gstglbuffer.h gl: Mark GL memory GType functions as deprecated 2022-02-21 21:26:43 +00:00
gstglbufferpool.c gl: Add/fix various annotations 2022-10-18 08:56:58 +00:00
gstglbufferpool.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglcolorconvert.c glcolorconvert: Fix syntax for GLSL shaders 2023-07-31 17:33:20 +05:30
gstglcolorconvert.h glcolorconvert: expose the swizzle glsl functions 2023-07-28 03:29:09 +00:00
gstglconfig.h.meson Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglcontext.c gldisplay: Mark gst_gl_display_create_context() other_context parameter as nullable 2023-01-27 16:22:06 +02:00
gstglcontext.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglcontext_private.h gl/context: disable timer queries for ARM Mali-G52 2022-05-12 00:22:21 +00:00
gstglcontextconfig.c docs/glcontextconfig: rename title to not be GstGLContext 2022-10-19 13:01:06 +00:00
gstglcontextconfig.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglcontextquirks.c gl/context: disable timer queries for ARM Mali-G52 2022-05-12 00:22:21 +00:00
gstgldebug.c Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstgldebug.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstgldisplay.c gldisplay: Remove unused code 2023-03-01 08:23:37 +00:00
gstgldisplay.h gldisplay: Add gst_gl_display_ensure_context 2023-02-06 16:14:07 +01:00
gstglfeature.c Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglfeature.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglfeature_private.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglfilter.c glfilter: add parent meta to output buffer for input buffer 2023-06-13 07:53:49 +00:00
gstglfilter.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglformat.c gl: expose calculating swizzle indices to/from RGBA/YUVA 2023-07-28 03:29:09 +00:00
gstglformat.h gl: expose calculating swizzle indices to/from RGBA/YUVA 2023-07-28 03:29:09 +00:00
gstglframebuffer.c Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglframebuffer.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglfuncs.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglmemory.c video: Add arbitrary tile dimensions support 2022-11-18 22:59:29 +00:00
gstglmemory.h opengl: Add NV12_4L4 conversion support 2022-05-02 19:10:43 +00:00
gstglmemorypbo.c gl: Mark GL memory GType functions as deprecated 2022-02-21 21:26:43 +00:00
gstglmemorypbo.h gl: Mark GL memory GType functions as deprecated 2022-02-21 21:26:43 +00:00
gstglmixer.c gl: update docs for mixer move 2023-05-18 19:34:15 +00:00
gstglmixer.h gl: update docs for mixer move 2023-05-18 19:34:15 +00:00
gstgloverlaycompositor.c libs: gl: drop use of GSlice 2023-01-24 15:25:06 +00:00
gstgloverlaycompositor.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglpixelformat.c Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglquery.c Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglquery.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglrenderbuffer.c gl: Mark GL memory GType functions as deprecated 2022-02-21 21:26:43 +00:00
gstglrenderbuffer.h gl: Mark GL memory GType functions as deprecated 2022-02-21 21:26:43 +00:00
gstglshader.c Fix various warnings from gobject-introspection 2022-10-25 09:45:25 +03:00
gstglshader.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglshaderstrings.c gl: Add #ifndef GST_REMOVE_DEPRECATED for existing deprecated API 2022-02-21 21:26:43 +00:00
gstglshaderstrings.h gl: Replace existing G_DEPRECATED_FOR usage with GST_GL_DEPRECATED_FOR 2022-02-21 21:26:43 +00:00
gstglsl.c gl: Add/fix various annotations 2022-10-18 08:56:58 +00:00
gstglsl.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglsl_private.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglslstage.c Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglslstage.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglsyncmeta.c Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglsyncmeta.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglupload.c glupload: enable drm kind caps in glupload plugin for DMA buf 2023-08-03 20:58:23 +00:00
gstglupload.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglutils.c video: Add arbitrary tile dimensions support 2022-11-18 22:59:29 +00:00
gstglutils.h glutils: Export affine transformation functions for gtkglsink 2021-10-12 20:27:34 +00:00
gstglutils_private.h glutils: Export affine transformation functions for gtkglsink 2021-10-12 20:27:34 +00:00
gstglviewconvert.c gl: Add/fix various annotations 2022-10-18 08:56:58 +00:00
gstglviewconvert.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglwindow.c libs: gl: drop use of GSlice 2023-01-24 15:25:06 +00:00
gstglwindow.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
gstglwindow_private.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
meson.build gl: provide a pkg-config/gir file for the viv-fb backend 2023-07-12 21:35:55 +10:00