Commit graph

27 commits

Author SHA1 Message Date
Matthew Waters
02fdc64844 glvideomixer: don't upload if alpha <= 0
Implemented using a upload_buffer vfunc within GstGLMixer allowing
NULL uploaded buffers.
2017-12-09 19:31:52 +00:00
Tim-Philipp Müller
3c3ca1c842 glmixer, glvideomixer: update for GstAggregatorPadForeachFunc change 2017-12-09 19:31:52 +00:00
Nirbheek Chauhan
c1b1f546d5 glvideomixer: Point to compositor for the pad properties documentation 2017-12-09 19:31:52 +00:00
Matthew Waters
ba3a3cd783 gl: fixup vao and vbo usage for legacy GL 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
65c89e07fb glvideomixer: add support for gl3 2017-12-09 19:31:51 +00:00
Matthew Waters
3cccd77d5d videoaggregator: operate on caps rather than video info
Otherwise the CapsFeatures will be lost along with the possibility
of multiple output types and formats.

https://bugzilla.gnome.org/show_bug.cgi?id=738129
2017-12-09 19:31:48 +00:00
Matthew Waters
d30a476c1c glvideomixer: update element documentation 2017-12-09 19:31:47 +00:00
Matthew Waters
f5006bdf09 glvideomixer: fix blending with low-alpha sources
We also need to apply the blend paramaters to the alpha channel otherwise
the output of the blend will appear black at low alpha values (< 0.2).
2017-12-09 19:31:46 +00:00
Matthew Waters
07489f7b76 glvideomixer: skip input frames with an alpha of 0 2017-12-09 19:31:46 +00:00
Matthew Waters
c9d63878dd glvideomixer: don't clobber unnecessary GstVideoInfo fields
otherwise we might clobber other important fields such as the frame rate.
2017-12-09 19:31:45 +00:00
Matthew Waters
fc1b2298d6 glvideomixer: get the attribute from the correct shader 2017-12-09 19:31:45 +00:00
Tim-Philipp Müller
6bbcefe029 opengl: update element docs for 1.x 2017-12-09 19:31:45 +00:00
Matthew Waters
e18905d057 glvideomixer: add a background property
That's compatible with the compositor/videomixer property

https://bugzilla.gnome.org/show_bug.cgi?id=731954
2017-12-09 19:31:45 +00:00
Julien Isorce
c18a109b42 gl: enable glvideomixer on GLES2 2017-12-09 19:31:43 +00:00
Matthew Waters
d86208e6ad glvideomixer: bas output width/height on the pad properties
Allows automatic negotiation of the size in the following case:
gst-launch-1.0 glvideomixer name=m sink_0::xpos=0 sink_1::xpos=320 ! glimagesink \
    videotestsrc ! m. \
    videotestsrc pattern=1 ! m.

https://bugzilla.gnome.org/show_bug.cgi?id=731878
2017-12-09 19:31:43 +00:00
Matthew Waters
dc4f9575b1 glvideomixer: don't clobber already allocated shader 2017-12-09 19:31:43 +00:00
Thibault Saunier
097373ed19 gl:glvideomixer: Add the Compositor in the element metadata class
So it is possible to pick one compositing element from the registry
2017-12-09 19:31:43 +00:00
Thibault Saunier
30a9ef3768 gl: Port glmixer to the GstVideoAggregator baseclass
https://bugzilla.gnome.org/show_bug.cgi?id=731921
2017-12-09 19:31:43 +00:00
Matthew Waters
21c0eed027 glvideomixer: silence incorrect number of arguments in format warning 2017-12-09 19:31:43 +00:00
Matthew Waters
b1e3630974 glvideomixer: wire up the alpha pad property 2017-12-09 19:31:43 +00:00
Matthew Waters
8226bb24cc glvideomixer: support input frame scaling 2017-12-09 19:31:43 +00:00
Matthew Waters
fc45211a9d glvideomixer: add positioning of input streams
https://bugzilla.gnome.org/show_bug.cgi?id=729798
2017-12-09 19:31:43 +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
Matthew Waters
173b234ed2 gl: fix array initialization 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
a884d6feee move gl elements to ext subdirectory 2017-12-09 19:31:34 +00:00