Nicolas Dufresne
79d5bbdc35
glfilter: Don't cache buffer pool
...
Caching and sharing to multiple element the same pool prevents
renegotiation from passthrough to not passthrough.
2017-12-09 19:32:05 +00:00
Jan Schmidt
5007311198
glfilter: Add transform_internal_caps() vfunc
...
Add a vfunc that is called by glfilter before it sets
caps features and intersects with the peer caps, and
move removing the size from caps into its default
implementation. Allows sub-classes to do more
sophisticated management of the size fields in case they
don't support arbitrary resizing or have distinct
preferences.
2017-12-09 19:32:03 +00:00
Matthew Waters
65c57b77ff
gl: element buffers are part of vao state
...
Use them as such. They are also required for GL3 core profile support
with glDrawElements on OS X.
2017-12-09 19:32:01 +00:00
Sebastian Dröge
51d3a0a059
Revert "gl: readd glupload/download onto element pads"
...
This reverts commit 87d8270f30
.
2017-12-09 19:32:00 +00:00
Matthew Waters
343947f383
gl: readd glupload/download onto element pads
...
Allows insertion of gl elements into non-gl pipelines without converter
(upload/download) elements.
https://bugzilla.gnome.org/show_bug.cgi?id=743974
2017-12-09 19:32:00 +00:00
Sebastian Dröge
ee6bfe0127
glfilter: De-camelcase onInitFBO() vfunc
2017-12-09 19:31:59 +00:00
Sebastian Dröge
3613ecfd0a
glfilter: Remove onStart/onStop vfuncs, and unused onReset()
...
onStart/onStop are just duplicates of the basetransform ones, onReset
was never called but was used everywhere when stop should've been used.
2017-12-09 19:31:59 +00:00
Matthew Waters
92f0aa9bd8
gl: get the context from basemixer/basefilter
2017-12-09 19:31:57 +00:00
Matthew Waters
2ead0d97ed
gl: add a new glbasefilter class below glfilter
...
It deals with propagating the gl display/contexts throughout the
application/pipeline
2017-12-09 19:31:56 +00:00
Matthew Waters
1dfeae2c42
gl: split glcolorconvert usage from glupload
...
the separation allows the transfer operation to occur in a separate
thread/time which may increase performance in specific circumstances.
2017-12-09 19:31:52 +00:00
Matthew Waters
4bd62ebb03
gldisplay: implement runtime GL api filtering
...
Needed so that the pipeline/application can limit the choice of GL api
to what it supports
2017-12-09 19:31:51 +00:00
Matthew Waters
8e98591153
glfilter: add a gl3 code path using vao's and vbo's
2017-12-09 19:31:51 +00:00
Matthew Waters
00506bf183
glupload: rearchitecture for non GLMemory inputs/outputs
...
Allows other memory types to be implemented/returned/used by the caller.
2017-12-09 19:31:50 +00:00
Matthew Waters
6663967994
glfilter: add uploaded_buffer field
2017-12-09 19:31:48 +00:00
Matthew Waters
ae919f4475
gl: download whenever we have sysmem capsfeatures
...
Otherwise we could pass on a RGBA formatted buffer and downstream would
misinterpret that as some other video format.
Fixes pipelines of the form
gleffects ! tee ! xvimagesink
2017-12-09 19:31:46 +00:00
Matthew Waters
8daa7693cf
[874/906] filter: implement draw_texture for GLES2
...
(taken from gleffects)
2017-12-09 19:31:33 +00:00
Matthew Waters
64fad7a6d2
[852/906] use GstContext for GstGLDisplay propogation
...
implements the hooks required in GstElement::set_context and the context query
2017-12-09 19:31:32 +00:00
Matthew Waters
711ad485b2
[812/906] move the GL vtable from GstGLDisplay to GstGLContext
...
Conflicts:
tests/check/libs/gstglcontext.c
2017-12-09 19:31:31 +00:00
Matthew Waters
0f8fc0881a
[805/906] glfilter: rename external-opengl-context prop to other-context
...
It now requires a GstGLContext instead of a handle
2017-12-09 19:31:31 +00:00
Sebastian Dröge
8efcecb98c
[771/906] gl: Some less long/ulong/gulong usage
2017-12-09 19:31:30 +00:00
Sebastian Dröge
f7998a2e98
[733/906] gl: Major header and include cleanup
2017-12-09 19:31:29 +00:00
Julien Isorce
d17a4381b1
[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
2017-12-09 19:31:29 +00:00
Matthew Waters
e983f02e87
[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
2017-12-09 19:31:26 +00:00
Matthew Waters
344253e860
[624/906] OPENGL_ES2 => HAVE_GLES2 and add HAVE_OPENGL
...
use GstGLAPI to determine which code paths to execute.
perform some cleanups
2017-12-09 19:31:26 +00:00
Matthew Waters
4c35d682c9
[603/906] update FSF address
2017-12-09 19:31:25 +00:00
Matthew Waters
d55bbf7f55
[600/906] docs: add docs for new objects and expand on some existing ones
2017-12-09 19:31:25 +00:00
Matthew Waters
2a8de21658
[594/906] filter: update for up/download API changes and scaling fixes
2017-12-09 19:31:25 +00:00
Matthew Waters
c7f49800e3
[583/906] deinterlace: change for new API
...
also allow elements to call the _filter_texture vfunc if they want
2017-12-09 19:31:25 +00:00
Matthew Waters
eed7e15ed2
[581/906] filter: add seperate filter function for operating on textures instead of buffers
2017-12-09 19:31:25 +00:00
Matthew Waters
2de5a925c1
[575/906] filter: port to new upload/download
2017-12-09 19:31:25 +00:00
Matthew Waters
3f174671ec
[532/906] GstGLFilter: implement allocation vfuncs
2017-12-09 19:31:24 +00:00
Matthew Waters
eb362969f1
[513/906] Remove GstGLBuffer (to be replaced by GstGLMeta)
2017-12-09 19:31:24 +00:00
Matthew Waters
683c001f91
[504/906] GstGLFilter: update for 1.0
...
-fix up function definitions
-remove _prepare_output_buffer (functionality taken over by GstBufferPool).
2017-12-09 19:31:24 +00:00
Julien Isorce
7c79cc5c41
[481/906] feature checking: error out instead of doing nothing if an OpenGL feature is not present
...
Fix bug #572767
2017-12-09 19:31:23 +00:00
Antoni Silvestre
4ea2bf2087
[476/906] OpenGL ES 2.0: fix build and disable some examples
...
Fix bug #631019
2017-12-09 19:31:23 +00:00
Filippo Argiolas
306526a19f
[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.
2017-12-09 19:31:23 +00:00
Julien Isorce
32203f94ea
[405/906] glfilter: add external-opengl-context property
...
It repairs the cluttershare and sdlshare example
2017-12-09 19:31:22 +00:00
Julien Isorce
8c33ba0ba6
[385/906] rewrite the way a gstgldisplay is transmited to the gl elements
...
Before, a gstgldisplay was instancied by the gl src in terms of gl chain.
And then the next element got it through the first gstglbuffer.
Now, this is done though queries.
All glelements get their ref on a gstgldisplay in READY state.
This rewrite is mainly a first step to be able to share OpenGL context hold
by the gstgldisplay using more complex glelements.
For example, with a glvideomixer. The associated gstgldisplay of each gl chain
of the sink pads will share their OpenGL context.
2017-12-09 19:31:22 +00:00
Julien Isorce
ec8aa615e5
[229/906] update authors from the CVS repository
2017-12-09 19:31:19 +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
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
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
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
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
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
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
David Schleef
98e2942fed
[061/906] First SVN commit. This commit is a hack to make git-rebase work
2017-12-09 19:31:16 +00:00
David Schleef
894db7a964
[056/906] * configure.ac: Readd pre-pkgconfig OpenGL detection, since pkgconfig requires Mesa from git master. * gst/gl/glimagesink.c: * gst/gl/gstopengl.c: Move debug category initialization to element. * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/gstglfilter.c: * gst-libs/gst/gl/gstglfilter.h: * gst/gl/gstglfilter.c: * gst/gl/gstglfilter.h: Move glfilter to library. * pkgconfig/gstreamer-plugins-gl.pc.in: Add gstreamer-base-0.10 as a requirement. * po/en.po: Update.
2017-12-09 19:31:16 +00:00