Commit graph

186 commits

Author SHA1 Message Date
Julien Isorce
57488b1a32 [268/906] Better deal with Atoms 2017-12-09 19:31:20 +00:00
Julien Isorce
51231595c7 [267/906] Get ride of calling sleep in gl thread X loop 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
3f54cd9d94 [264/906] Rewrite gstglwindow_x11.c because X API is not thread safe. 2017-12-09 19:31:20 +00:00
Julien Isorce
14d3d10e07 [263/906] discard x custom messages which are of date 2017-12-09 19:31:20 +00:00
Julien Isorce
745e20a2e1 [262/906] Works on linux but still some bugs. Fix autotools build. 2017-12-09 19:31:20 +00:00
Julien Isorce
5ec4972d3d [261/906] implement quit x message loop 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
bbc1c6b14f [258/906] setup x message loop 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
c4200fe1a0 [256/906] fix CMake an CodeBlocks builds 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
9169b822e7 [254/906] Better handle when the parent window is resizing, and cleanup some code 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
Julien Isorce
3d54d22894 [242/906] Fix crash in filters when going to NULL with no display 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
Filippo Argiolas
6c04333f11 [230/906] explicit check g_getenv return value to be not NULL 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
Filippo Argiolas
34663eccd9 [228/906] output shaders info log only if GST_GL_SHADER_DEBUG env variable is set. Should fix TODO task 18 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
88b6f0a3cf [218/906] The CMake build now works on my Kubuntu-KDE4.1.1 2017-12-09 19:31:19 +00:00
Julien Isorce
3d6116ee45 [217/906] Add cmake build http://www.cmake.org. See CMake install instructions in the INSTALL file. (I have not correctly configured yet the CMake build for unix, BE patient) 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
Filippo Argiolas
4440a3cfed [171/906] import fxtest (little gtk app to easily test effects) from cvs branch, fixed rgbtocurve. 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
Julien Isorce
4629bf1bc5 [146/906] remove filteredge 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
Filippo Argiolas
c47fa4dc62 [127/906] Imported GstGLShader from cvs branch. Added a demo laplacian convolution filter to demonstrate how this can be integrated with minimum effort. 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
David Schleef
9f305eecb8 [125/906] Add libraries as appropriate to fix compilation 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
Julien Isorce
8685e547b4 [104/906] start to add a glfilteredge that proceeds edge detection using GLSL
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@517 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:17 +00:00
Julien Isorce
e9f924910c [096/906] up
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@508 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:17 +00:00
Julien Isorce
e74175e328 [095/906] up
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@507 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:17 +00:00
Julien Isorce
e34a278e35 [094/906] up
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@506 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:17 +00:00
Julien Isorce
b63a97c50c [092/906] Finish to revive the gltestsrc. Next step is to do some refactoring.
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@504 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:17 +00:00
Julien Isorce
bca92ed962 [091/906] start to revive the gltestsrc
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@503 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:17 +00:00
Julien Isorce
f5f2e51a31 [088/906] fix some caps negociations those pipelines works fine : gst-launch-0.10 -v videotestsrc ! video/x-raw-yuv, width=320, height=240 ! glgraphicmaker ! video/x-raw-gl, width=720 , height=576 ! glfiltercube ! glimagesink and gst-launch-0.10 -v videotestsrc ! video/x-raw-yuv, width=320, height=240 ! glgraphicmaker ! video/x-raw-gl, width=720 , height=576 ! glimagesink
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@500 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:17 +00:00
Julien Isorce
1e2ca1dfde [087/906] glfilter can accept to have an input size different than the out put size : video/x-raw-gl, width=w1, height=w1 ! glfilter ! video/x-raw-gl, width=w2, height=w2 ! (fix every examples)
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@499 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:17 +00:00
Julien Isorce
2c12b6f41e [086/906] up
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@498 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:17 +00:00
Julien Isorce
4fb5b5bde1 [085/906] fix regressions about glvideomaker.
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@497 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:16 +00:00
Julien Isorce
7973568f07 [084/906] add a glfilterapp which holds the client draw and reshape callbacks (some "wanted" regressions about the glvideomaker, have been done with this version. Will be fix in next commits)
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@496 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:16 +00:00
Julien Isorce
dc4119eafe [083/906] finish to implement the glfilter: example : gst-launch-0.10 videotestsrc num_buffers = 100 ! glgraphicmaker ! glfiltercube ! glimagesink
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@495 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2017-12-09 19:31:16 +00:00