Julien Isorce
e70ed87aa8
[400/906] gstgldisplay: no need the I420 work around if ATI Mobility
...
fix #588653
2017-12-09 19:31:22 +00:00
Pratheesh Gangadhar
f93bb87e77
[394/906] gstgldisplay: use of GL_DEPTH_COMPONENT16 if OpenGL ES 2.0
...
glRenderbufferStorage does not accept GL_DEPTH_COMPONENT in
OpenGL ES 2.0.
Fix bug #593786
2017-12-09 19:31:22 +00:00
Julien Isorce
b85ffef956
[387/906] glmixer: add a glmixer base element
...
glmixer can be seen as a glfilter except it handles N requested
sink pads.
Each sink pad and the src pad are video/x-raw-gl.
glmixer is responsible for managing different framerates from inputs.
It uses OpenGL context sharing. It means that each input is in its
own OpenGL context shared together and shared with the OpenGL context
of the ouput gl chain.
Also add a glmosaic which is an example of implementation of glmixer.
For now glmosaic is a cube but it will be fixed in the next commits.
For now the glmixer has some weird behaviours in some configurations
but it will be improved in the next commits.
The autotools builds is temporarly broken since those changes
have been made on win32.
2017-12-09 19:31:22 +00:00
Stefan Kost
2b9ff50feb
[384/906] build: use <stdio.h> / "stdio.h"
2017-12-09 19:31:22 +00:00
Stefan Kost
c218748bc2
[383/906] build: include <stdio.h> when using printf & co.
2017-12-09 19:31:22 +00:00
Julien Isorce
8f6927c70a
[382/906] ES2.0: remove warnings
...
Partially fix #593786
2017-12-09 19:31:22 +00:00
Julien Isorce
95dbe51fef
[378/906] gldisplay: avoid to request gl thread when deleting a texture
...
A texture is not destroyed when when we are done with it.
This texture is just added to the texture pool in order to be
re-used. In this case no OpenGL code is executed so we do not need to
request gl thread.
2017-12-09 19:31:22 +00:00
Julien Isorce
fa41020ee4
[377/906] gldisplay: avoid to request gl thread when generating a texture
...
Thanks to the texture pool the gl textures are re-used.
When re-using one, no opengl code is executed so do not need
to request gl thread.
2017-12-09 19:31:22 +00:00
Julien Isorce
8bed6a5e85
[369/906] define missing glew macro on older versions
2017-12-09 19:31:22 +00:00
Jan Schmidt
8884cfefa8
[358/906] gstgldisplay: Close a small race starting the display thread
...
Take the display lock before signalling the create-context cond
to ensure the caller has dropped the lock and is therefore listening
for the signal.
2017-12-09 19:31:22 +00:00
Jan Schmidt
3fbe0f0a98
[352/906] fix typo
...
Change GST_GL_DISPLAY_PROJECTION_PERSPECIVE to
GST_GL_DISPLAY_PROJECTION_PERSPECTIVE.
Re-indent a couple of files that needed it.
2017-12-09 19:31:22 +00:00
Julien Isorce
de9f763bff
[337/906] Improve cluttershare example
...
Use clutter_threads_API.
When just using glupload from rgb, we have to be sure that
the upload texture is not in use in our gst gl context.
2017-12-09 19:31:21 +00:00
Julien Isorce
f631cf4976
[334/906] [win32/winCE] fix some pointer cast warnings with mingw
...
And turn off deprecated Wp64 msvc compiler option.
2017-12-09 19:31:21 +00:00
Julien Isorce
d43fdd3daf
[333/906] add force-aspect-ratio support
2017-12-09 19:31:21 +00:00
Julien Isorce
2eb9cb551c
[330/906] Can now share textures with an external gl context
...
The external opengl context must be specify when creating
our OpenGL context (glx) or just after (wgl).
When calling glXCreateContext or wglShareLists, the
external opengl context must not be current.
Then our gl context can be current in the gl thread while
the external gl context is current in an other thread.
See tests/examples/clutter/cluttershare.c
2017-12-09 19:31:21 +00:00
Julien
095be23366
[327/906] fix init FBO's texture attachment on ES 2.0
2017-12-09 19:31:21 +00:00
Julien Isorce
ad8b227ff7
[322/906] [download YUY2/UYVY] fix a regression
...
The call to glLoadIdentity was removed by mistake during
OpenGL ES 2.0 integration.
2017-12-09 19:31:21 +00:00
Julien Isorce
61a8f34442
[321/906] add OpenGL ES 2.x support.
...
In OpenGL 2.x for Embedded System, a lot of basic scene/draw functions
have been removed. It means that everything is made using vertex and
fragment shaders.
I have also added a gstglwindow backend for winCE that uses EGL
(Native Platform Graphics Intercace) (which is a full part of
OpenGL ES specification). It remove the use of wgl/glx functions.
2017-12-09 19:31:21 +00:00
David Schleef
2e2213fbd7
[310/906] Global reindent
...
Indent parameters:
INDENT_PARAMETERS="--braces-on-if-line \
--case-brace-indentation0 \
--case-indentation2 \
--braces-after-struct-decl-line \
--line-length80 \
--no-tabs \
--cuddle-else \
--dont-line-up-parentheses \
--honour-newlines \
--continuation-indentation4 \
--tab-size8 \
--indent-level2"
2017-12-09 19:31:21 +00:00
Julien Isorce
c060a8896d
[301/906] depends on libpng instead of gdk_pixbuf
2017-12-09 19:31:21 +00:00
David Schleef
f0b62d760f
[298/906] Revert "Fix indention"
...
This reverts commit 96e4ab18c2cf9876f6c031b9aba6282d0bd45a93.
You should have asked first. And you would have been told "no",
because it causes people on development branches to do a huge
amount of extra work.
2017-12-09 19:31:21 +00:00
Sebastian Dröge
809c2ec04c
[295/906] Fix indention
2017-12-09 19:31:21 +00:00
David Schleef
71db1285d8
[291/906] Add check for GLEW_EXT_framebuffer_object
2017-12-09 19:31:20 +00:00
Julien Isorce
e184ad8a58
[288/906] add more debug ouputs about GLSL and mesa
2017-12-09 19:31:20 +00:00
Julien Isorce
0867343017
[284/906] workaround about the ATI shader compiler on linux (setlocale)
2017-12-09 19:31:20 +00:00
Julien Isorce
a50b222367
[281/906] Make cube example work on x11. Finish TODO task 9.
2017-12-09 19:31:20 +00:00
Julien Isorce
e1fd4232ad
[280/906] Remove set_visible, because it's now automatically done when the first post redisplay comes.
2017-12-09 19:31:20 +00:00
Julien Isorce
312d0f588a
[276/906] better deal with last pending custom cb and destroy_context_cb
2017-12-09 19:31:20 +00:00
Julien Isorce
128315ae60
[275/906] Make sure the gl ressoures are destroyed before to destroy gl window
2017-12-09 19:31:20 +00:00
Julien Isorce
b19684bbd0
[274/906] add some other debug outputs and checks
2017-12-09 19:31:20 +00:00
Julien Isorce
80efa96e52
[266/906] secure close when clicking on the cross
2017-12-09 19:31:20 +00:00
Julien Isorce
baedf3a65b
[260/906] try to make XSendEvent blocker (as win32 SendMessage is)
2017-12-09 19:31:19 +00:00
Julien Isorce
cb83e88c0c
[259/906] continue x implementation (but still not tested)
2017-12-09 19:31:19 +00:00
Julien Isorce
da3c0fd570
[257/906] begin gstglwindow_x11.c implementation
2017-12-09 19:31:19 +00:00
Julien Isorce
85fa075eae
[255/906] fix window closure when using gst xoverlay interface
2017-12-09 19:31:19 +00:00
Julien Isorce
c7ca0d5c2f
[253/906] win32: re-implement supports for gst xoverlay interface, on this branch
2017-12-09 19:31:19 +00:00
Julien Isorce
f9756b85d2
[252/906] avoid a dead lock on window closure
2017-12-09 19:31:19 +00:00
Julien Isorce
fc9479d289
[251/906] Properly clean OpenGL contexts
2017-12-09 19:31:19 +00:00
Julien Isorce
a6fdb20154
[250/906] win32: basic stuffs are working now on this branch with this new deep design (gstglwindow)
2017-12-09 19:31:19 +00:00
Julien Isorce
c4c9897f16
[249/906] begin GstGLWindow in order to totally remove gstfreeglut
2017-12-09 19:31:19 +00:00
Filippo Argiolas
32de0e6e91
[243/906] Support for missing videoformats in glupload
...
Add support for missing alpha channeled videoformats (RGBA, BGRA,
ARGB, ABGR) in gst_gl_display_do_upload_fill.
2017-12-09 19:31:19 +00:00
Filippo Argiolas
f18ba293cb
[233/906] no need to explicit set the debug category if default one is used
2017-12-09 19:31:19 +00:00
Julien Isorce
ec8aa615e5
[229/906] update authors from the CVS repository
2017-12-09 19:31:19 +00:00
Julien Isorce
cd20053491
[226/906] check on win32 that every tests/pipelines and tests/examples (generic, gtk, qt) still work
2017-12-09 19:31:19 +00:00
Julien Isorce
40cd0281a4
[225/906] fix a regression that made the gltestsrc element not working
2017-12-09 19:31:19 +00:00
Julien Isorce
a125004d82
[224/906] fix a regression about MESA YCbCr colorspace conversion
2017-12-09 19:31:19 +00:00
Julien Isorce
ff87048836
[223/906] fix a regression (sometimes a FBO is needed even if the video source is rgb)
2017-12-09 19:31:19 +00:00
Julien Isorce
69159fa0af
[222/906] Finish TODO task 17
2017-12-09 19:31:19 +00:00
Julien
5759b60ba3
[221/906] fix g_int_hash -> g_direct_hash
2017-12-09 19:31:19 +00:00
Julien Isorce
bb8ba84647
[220/906] Use a better key for the pool of textures
2017-12-09 19:31:19 +00:00
Julien Isorce
cdffac5606
[219/906] Use a gst debug category for GstGLDisplay instead of g_print, gst-launch-0.10 --gst-debug=gldisplay:3 videotestsrc ! glimagesink
2017-12-09 19:31:19 +00:00
Julien Isorce
0d6c956cfb
[212/906] add a glbumper (bump mapping filter through GLSL) that exposes how to use both vertex and fragment shaders
2017-12-09 19:31:19 +00:00
Julien Isorce
b4c0527eff
[211/906] Fix upload AYUV and YV12 (a regression in last commits)
2017-12-09 19:31:18 +00:00
julien User
97a78f8580
[210/906] get ride of a wrong color on nvidia/linux when converting yv12 to rgb through GLSL
2017-12-09 19:31:18 +00:00
julien User
5d93e53f47
[209/906] fix warnings
2017-12-09 19:31:18 +00:00
Julien Isorce
a0cd1d279f
[208/906] fix upload AYUV, regression during the 2 last commits
2017-12-09 19:31:18 +00:00
Julien Isorce
ddf4cdd2df
[207/906] oups, fix my mistake on last commit
2017-12-09 19:31:18 +00:00
unknown
1b8b53fb1c
[206/906] Do not use frame buffer object when "input video is RGB" or when "GLSL is not available and YCbCr is available". So frame buffer object is not a plugin requirement anymore. So I decreased the OpengGL version from 1.4 to 1.2 (maybe less?)
2017-12-09 19:31:18 +00:00
Julien Isorce
35d1c73109
[205/906] use a GHash table instead of a GData for the texture pool
2017-12-09 19:31:18 +00:00
Julien Isorce
2f01ea128f
[204/906] get ride of a bug on ATI related to YV12 to rgb conversion through GLSL and add an example
2017-12-09 19:31:18 +00:00
Filippo Argiolas
0adee75dce
[201/906] fix a signedness warning
2017-12-09 19:31:18 +00:00
Julien Isorce
3ae1ec7c00
[200/906] get ride of a ATI bug related to GLSL colorspace conversion for I420 and YV12 to rgb
2017-12-09 19:31:18 +00:00
Julien Isorce
91870f6d34
[157/906] move thread_do_upload_make from thread_do_upload to thread_init_upload
2017-12-09 19:31:18 +00:00
Julien Isorce
e6db0628e8
[156/906] fix a crash that could happens when using at least 2 gl context and when closing a window on linux
2017-12-09 19:31:18 +00:00
Filippo Argiolas
52a646f240
[153/906] Try to genereate textures within gstglfilterblur to see if the new thread_use_fbo works both with textures from the pool and custom ones
2017-12-09 19:31:18 +00:00
Filippo Argiolas
dbcb82d8b2
[152/906] remove an unneeded (really?) glTexImage
2017-12-09 19:31:18 +00:00
Julien Isorce
712e7626b7
[151/906] ISO C90
2017-12-09 19:31:18 +00:00
Julien Isorce
1a7a34b5c0
[150/906] glTexImage2D(w, h, NULL) is now called only one time (mem alloc)
2017-12-09 19:31:18 +00:00
Filippo Argiolas
46812f8be9
[149/906] same as previous commit
2017-12-09 19:31:18 +00:00
Filippo Argiolas
6a9d6de71f
[148/906] Fix rgb issue. Current program should always be set to 0 when a new texture is attached to a fbo.
2017-12-09 19:31:18 +00:00
Filippo Argiolas
ce17f1a2db
[143/906] Add init and reset callbacks in GstGLFilter to run arbitrary gl code at start and stop. Useful to init and cleanup custom gl resources.
2017-12-09 19:31:18 +00:00
Filippo Argiolas
a54a462705
[142/906] Add a generic action to be able to execute arbitrary gl code within the gl thread with less pain
2017-12-09 19:31:18 +00:00
Filippo Argiolas
4eb4c0beea
[141/906] some steps towards simplification. added a convenience function to gstglfilter and some comment here and there
2017-12-09 19:31:18 +00:00
Filippo Argiolas
7ea58ac050
[140/906] Fix GL_STACK_OVERFLOW
2017-12-09 19:31:18 +00:00
Julien Isorce
e0f1cfeac5
[139/906] fix warnings when compiling upload/download shaders
2017-12-09 19:31:18 +00:00
Filippo Argiolas
b384525a55
[138/906] is that videoformat pointer really needed?
2017-12-09 19:31:18 +00:00
Filippo Argiolas
14849d65ea
[137/906] Don't reallocate texture memory every time in upload_* functions.
2017-12-09 19:31:18 +00:00
Filippo Argiolas
395ea4fa2a
[136/906] reindent gstgldisplay with gstreamer-c-mode
2017-12-09 19:31:18 +00:00
Julien Isorce
db7490cd72
[133/906] finish todo task 4
2017-12-09 19:31:18 +00:00
Julien Isorce
d0e63e68ac
[132/906] make the plugin properly shutdown when one of the check requirements failed
2017-12-09 19:31:18 +00:00
Filippo Argiolas
9b45dcae3e
[131/906] fix warnings (unused vars)
2017-12-09 19:31:18 +00:00
Julien Isorce
ffbc182446
[130/906] use GstGLShader in the GLSL colorspace conversion
2017-12-09 19:31:17 +00:00
Julien Isorce
de6eb8677e
[128/906] add GstGLShader stuffs in the vs8 project, fix laplacian fragment code to make it compile on ATI, and fix check function about Opengl and Glew version
2017-12-09 19:31:17 +00:00
David Schleef
4f39df0532
[126/906] Change some guints to GLuints because of warnings on OS/X.
2017-12-09 19:31:17 +00:00
Julien Isorce
69abbdd760
[123/906] X Specific: better implementation of the gst_gl_set_window_id
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@584 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:17 +00:00
Julien Isorce
a5bf134265
[122/906] better implementation of gst_gl_display_set_window_id for win32. (change the window of the current wglcontext instead of reinit everything, and so avoid some problems about opengl objects that could be init in the previous wglcontext and so no usable in the newer wglcontext, it what the case for the first texture) This newer implementation has not been made yet on linux
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@582 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:17 +00:00
Julien Isorce
ed46d70150
[121/906] avoid use of GLSL functions when fragment_shader is not available
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@581 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:17 +00:00
Julien Isorce
cbd66b24c8
[120/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@580 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:17 +00:00
Julien Isorce
8b14eea6ec
[119/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@579 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:17 +00:00
Julien Isorce
f4b54bd934
[118/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@573 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:17 +00:00
Julien Isorce
7a063dd47f
[116/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@563 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:17 +00:00
Julien Isorce
908e74de67
[115/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@556 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:17 +00:00
Julien Isorce
a192d39638
[114/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@555 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:17 +00:00
Julien Isorce
a903f96e15
[113/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@554 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:17 +00:00
Julien Isorce
8807e62119
[112/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@552 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:17 +00:00
Julien Isorce
edda6cc72d
[111/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@548 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:17 +00:00
Julien Isorce
886bd3ee7d
[109/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@543 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:17 +00:00
Julien Isorce
49e944778e
[108/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@540 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:17 +00:00
Julien Isorce
18177e6c46
[107/906] fix opengl version checker
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@534 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:17 +00:00
Julien Isorce
49970b27aa
[105/906] up Sobel filter and gl/glew version checker
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@518 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:17 +00:00