gstreamer/gst-libs/gst/gl
Daniel Almeida 195981767c gl: add support for A420 conversion
A420 is a four planar format similar to I420 but with an extra buffer
for alpha values.

A common use of the gl stack is for GPU format conversions using
shaders, in which case one can use glupload, glcolorconvert and
gldownload elements to upload their buffer to the GPU context, perform
the conversion on the GPU itself and then retrieve the data to CPU
context.

A420 was not supported. This patch adds said support mainly by adding
the corresponding shader to perform the conversion and updating the
supported caps.

Both A420->RGBA and RGBA->A420 conversions are supported.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1153>
2021-05-20 15:06:26 +00:00
..
android Remove autotools build system 2019-10-13 14:15:43 +01:00
cocoa glcontext: add support for influencing the backing configuration 2021-05-13 16:44:28 +10:00
dispmanx gl/dispmanx: assign render_rect to window before window_resize 2021-03-02 09:13:25 +01:00
eagl gl/display: provide a gst_gl_display_new_with_type() 2021-05-19 10:15:56 +00:00
egl video: Pass component index not plane index 2021-05-19 15:17:56 +00:00
gbm gst: don't use volatile to mean atomic 2021-03-19 04:20:19 +00:00
glprototypes gl: Fix prototype of glGetSynciv() 2020-11-03 16:40:38 +02:00
utils gl: Fix compiler warning about unused const variable with gcc 6 2017-12-09 19:32:17 +00:00
viv-fb Remove autotools build system 2019-10-13 14:15:43 +01:00
wayland gl/wayland: provide a dummy global_remove function 2021-03-22 14:05:27 +11:00
wgl glcontext: add support for influencing the backing configuration 2021-05-13 16:44:28 +10:00
win32 glwindow/win32: Fix possible deadlock around key/mouse event handling 2020-07-08 13:41:07 +00:00
winrt glwindow/winrt: Increase timeout value to 15 seconds 2020-07-30 21:05:54 +09:00
x11 glcontext: add support for influencing the backing configuration 2021-05-13 16:44:28 +10:00
gl-prelude.h libs: fix API export/import and 'inconsistent linkage' on MSVC 2018-09-24 08:45:34 +01:00
gl.h glcontext: add support for influencing the backing configuration 2021-05-13 16:44:28 +10:00
gl_mkenum.py Fix build issue on MinGW64 2021-04-04 21:18:59 +07:00
gstgl_enums.h gl: document some GL caps specifics 2021-01-05 15:03:54 +00:00
gstgl_fwd.h gl: move each gl platform specific API to its own gir 2020-08-06 04:09:09 +00:00
gstglapi.c gl/api: improve the to/from string for GstGLAPI/GstGLPlatform 2021-05-13 15:35:23 +10:00
gstglapi.h gl: GstGLAPI should be gst_gl_api_ in lower-case 2018-10-04 14:50:43 +03:00
gstglbasefilter.c glbasefilter: Need to check the display before lock it. 2020-12-04 00:23:38 +08:00
gstglbasefilter.h glbasefilter: add support for changing the display 2020-03-03 02:11:52 +00:00
gstglbasememory.c gst: don't use volatile to mean atomic 2021-03-19 04:20:19 +00:00
gstglbasememory.h gl,video: Make ptrs to VideoInfo and (GL)AllocationParams immutable 2021-01-14 11:53:10 +00:00
gstglbasesrc.c gl: Add since tags for new glbasesrc base class 2020-04-30 18:00:19 +01:00
gstglbasesrc.h gl: Add since tags for new glbasesrc base class 2020-04-30 18:00:19 +01:00
gstglbuffer.c gst: don't use volatile to mean atomic 2021-03-19 04:20:19 +00:00
gstglbuffer.h gl: fix up Since markers for newly-added _get_type() functions 2021-04-11 23:50:35 +01:00
gstglbufferpool.c gl/bufferpool: add api for retrieving the configure gl allocation params 2021-04-28 12:44:38 +10:00
gstglbufferpool.h gl/bufferpool: add api for retrieving the configure gl allocation params 2021-04-28 12:44:38 +10:00
gstglcolorconvert.c gl: add support for A420 conversion 2021-05-20 15:06:26 +00:00
gstglcolorconvert.h gl: add support for A420 conversion 2021-05-20 15:06:26 +00:00
gstglconfig.h.meson gstgl: Add a new window type for WinRT 2019-08-28 02:25:11 +05:30
gstglcontext.c gl/context: move egl creation lower in priority on _new() 2021-05-19 10:15:56 +00:00
gstglcontext.h glcontext: add support for influencing the backing configuration 2021-05-13 16:44:28 +10:00
gstglcontext_private.h glcontext: add support for influencing the backing configuration 2021-05-13 16:44:28 +10:00
gstglcontextconfig.c glcontext: add support for influencing the backing configuration 2021-05-13 16:44:28 +10:00
gstglcontextconfig.h glcontext: add support for influencing the backing configuration 2021-05-13 16:44:28 +10:00
gstgldebug.c gst: don't use volatile to mean atomic 2021-03-19 04:20:19 +00:00
gstgldebug.h gl/docs: add to new docs system 2019-05-21 01:49:48 +00:00
gstgldisplay.c gl/display: provide a gst_gl_display_new_with_type() 2021-05-19 10:15:56 +00:00
gstgldisplay.h gl/display: provide a gst_gl_display_new_with_type() 2021-05-19 10:15:56 +00:00
gstglfeature.c gst: don't use volatile to mean atomic 2021-03-19 04:20:19 +00:00
gstglfeature.h gl: GST_EXPORT -> GST_GL_API 2018-03-13 12:10:29 +00:00
gstglfeature_private.h glfeature: move internal functions into a private header 2017-12-09 19:32:23 +00:00
gstglfilter.c gl: workaround gir warning 2020-05-19 10:37:59 +02:00
gstglfilter.h gl: workaround gir warning 2020-05-19 10:37:59 +02:00
gstglformat.c gl: add support for A420 conversion 2021-05-20 15:06:26 +00:00
gstglformat.h gl,video: Make ptrs to VideoInfo and (GL)AllocationParams immutable 2021-01-14 11:53:10 +00:00
gstglframebuffer.c gl/framebuffer: expand documentation on valid usage 2021-05-12 16:51:25 +10:00
gstglframebuffer.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 20:31:09 -04:00
gstglfuncs.h opengl: Silence macOS OpenGL deprecations 2021-04-24 22:26:36 -04:00
gstglmemory.c video: Pass component index not plane index 2021-05-19 15:17:56 +00:00
gstglmemory.h gl: add support for A420 conversion 2021-05-20 15:06:26 +00:00
gstglmemorypbo.c gst: don't use volatile to mean atomic 2021-03-19 04:20:19 +00:00
gstglmemorypbo.h gl: fix up Since markers for newly-added _get_type() functions 2021-04-11 23:50:35 +01:00
gstgloverlaycompositor.c gloverlaycompositor: fix crash if buffer doesn't have video meta 2019-05-14 17:12:06 +00:00
gstgloverlaycompositor.h gl/docs: add to new docs system 2019-05-21 01:49:48 +00:00
gstglpixelformat.c glfilter: rewrite subclasses for filter_texture() occuring on GL thread 2017-12-09 19:32:21 +00:00
gstglquery.c gst: don't use volatile to mean atomic 2021-03-19 04:20:19 +00:00
gstglquery.h gl/docs: add to new docs system 2019-05-21 01:49:48 +00:00
gstglrenderbuffer.c gst: don't use volatile to mean atomic 2021-03-19 04:20:19 +00:00
gstglrenderbuffer.h gl: fix up Since markers for newly-added _get_type() functions 2021-04-11 23:50:35 +01:00
gstglshader.c remove various useless linefeed in logs 2019-12-11 10:07:12 +01:00
gstglshader.h gl: GST_EXPORT -> GST_GL_API 2018-03-13 12:10:29 +00:00
gstglshaderstrings.c glshader: fix default external-oes shaders 2019-05-07 18:43:49 +10:00
gstglshaderstrings.h gl: try to use highp precision where supported 2019-02-28 17:26:32 +11:00
gstglsl.c gst: don't use volatile to mean atomic 2021-03-19 04:20:19 +00:00
gstglsl.h Pass the code through codespell 2019-08-30 13:05:36 +00:00
gstglsl_private.h gl: do not include GL headers in public gstgl headers 2017-12-09 19:32:29 +00:00
gstglslstage.c glslstage: delete shader on finalize of stage 2020-10-21 15:28:09 +02:00
gstglslstage.h gl/docs: add to new docs system 2019-05-21 01:49:48 +00:00
gstglsyncmeta.c gst: don't use volatile to mean atomic 2021-03-19 04:20:19 +00:00
gstglsyncmeta.h gl: GST_EXPORT -> GST_GL_API 2018-03-13 12:10:29 +00:00
gstglupload.c glupload: add support for uploading memory:NVMM buffers 2021-04-28 12:42:15 +10:00
gstglupload.h libs: gl: silence gir compiler 2020-05-29 13:35:56 +02:00
gstglutils.c video: Pass component index not plane index 2021-05-19 15:17:56 +00:00
gstglutils.h gl,video: Make ptrs to VideoInfo and (GL)AllocationParams immutable 2021-01-14 11:53:10 +00:00
gstglutils_private.h glutils: fix matrix operations everywhere 2017-12-09 19:32:30 +00:00
gstglviewconvert.c gl,video: Make ptrs to VideoInfo and (GL)AllocationParams immutable 2021-01-14 11:53:10 +00:00
gstglviewconvert.h gl/docs: add to new docs system 2019-05-21 01:49:48 +00:00
gstglwindow.c gst: don't use volatile to mean atomic 2021-03-19 04:20:19 +00:00
gstglwindow.h gl/navigation: Scroll events dispatch support 2020-03-19 09:59:47 +00:00
gstglwindow_private.h gl: add missing new header files 2017-12-09 19:32:29 +00:00
meson.build meson: fix up wrong escaping of variables in gl and plugins-base .pc file 2021-05-17 14:49:38 +00:00