Matthew Waters
92c243be62
gl/color: pass large value by reference
...
Coverity 1199700
2017-12-09 19:31:36 +00:00
Matthew Waters
6c73fa0b5f
gl/mem: cache the stride/unpack length for upload
2017-12-09 19:31:36 +00:00
Matthew Waters
1ce0c5356f
gl/color: explicitly map the buffers we are copying into
...
Otherwise it may not be downloaded at all.
2017-12-09 19:31:36 +00:00
Matthew Waters
50ff50c10e
gl/color: cache the temporary textures
2017-12-09 19:31:36 +00:00
Matthew Waters
94371dc204
gl/mem: provide defines for tokens not defined in GLES2/ancient platforms
2017-12-09 19:31:36 +00:00
Matthew Waters
7c77c31afd
gl: fixup incorrect number of arguments
2017-12-09 19:31:36 +00:00
Matthew Waters
12ecf507b8
gl: fix incorrect usage of g_return_if_fail
2017-12-09 19:31:36 +00:00
Matthew Waters
30c6efc432
gl/mem: allocate the memory per plane
...
This patch provides the basic infrastructure required for this.
Upload and Download has been ported to this.
Has the nice effect of allowing GstGLMemory to be our
refcounted texture object for any texture type (not just RGBA).
Should not lose any features/video formats.
2017-12-09 19:31:36 +00:00
Matthew Waters
ea2d4cb446
gl/eglimage: #if 0 unused code
2017-12-09 19:31:36 +00:00
Matthew Waters
fba49c3463
gl: add colorconvert object that converts between color spaces/formats
...
Currently used by both upload and download objects separately.
2017-12-09 19:31:36 +00:00
Vincent Penquerc'h
2767aae4e2
gl: pass large structure by const pointer, not value
...
Avoids large pointless memcpy.
Coverity 206236, 206237
2017-12-09 19:31:36 +00:00
Vincent Penquerc'h
07565d0ff7
gl: test for frame NULLness before dereferencing it
...
Coverity 1195172, 1195171
2017-12-09 19:31:36 +00:00
Vincent Penquerc'h
7de81a33ca
gl: fix leaks
...
As the relevant variables are initialized to 0/NULL, we can loop
over the full range and make sure we free partial allocations
when an error happens partway through initialization.
2017-12-09 19:31:36 +00:00
Sebastian Dröge
4ecffcf76b
glimagesink: Create GL context and set up window from the streaming thread
...
gst_gl_context_create() might need to dispatch some operations to the
application's main thread, and calling this in the change_state function
can cause deadlocks.
2017-12-09 19:31:36 +00:00
Tim-Philipp Müller
efeaf7467b
tests: fix gl unit tests for recent API changes
2017-12-09 19:31:35 +00:00
Matthew Waters
a20a5d36e2
gl: pass video info's by reference
2017-12-09 19:31:35 +00:00
Matthew Waters
173b234ed2
gl: fix array initialization
2017-12-09 19:31:35 +00:00
Matthew Waters
394128a4db
glbumper: remove redundant check
2017-12-09 19:31:35 +00:00
Matthew Waters
ff52514714
gl/glx: use the context's display rather than asking for the window's
2017-12-09 19:31:35 +00:00
Matthew Waters
b70069bc61
gl: fix assignment of temporary variables
2017-12-09 19:31:35 +00:00
Matthew Waters
71548893bf
gl: avoid adding a NULL pool to propose allocation
2017-12-09 19:31:35 +00:00
Matthew Waters
790f34c7a6
gl: fix detection of extensions with GL versions < 3
...
Mesa, for example returns valid pointers for glGetIntegerv and
glGetStringi even if the gl version is less than that required for
both those functions to supposedly exist.
https://bugzilla.gnome.org/show_bug.cgi?id=727324
2017-12-09 19:31:35 +00:00
Tim-Philipp Müller
82555e80ba
gl: egl: fix distcheck and out of source build
2017-12-09 19:31:35 +00:00
Rico Tzschichholz
34a4eef1ec
build: Fix make dist
2017-12-09 19:31:35 +00:00
Matthew Waters
6491e4d275
gl: fix out-of-source builds pt2
...
21b897de2f
did this for x11 and wayland.
Do it for the other backends as well.
2017-12-09 19:31:35 +00:00
Julien Isorce
0233939eaa
gl: only set CAPS_FEATURE_MEMORY_EGL_IMAGE on egl platform
2017-12-09 19:31:35 +00:00
Julien Isorce
6614df6478
gl: let the user includes itself our egl headers if needed
...
Forgot to address this change.
https://bugzilla.gnome.org/show_bug.cgi?id=703343
2017-12-09 19:31:35 +00:00
Julien Isorce
c2471aec81
gl: add EGLImage support
...
* picked from old libgstegl:
- GstEGLImageMemory
- GstEGLImageAllocator
- last_buffer management from removed GstEGLImageBufferPool
* add-ons:
- GstEGLImageMemory now old a reference on GstGLContext
so that it can delete the EGLImage and its gltexture source
while having the associated gl context being current.
- add EGLImage support for GstVideoGLTextureUploadMeta which
mainly call EGLImageTargetTexture2D
- GstGLBufferPool now supports GstEGLImageAllocator
- glimagesink / glfilters / etc.. now propose GstEGLImageAllocator
to upstream
https://bugzilla.gnome.org/show_bug.cgi?id=703343
2017-12-09 19:31:35 +00:00
Julien Isorce
cb9521ab05
gl: deploy egl headers in gst/gl/egl instead of gst/gl
...
https://bugzilla.gnome.org/show_bug.cgi?id=703343
2017-12-09 19:31:35 +00:00
Julien Isorce
f55e8b3ea8
gl: remove commented and unsued code in x11 Makefile.am
...
https://bugzilla.gnome.org/show_bug.cgi?id=703343
2017-12-09 19:31:35 +00:00
Julien Isorce
3e3b573503
gl: fix crash if _build_extension_string is not called
...
On GLES2 then (gl->GetIntegerv && gl->GetStringi) is false
regression introduced by cc6df204e2
https://bugzilla.gnome.org/show_bug.cgi?id=703343
2017-12-09 19:31:35 +00:00
Gwenole Beauchesne
14521a89cb
gl: fix out-of-source builds.
...
Always use the locally generated <gst/gl/gstglconfig.h> file.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2017-12-09 19:31:35 +00:00
Matthew Waters
adebb3b7f8
gl/download: add support for the bt709 color matrix
2017-12-09 19:31:35 +00:00
Matthew Waters
ee0c102ac5
gl/upload: add support for the bt709 color matrix
2017-12-09 19:31:35 +00:00
Matthew Waters
0fa966bb3d
gl: remove explicit reference to X_CFLAGS
...
They are in GL_CFLAGS if required
2017-12-09 19:31:35 +00:00
Matthew Waters
16a30a12aa
gl/upload: remove the legacy GL 1.x upload path
...
uploading requires shaders and fbos available in GL2.
2017-12-09 19:31:35 +00:00
Julien Isorce
da24ea1956
gl: fallback to glGetString if GL_NUM_EXTENSIONS fails
...
Need it on MacOSX 10.7.5
2017-12-09 19:31:35 +00:00
Matthew Waters
3c27e588c3
gl: and update the Makefile
2017-12-09 19:31:35 +00:00
Matthew Waters
45c71eb3e1
gl: reorganize the extension headers by function rather than api
2017-12-09 19:31:35 +00:00
Matthew Waters
350981b14c
gl/win32: use the correct include and gst-indent
2017-12-09 19:31:35 +00:00
Wang Xin-yu (王昕宇)
369bee2031
gl: use wglCreateContextAttribsARB to create share context
...
https://bugzilla.gnome.org/show_bug.cgi?id=726494
2017-12-09 19:31:35 +00:00
Matthew Waters
d3a823c459
gl/mixer: fix download check for failure
2017-12-09 19:31:35 +00:00
Matthew Waters
a9070713a2
gl: silence a critical if upstream does not provide us with meta params
2017-12-09 19:31:35 +00:00
Julien Isorce
19d138601b
gl: silence warnings building for RPI related to 'vcos_*'
...
Similar than 1190a79b19
2017-12-09 19:31:34 +00:00
Julien Isorce
b30d15d4b8
gl: keep only one occurence of '#include <EGL/egl.h>'
...
To simply maintainance if we need to put specific includes around it.
2017-12-09 19:31:34 +00:00
Руслан Ижбулатов
8c2c3d8dbf
gl: fix the use of always-defined macros
...
After 2a0f0399ae
GST_GL_* macros are always
defined to 0 or 1. Don't use #ifdef ... or #if defined() on them.
https://bugzilla.gnome.org/show_bug.cgi?id=726591
2017-12-09 19:31:34 +00:00
Matthew Waters
4a28b62d5a
gl: add GModule libs for win32
2017-12-09 19:31:34 +00:00
Matthew Waters
9b5a5a3c37
gl: only link against gstegl if we are using egl
...
Assuming if we are building egl that the egl library is built
2017-12-09 19:31:34 +00:00
Matthew Waters
f98fee49c2
gl: add path of the gstegl library
...
Temporary until we merge the two libraries
2017-12-09 19:31:34 +00:00
Matthew Waters
891f7e2ce8
Revert "gl: add dep on gstegl"
...
It was already in _LIBADD
This reverts commit b10a353080
.
2017-12-09 19:31:34 +00:00