Commit graph

89 commits

Author SHA1 Message Date
Olivier Crête
50d5d0a161 glvideomixer, glmixer: Add description and klass 2015-07-03 12:28:47 -04:00
Sebastian Dröge
a3b806de4e compositor/glvideomixer: Don't calculate PAR/DAR with unset GstVideoInfos
Otherwise we divide by zero.
2015-05-21 16:24:48 +03:00
Matthew Waters
012e636e4e compositor/glvideomixer: fix up par handling
We were using the wrong formula

https://bugzilla.gnome.org/show_bug.cgi?id=749634
2015-05-21 01:04:38 +10:00
Matthew Waters
7e5123cd90 gl: remove useless gl{En,Dis}able (GL_TEXTURE_*) calls
We are using shaders everywhere and so they are not needed
2015-05-14 16:42:09 +10:00
Matthew Waters
930742dd5a 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.
2015-05-14 14:58:07 +10:00
Matthew Waters
7b48ab14e1 glvideomixer: implement par handling
We were previously ignoring it completely
2015-05-13 17:44:08 +10:00
Matthew Waters
2362ee8bee glvideomixer: don't upload the vertex data every frame
Add the missing cache tracking statement.
2015-05-13 17:44:04 +10:00
Sebastian Dröge
824bb6acf8 Revert "Revert "glvideomixer: implement with glmixerbin""
This reverts commit b4bd11f2f3.
2015-05-06 15:43:32 +02:00
Matthew Waters
a9fc9344a3 Revert "glvideomixer: implement with glmixerbin"
This reverts commit 0fb56738a1.
2015-04-30 11:26:33 +10:00
Edward Hervey
9a73ffcef3 glvideomixer: Don't use context if not present
Avoids assertions at runtime
2015-03-31 16:31:18 +02:00
Matthew Waters
4c72910825 gl: get the context from basemixer/basefilter 2015-03-13 12:30:20 +00:00
Matthew Waters
acd9a252c0 glvideomixer: implement with glmixerbin
The relevant properties are forwarded to/from the containing bin
and sink pads.
2015-03-12 16:45:51 +00:00
Matthew Waters
95a98d1d05 glvideomixer: don't upload if alpha <= 0
Implemented using a upload_buffer vfunc within GstGLMixer allowing
NULL uploaded buffers.
2015-01-15 09:50:02 +11:00
Tim-Philipp Müller
13af5efb07 glmixer, glvideomixer: update for GstAggregatorPadForeachFunc change 2014-12-30 19:43:43 +00:00
Nirbheek Chauhan
6351c0becc glvideomixer: Point to compositor for the pad properties documentation 2014-12-27 11:05:17 +00:00
Matthew Waters
85febbbafb gl: fixup vao and vbo usage for legacy GL 2014-12-11 19:41:23 +11:00
Matthew Waters
c90f7001b1 gldisplay: implement runtime GL api filtering
Needed so that the pipeline/application can limit the choice of GL api
to what it supports
2014-11-28 09:14:26 +11:00
Matthew Waters
ad77f0392f glvideomixer: add support for gl3 2014-11-28 09:14:25 +11:00
Matthew Waters
8bf2acba1d 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
2014-10-21 01:14:36 +11:00
Matthew Waters
65ed8ecf07 glvideomixer: update element documentation 2014-09-30 20:39:36 +10:00
Matthew Waters
bc399a0403 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).
2014-09-26 01:59:43 +10:00
Matthew Waters
e0476bf014 glvideomixer: skip input frames with an alpha of 0 2014-09-24 14:31:19 +10:00
Matthew Waters
a555c32f30 glvideomixer: don't clobber unnecessary GstVideoInfo fields
otherwise we might clobber other important fields such as the frame rate.
2014-08-19 14:44:29 +10:00
Matthew Waters
3fe5412357 glvideomixer: get the attribute from the correct shader 2014-08-19 14:43:42 +10:00
Tim-Philipp Müller
0ab1136f4e opengl: update element docs for 1.x 2014-08-10 18:07:28 +01:00
Matthew Waters
5cddc44b0a glvideomixer: add a background property
That's compatible with the compositor/videomixer property

https://bugzilla.gnome.org/show_bug.cgi?id=731954
2014-08-07 19:21:02 +10:00
Julien Isorce
b0a0974ea7 gl: enable glvideomixer on GLES2 2014-06-25 06:55:11 +01:00
Matthew Waters
7f2000a7a5 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
2014-06-25 12:00:34 +10:00
Matthew Waters
0646c33970 glvideomixer: don't clobber already allocated shader 2014-06-25 10:19:42 +10:00
Thibault Saunier
1f1283b4d8 gl:glvideomixer: Add the Compositor in the element metadata class
So it is possible to pick one compositing element from the registry
2014-06-20 19:53:33 +02:00
Thibault Saunier
59a7205ae0 gl: Port glmixer to the GstVideoAggregator baseclass
https://bugzilla.gnome.org/show_bug.cgi?id=731921
2014-06-20 19:53:33 +02:00
Matthew Waters
b1a11258b1 glvideomixer: silence incorrect number of arguments in format warning 2014-06-15 15:18:46 +10:00
Matthew Waters
fabdcd1dfc glvideomixer: wire up the alpha pad property 2014-06-15 13:59:07 +10:00
Matthew Waters
ec7df9773f glvideomixer: support input frame scaling 2014-06-15 13:44:04 +10:00
Matthew Waters
e3a48cb9d6 glvideomixer: add positioning of input streams
https://bugzilla.gnome.org/show_bug.cgi?id=729798
2014-06-15 12:28:45 +10:00
Vincent Penquerc'h
c2fbe354c1 gl: test for frame NULLness before dereferencing it
Coverity 1195172, 1195171
2014-04-08 16:25:51 +01:00
Matthew Waters
58206849b5 gl: fix array initialization 2014-04-02 23:05:11 +11:00
Matthew Waters
665cc2ba21 gl: fix assignment of temporary variables 2014-04-02 22:43:41 +11:00
Matthew Waters
32621be708 move gl elements to ext subdirectory 2014-03-16 11:23:16 +01:00