Sebastian Dröge
abdcb4a51b
[768/906] gltestsrc: Fix usage of FBO API
2014-03-15 18:36:59 +01:00
Sebastian Dröge
d64c1aab28
[767/906] glimagesink: Remove GValue usage for fraction handling
2014-03-15 18:36:59 +01:00
Sebastian Dröge
f6f0c4ddad
[762/906] glimagesink: Fix some memory leaks and properly set up the buffer pool
2014-03-15 18:36:59 +01:00
Sebastian Dröge
2b6e54d416
[752/906] glwindow: Add destroy notifies for the data of the callbacks
...
And actually call the close callback when the window is closed.
2014-03-15 18:36:58 +01:00
Sebastian Dröge
7b649027bc
[737/906] glimagesink: Request and set the window handle much earlier
2014-03-15 18:36:57 +01:00
Sebastian Dröge
6a53e01544
[736/906] glimagesink: Give MARGINAL rank to be able to autoplug it if nothing else is available
2014-03-15 18:36:57 +01:00
Sebastian Dröge
a5a46aa833
[733/906] gl: Major header and include cleanup
2014-03-15 18:36:57 +01:00
Julien Isorce
dd7e054e2c
[732/906] build: fix repeated typedefs
...
Write forward declarations in another way to avoid
repeated typedefs "error: redefinition of typedef".
Raised when using i686-apple-darwin11-llvm-gcc-4.2
It seems that C apple compiler does not support
C11 feature.
https://bugzilla.gnome.org/show_bug.cgi?id=703885
2014-03-15 18:36:57 +01:00
Sebastian Dröge
19dff69a2e
[729/906] gl: Include config.h everywhere
2014-03-15 18:36:57 +01:00
Matthew Waters
b71a246426
[728/906] glimagesink: fix for gles2
...
https://bugzilla.gnome.org/show_bug.cgi?id=703508
2014-03-15 18:36:57 +01:00
Sebastian Dröge
98cca97840
[719/906] gl: Fix compilation with GLES2
2014-03-15 18:36:56 +01:00
Matthew Waters
11b810fcf5
[718/906] shader: make it possible to unref in the non-GL thread
2014-03-15 18:36:56 +01:00
Matthew Waters
a5b877fb13
[717/906] remove outdated cmake build files
2014-03-15 18:36:56 +01:00
Matthew Waters
c799696b48
[707/906] display: move error_message to utils
2014-03-15 18:36:56 +01:00
Matthew Waters
13067b104c
[704/906] Use gst_object_[un]ref so we can get refcounts in the log
2014-03-15 18:36:56 +01:00
Matthew Waters
dbeb6a911b
[701/906] display: move context creation into window
2014-03-15 18:36:55 +01:00
Matthew Waters
96114e62cb
[699/906] display: remove list of upload and download objects
...
and only create an up/download object when needed.
2014-03-15 18:36:55 +01:00
Matthew Waters
d76a61608d
[698/906] move sink-specific stuff from GstGLDisplay into glimagesink
2014-03-15 18:36:55 +01:00
Matthew Waters
ded3f51592
[694/906] build: add support for static plugins
2014-03-15 18:36:55 +01:00
Matthew Waters
b0c6d98f63
[689/906] bumper: nicer error for no bumpmap file proveded
2014-03-15 18:36:55 +01:00
Matthew Waters
3960306218
[687/906] bumper: error out properly if we cannot load the png file
2014-03-15 18:36:55 +01:00
Matthew Waters
8fe4849860
[686/906] filtershader: fix string format compiler warnings
2014-03-15 18:36:54 +01:00
Matthew Waters
25955212b8
[682/906] overlay: fix video-top property
2014-03-15 18:36:54 +01:00
Matthew Waters
d77828d2cf
[680/906] overlay: tentative port to new GstGLFuncs API
2014-03-15 18:36:54 +01:00
Matthew Waters
0f6bf776c5
[679/906] opengl: fix plugins not being registered when they should be
2014-03-15 18:36:54 +01:00
Matthew Waters
fe5f4429cc
[667/906] filtercube: fix for gles2 compilation
2014-03-15 18:36:53 +01:00
Matthew Waters
3d1aa836bf
[666/906] sobel: port for non-glew
2014-03-15 18:36:53 +01:00
Matthew Waters
8bf203f536
[665/906] mosaic: fix a couple of assertions
2014-03-15 18:36:53 +01:00
Matthew Waters
e55b2ae671
[664/906] filtershader: improve error checking
2014-03-15 18:36:53 +01:00
Matthew Waters
d07fb25841
[663/906] filtershader: port to non-glew
2014-03-15 18:36:53 +01:00
Matthew Waters
d255b55115
[662/906] laplacian: port to non-glew
2014-03-15 18:36:53 +01:00
Matthew Waters
753dfca775
[661/906] glass: port to non-glew + shader matrices
2014-03-15 18:36:53 +01:00
Matthew Waters
0497326a43
[660/906] cube: port for non-glew
2014-03-15 18:36:53 +01:00
Matthew Waters
bd80d4e9cc
[659/906] blur: port for non-glew
2014-03-15 18:36:53 +01:00
Matthew Waters
a61423c7a2
[657/906] filterapp: port to non-glew
2014-03-15 18:36:53 +01:00
Matthew Waters
b97fb42b30
[656/906] bumper: use DrawElements for semi-compatability with ES
...
also GL_QUADS isn't available with ES contexts
2014-03-15 18:36:53 +01:00
Matthew Waters
0fa88c5219
[654/906] differencematte: port to non-GLEW
2014-03-15 18:36:53 +01:00
Matthew Waters
0ed85f3d13
[653/906] deinterlace: port to non-GLEW + arrays
2014-03-15 18:36:53 +01:00
Matthew Waters
3ceb7949a8
[652/906] bumper: port to non-GLEW + arrays
2014-03-15 18:36:53 +01:00
Matthew Waters
5b88246a05
[649/906] effects: fixes for mirror(1) and squeeze(2) producing black
2014-03-15 18:36:52 +01:00
Matthew Waters
7b03a572d9
[647/906] remove dependecy on glew
2014-03-15 18:36:52 +01:00
Matthew Waters
fa3c3b8434
[642/906] add gstglconfig.h for apps to find out what our capabilites are
...
ie libgstgl can be compiled with any combination of opengl/gles2
2014-03-15 18:36:52 +01:00
Matthew Waters
6aa6212419
[632/906] remove stray )
...
The rest is indent stuff from the stray )
2014-03-15 18:36:51 +01:00
Matthew Waters
1fc0f14d44
[628/906] shader filter: don't do anything if we don't have a shader file
2014-03-15 18:36:51 +01:00
Matthew Waters
07f7bbc0cf
[626/906] fix build failure from undefined macro
2014-03-15 18:36:51 +01:00
Matthew Waters
cc8e54541b
[624/906] OPENGL_ES2 => HAVE_GLES2 and add HAVE_OPENGL
...
use GstGLAPI to determine which code paths to execute.
perform some cleanups
2014-03-15 18:36:51 +01:00
Matthew Waters
c080c6c910
[612/906] remove GNUstep makefiles
2014-03-15 18:36:50 +01:00
Matthew Waters
1984fa3b7f
[606/906] determine the GL platform to use at runtime
...
- Make GstGLWindow subclassablerather than specified at compile time.
- Add GstGLWindowX11 for x11 windows and two subclasses, GstGLWindowX11GLX
and GstGLWindwX11EGL for GLX and EGL repectively. (win32 and cocoa
ports to come)
- Also cleanup GL library detection in configure.ac
2014-03-15 18:36:50 +01:00
Matthew Waters
c52b138a8d
[604/906] gst_element_class_set_details_simple() => gst_element_class_set_metadata()
2014-03-15 18:36:50 +01:00
Matthew Waters
93f7e993ad
[603/906] update FSF address
2014-03-15 18:36:50 +01:00
Matthew Waters
5d10051e03
[596/906] colorscale: port over to filter base class
2014-03-15 18:36:49 +01:00
Matthew Waters
30ec55853e
[595/906] update for filter API change
...
gleffects needed a similar change
2014-03-15 18:36:49 +01:00
Matthew Waters
aef7f01a62
[593/906] testsrc/imagesink: update for up/download API changes
2014-03-15 18:36:49 +01:00
Matthew Waters
17425aaaac
[589/906] Revert "GLColorscale: convert to a bin of glupload ! gldownload"
...
The elements no longer exist so we have to do something different
2014-03-15 18:36:49 +01:00
Matthew Waters
fc49c5d25f
[588/906] mosaic: update for mixer changes and convenience API
2014-03-15 18:36:49 +01:00
Matthew Waters
e7b918efbc
[585/906] gltestsrc: update for new GLDownload in libs
2014-03-15 18:36:48 +01:00
Matthew Waters
730b8af863
[584/906] glimagesink: update for new GLUpload object in libs
2014-03-15 18:36:48 +01:00
Matthew Waters
d9d8946351
[583/906] deinterlace: change for new API
...
also allow elements to call the _filter_texture vfunc if they want
2014-03-15 18:36:48 +01:00
Matthew Waters
79ed68478f
[582/906] filters: changes for new API
2014-03-15 18:36:48 +01:00
Matthew Waters
338bb1871b
[577/906] remove upload and download elements from the build system
2014-03-15 18:36:48 +01:00
Matthew Waters
d163ecce23
[572/906] remove upload and download elements
...
to be replaced by upload and download in memory
2014-03-15 18:36:48 +01:00
Matthew Waters
0f2f42e4e8
[570/906] remove the requirement for VideoMeta to be present on non-GL buffers
2014-03-15 18:36:48 +01:00
Matthew Waters
9fb3e60387
[569/906] differencematte: prevent double unref of shader and midtexture
2014-03-15 18:36:48 +01:00
Matthew Waters
beff5a3710
[566/906] effects: avoid using tanh in sin_fragment
...
It produces weird results on nouveau.
Provide an alternative implementation with (1-sinh)*cosh
2014-03-15 18:36:47 +01:00
Matthew Waters
96163f1589
[565/906] effects: fix shader compilation with mesa drivers
2014-03-15 18:36:47 +01:00
Matthew Waters
3f94f31c3d
[563/906] readd support for hanging GL pipelines e.g. ... ! gleffects ! fakesink
2014-03-15 18:36:47 +01:00
Matthew Waters
729115c515
[558/906] add missing includes for _post_missing_element_message in glcolorspace
2014-03-15 18:36:47 +01:00
Matthew Waters
b227398c0c
[557/906] Fix plugin define and remove warning
2014-03-15 18:36:47 +01:00
Matthew Waters
c7e43349e4
[556/906] GLColorscale: convert to a bin of glupload ! gldownload
2014-03-15 18:36:47 +01:00
Matthew Waters
ce6c6b5065
[555/906] Make the query for a GstGLDisplay a pad peer query
...
Allows the query to pass through bin boundaries and makes it possible for
arbitrary gl elements to be placed in bins.
2014-03-15 18:36:47 +01:00
Matthew Waters
35983bcd88
[553/906] GstGLFilterShader: update for GstGLMeta
2014-03-15 18:36:47 +01:00
Matthew Waters
61e2266d16
[552/906] GstGLFilterApp: update for GstGLMeta
2014-03-15 18:36:47 +01:00
Matthew Waters
8ae1fd34e0
[551/906] GstGLOverlay: fix loading of non-square overlays
...
libjpeg complains about "Application read too {many,few} scan lines" in non-square images
2014-03-15 18:36:47 +01:00
Matthew Waters
b34d014918
[550/906] GstGLOverlay: fix libPNG complaining about unsigned integer being out of range
2014-03-15 18:36:46 +01:00
Matthew Waters
b54f031278
[549/906] GstGLOverlay: update for GstGLMeta
2014-03-15 18:36:46 +01:00
Matthew Waters
7a44219656
[548/906] GstGLDifferenceMatte: update for GstGLMeta
2014-03-15 18:36:46 +01:00
Matthew Waters
02fcc954de
[547/906] GstGLBumper: fix libPNG complaining about invalid png files
...
We failed to inform libPNG that we had already read the header
2014-03-15 18:36:46 +01:00
Matthew Waters
f0035b9a9b
[546/906] GstGLFilterSobel: update for GstGLMeta
2014-03-15 18:36:46 +01:00
Matthew Waters
da4c698a50
[545/906] GstGLBumper: update for GstGLMeta
2014-03-15 18:36:46 +01:00
Matthew Waters
3affb44884
[544/906] fix memory leaks from not g_free()ing string returned by gst_element_get_name
2014-03-15 18:36:46 +01:00
Matthew Waters
3be415e5c9
[541/906] GstGLTestSrc: generate a GLBufferPool instead of a VideoBufferPool in decide_allocation
2014-03-15 18:36:46 +01:00
Matthew Waters
7c0c039933
[540/906] GstGLMosaic: update for GstGLMeta
2014-03-15 18:36:46 +01:00
Matthew Waters
9f51f1721e
[539/906] GstGLImageSink: fold multiple fields into one and use VIDEO_SINK_* for window width/height
...
replace the caps information with a GstVideoInfo
place the window width/height information width VIDEO_SINK
2014-03-15 18:36:46 +01:00
Matthew Waters
84bf052181
[538/906] GstGLDeinterlace: update for GstGLMeta
2014-03-15 18:36:46 +01:00
Matthew Waters
d4045e7699
[537/906] GstGLFilterReflectedScreen: update for GstGLMeta
2014-03-15 18:36:46 +01:00
Matthew Waters
5402a43d80
[536/906] GstGLFilterGlass: update for GstGLMeta
2014-03-15 18:36:46 +01:00
Matthew Waters
a93c464c5b
[535/906] GstGLFilterLaplacian: update for GstGLMeta
2014-03-15 18:36:46 +01:00
Matthew Waters
ddbfe41721
[534/906] GstGLFilterCube: Update for GstGLMeta
2014-03-15 18:36:46 +01:00
Matthew Waters
58c27d8ef2
[533/906] GstGLFilterBlur: update for GstGLMeta
2014-03-15 18:36:46 +01:00
Matthew Waters
9ab50ed175
[531/906] GstGLEffects: update for GstGLMeta
2014-03-15 18:36:45 +01:00
Matthew Waters
ed5deaa29b
[530/906] GstGLUpload: fix video scaling and use GL_UPLOAD_CAPS
2014-03-15 18:36:45 +01:00
Matthew Waters
d03ffe867d
[529/906] GstGLDownload: fix video scaling and use GL_DOWNLOAD_CAPS
2014-03-15 18:36:45 +01:00
Matthew Waters
65c0afe557
[526/906] GstGLTestSrc: update for 1.0
...
implement decide_allocation
rename push_src_create to _fill
use GstVideoInfo to convert times
make use of GstGLMeta and friends
2014-03-15 18:36:45 +01:00
Matthew Waters
ce3b50484f
[525/906] GstGLDownload: add allocation methods and use GstGLMeta
...
make GstGLDownload work with the new GstGLMeta and friends
2014-03-15 18:36:45 +01:00
Matthew Waters
3d7788dabb
[523/906] update for meta API changes
2014-03-15 18:36:45 +01:00
Matthew Waters
08349cff6d
[519/906] GstGLUpload: implement the allocation funcs and use GstGLMeta
...
make use of the new GstGLMeta, GstGLMemory and GstGLBufferPool objects
2014-03-15 18:36:45 +01:00
Matthew Waters
4d7bb47b75
[518/906] GstGLImageSink: add propose_allocation impl and use GstGLMeta
...
make use of GstGLMeta and GstGLMemory
2014-03-15 18:36:45 +01:00
Matthew Waters
71c6aae707
[513/906] Remove GstGLBuffer (to be replaced by GstGLMeta)
2014-03-15 18:36:44 +01:00
Matthew Waters
d39eb40a40
[510/906] GstGLImageSink: update for 1.0
2014-03-15 18:36:44 +01:00
Matthew Waters
590c3f4060
[508/906] GstGLDownload: update for 1.0
2014-03-15 18:36:44 +01:00
Matthew Waters
00c11d955e
[507/906] GstGLTestSrc: update for 1.0
2014-03-15 18:36:44 +01:00
Matthew Waters
42127be707
[506/906] GstGLUpload: update for 1.0
2014-03-15 18:36:44 +01:00
Matthew Waters
620d330953
[505/906] GstGLColorscale: update for 1.0
2014-03-15 18:36:44 +01:00
Matthew Waters
d66bd69b36
[503/906] Rename GST_BOILERPLATE_* to G_DEFINE_TYPE_* and move _base_init into _class_init
2014-03-15 18:36:44 +01:00
Matthew Waters
6f2acb94c6
[502/906] Update versioning for gstreamer 1.0
...
Renames GST_MAJORMINOR to GST_API_VERSION in build files
removes -lgstinterfaces from _LDADD flags
2014-03-15 18:36:44 +01:00
Julien Isorce
a9d4210388
[499/906] examples: fix build on MacOSX
2014-03-15 18:36:43 +01:00
Julien Isorce
0c7080e7a1
[498/906] gldisplay: don't pass non-constant strings as printf format strings
...
Fixes 'format not a string literal and no format arguments' on darwin
2014-03-15 18:36:43 +01:00
Julien Isorce
865e431a75
[496/906] cmake build: add path to config.h on APPLE
2014-03-15 18:36:43 +01:00
Julien Isorce
7e45f26a21
[494/906] cmake build: use config.h from win32/common and add some guidelines
2014-03-15 18:36:43 +01:00
Tim-Philipp Müller
5b9e4b8282
[493/906] glfiltershader: fix crash when loading shader file
...
Just use g_file_get_contents() instead of home-made file loading.
Fixes two issues - one is that we should pass "r" to fopen and
not O_RDONLY, the other is that an incorrect variable was used
to read the file length, leading to an empty shader file.
Spotted by: Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
https://bugzilla.gnome.org/show_bug.cgi?id=702844
https://bugzilla.gnome.org/show_bug.cgi?id=702845
Conflicts:
gst/gl/gstglfiltershader.c
2014-03-15 18:36:43 +01:00
Julien Isorce
052c23c3c5
[491/906] glES2.0: properly fails if driver/kernel inconsistency
2014-03-15 18:36:43 +01:00
Julien Isorce
2394987226
[490/906] gldisplay: error out instead of g_assert
2014-03-15 18:36:43 +01:00
Julien Isorce
20ac2cc4aa
[489/906] glimagesink: pixel-aspect-ratio property now returns "1/1" by default
...
Previously it was not set
Fix bug #671734 (compatibility with Totem)
2014-03-15 18:36:43 +01:00
Julien Isorce
b88351ad0c
[488/906] libvisual-gl: full compatibility with projectM-libvisual if libprojectM >= 2.0.1
...
Fix bug #310775
2014-03-15 18:36:43 +01:00
Sebastian Dröge
6bb3f66c42
[487/906] gl: Fix compiler warnings
...
'if statement has empty body', which were real bugs and
'comparison of unsigned expression < 0 is always false', which was
only an unneeded comparison.
2014-03-15 18:36:43 +01:00
Julien Isorce
5091066426
[483/906] glelements: do not leak parent when using gst_pad_get_parent
2014-03-15 18:36:43 +01:00
Julien Isorce
f639d6096d
[481/906] feature checking: error out instead of doing nothing if an OpenGL feature is not present
...
Fix bug #572767
2014-03-15 18:36:42 +01:00
Julien Isorce
9e535a0410
[480/906] win32 builds: add glshader filter sources to vs9 and codeblocks
...
Also fix some warnings from msvc9 and mingw-3.4.5
2014-03-15 18:36:42 +01:00
Julien Isorce
cc70130c6f
[475/906] docs: add glmosaic and glshader to docs
2014-03-15 18:36:42 +01:00
Julien Isorce
533e180ce8
[474/906] build: make libjpeg use conditional
...
Disable gloverlay element if we do not hve libjpeg
2014-03-15 18:36:42 +01:00
Julien Isorce
a7587aa44e
[473/906] cmake build: 2.8 is now required and add jpeg
...
jpeg and png should be optional but our cmake build is still in pre-alpha
2014-03-15 18:36:42 +01:00
Stefan Sauer
aacf88ffa5
[472/906] linpng: make libpng use conditional
...
Disable 3 elements if we don't have libpng.
2014-03-15 18:36:42 +01:00
Luc Deschenaux
268f1a30b2
[471/906] glshader: add dynamic fragment shader filter
...
Also add fragment shader parser
Fix bug #600195
2014-03-15 18:36:42 +01:00
Anthony Violo
7d4de78102
[470/906] gloverlay: add jpeg support
...
Fix bug #636070
2014-03-15 18:36:42 +01:00
Anthony Violo
351a6d9d01
[469/906] gloverlay: manage ratio texture
...
Fix bug #630525
2014-03-15 18:36:42 +01:00
Sebastian Dröge
4732eb4d68
[465/906] gl: Fix variable unused but set compiler warnings
2014-03-15 18:36:41 +01:00
Sreerenj Balachandran
b1166ed0c4
[464/906] glimagesink: Interface query should return FALSE if the supplied interface is not GST_TYPE_X_OVERLAY
2014-03-15 18:36:41 +01:00
Stefan Kost
edefb7826c
[462/906] various: add missing G_PARAM_STATIC_STRINGS flags
...
Canonicalize property names as needed. Includes some gst-indent changes as well :/
2014-03-15 18:36:41 +01:00
Stefan Kost
ac138f74a1
[461/906] xoverlay: require base from git and update to new API
2014-03-15 18:36:41 +01:00
Edward Hervey
b9c68baddc
[460/906] gstgleffects: Fix upper bound of an array iteration
...
10 is above NEEDED_TEXTURES (currently 5) and makes the code consistent
with the rest of the usage in the file.
2014-03-15 18:36:41 +01:00
Julien Isorce
dab7bdf2da
[458/906] glfilterreflectedscreen: fix some warnings from msvc9
2014-03-15 18:36:41 +01:00
Julien Isorce
2c43a348fa
[456/906] glfilter/glmixer/gltestsrc/glupload: throw an element error if no parent bin
...
Fixes bug #602153
2014-03-15 18:36:41 +01:00
Julien Isorce
2b46c87bd0
[455/906] glimagesink: handle pixel-aspect-ratio
2014-03-15 18:36:41 +01:00
Filippo Argiolas
00030c2bdd
[454/906] blur: fix gaussian kernel computation
2014-03-15 18:36:41 +01:00
Filippo Argiolas
17a33cd19a
[453/906] blur: give up some accuracy for speed
...
Settle with 7x7 gaussian convolution kernels, maybe slightly less
accurate than previous 9x9 but fast enough to be able to use it on i915.
About a 20% percent speed gain (again, roughly measured with
videotestsrc and glimagesink sync=false). No noticeable rendering
difference with current effects.
2014-03-15 18:36:41 +01:00
Filippo Argiolas
a9aa0ab2ee
[452/906] sin: get rid of hls conversion code
...
Get rid of buggy and complicated hls conversion code for the sin effect.
The only thing needed was hue anyway and it is easily calculated using
Preucil formula for rgb to polar coordinates conversion.
Now works on i915 (removed all the IF blocks). Still needs some tuning,
I wonder if it will ever work properly.
2014-03-15 18:36:41 +01:00
Roland Peffer
e2f9424e04
[451/906] glupload: par is already handled in fixate_caps function
...
Fixes bug #593165
2014-03-15 18:36:41 +01:00
Julien Isorce
6c2c3b44ee
[450/906] indent: gstglupload.c
2014-03-15 18:36:41 +01:00
Filippo Argiolas
3d14e9684d
[449/906] sobel: drop unused single pass sobel shader
...
Drop unused sobel shader, if anyone still needs it, git log is your
friend.
2014-03-15 18:36:41 +01:00
Filippo Argiolas
c888188422
[448/906] xray: increase edges visibility
...
Some little fine tuning, still not completely satisfied yet.
2014-03-15 18:36:41 +01:00
Filippo Argiolas
87fda0d867
[447/906] xray: port to the new separable sobel convolution
...
Port xray effect to use the same sobel convolution just used in
glfiltersobel. Now xray too works on i915 (a bit slow).
2014-03-15 18:36:40 +01:00
Filippo Argiolas
021a28657d
[446/906] blur: forgot to add all the changes in previous commit
2014-03-15 18:36:40 +01:00
Filippo Argiolas
556b1b79e4
[445/906] blur: use draw_texture from glfilter
2014-03-15 18:36:40 +01:00
Filippo Argiolas
ac190bc460
[444/906] laplacian: precalculate coordinates
...
Precalculate coordinates to avoid unneeded texture indirections.
Now laplacian works on i915.
2014-03-15 18:36:40 +01:00
Filippo Argiolas
270ce448e4
[443/906] sobel: move some highly duplicated code into glfilter
...
Add a new convenience function in GstGLFilter that just draws an input
texture to a target texture using a simple shader with just a "tex"
uniform sampler.
Move draw_texture from glfiltersobel to glfilter. Still need to update
other plugins to this.
2014-03-15 18:36:40 +01:00
Filippo Argiolas
b3c4eb4c61
[442/906] blur: optimize coordinates calculations
...
Save 28 instructions on i915 (mainly redundant MOVs) and gain a 25%
(roughly measured with videotestsrc and glimagesink sync=false) speed
bump
2014-03-15 18:36:40 +01:00
Filippo Argiolas
5fd66383ab
[441/906] sobel: convolve only luma
...
Rework Sobel a little bit again making it work as the old one:
1. desaturate input texture
2. calculate horizontal convolution for x gradient and vertical
convolution for y gradient at the same time (halves the number of
needed texture lookups)
3. store results in a single texture (red and green channel)
4. calculate remaining convolution (same as above switching vertical and
horizontal)
5. calculate length of gradient using red and green as x and y
components.
Optimize wherever possible, store kernels as constants in the shaders,
remove unneeded uniforms. Restore invert property carefully avoiding
using IF.
Still not sure if "full color" convolution will be needed, glfiltersobel
is to be intended as a demo filter and xray, the only effect which uses
sobel only needs edge intensity. Dropping it for now.
2014-03-15 18:36:40 +01:00
Filippo Argiolas
49df4dca3c
[440/906] sobel: implement sobel filter using separable kernels
...
Reimplement sobel in a multipass fully separated convolution:
- calculate x gradient map convolving first horizontally with blurring
kernel and then vertically with differentiating kernel
- calculate y gradient map convolving first vertically with blurring
kernel and then horizonally with differentiating kernel
- calculate length of the gradient vector
Particular care was needed with normalization of the blurring kernel and
with grey level offset of the differentiating one to prevent overflow of
rgb values from the [0.0,1.0] range in intermediate passes.
Now works on i915.
2014-03-15 18:36:40 +01:00
Filippo Argiolas
002f069962
[439/906] sobel: get rid of #version 120 dependent array constructors
2014-03-15 18:36:40 +01:00
Pierre Pouzol
f8871ff33a
[438/906] glfilterreflectedscreen: improve behavior and add some properties
...
Fixes bug #612163
2014-03-15 18:36:40 +01:00