Matthew Waters
c3a47c910d
glmemory: separate pbo transfer from texture transfers
...
When supported, the potentially longer pbo upload/download can be
initiated before the texture upload/download, potentially increasing
throughput.
2015-06-12 16:59:20 +10:00
Matthew Waters
cd2669fad1
gl: move basesink properties from glimagesinkbin to glsinkbin
2015-06-12 00:34:58 +10:00
Sebastian Dröge
e8a97877b4
gl: Use gst_object_ref_sink() for gl{filter,mixer,src}bin too
2015-06-11 15:22:04 +02:00
Sebastian Dröge
c1b43742bf
glsinkbin: Use gst_object_ref_sink() for consistency with the video-sink property on playbin
2015-06-11 15:17:55 +02:00
Thiago Santos
045bfa10fe
Fix a common typo: retreive -> retrieve
...
Seems to have been copy pasted around a few places
2015-06-05 09:43:35 -03:00
Matthew Waters
d914cc6e72
gl: consolidate internal_rgba_format into glmemory
...
Expose some useful value format conversion functions available in
GstGLMemory.
2015-06-02 16:33:44 +10:00
Matthew Waters
fac0cdc7ac
glwindow: handle gst_video_overlay_set_render_rectangle
2015-05-31 16:04:13 +10:00
Julien Isorce
b377112ee3
gl: add GstGLContextGPUProcess backend
...
It builds its GL vtable from a proc address provided
by the application.
2015-05-27 17:22:40 +01:00
Julien Isorce
ba5bf50d5f
gl: add and use gst_gl_internal_format_rgba
...
Previously when compiling GstGL with both GL and GLES2,
GL_RGBA8 was picked from GL/gl.h. But a clash may happen at
runtime when one is selecting GLES2.
gst_gl_internal_format_rgba allows to check at runtime
if it should use GL_RGBA or GL_RGBA8.
2015-05-27 17:20:05 +01:00
Luis de Bethencourt
666a80236c
gleffects: 'for' loop initial declaration
...
'for' loop initial declarations are not allowed in C89, moving the declarations
to before the 'for' loops.
2015-05-27 13:05:15 +01:00
Xavier Claessens
2bb01f9601
gloverlay: fix a leak
...
https://bugzilla.gnome.org/show_bug.cgi?id=749846
2015-05-26 16:49:55 -04:00
Xavier Claessens
53cd9e3e0e
gloverlay: properly handle errors while loading file
...
Post an error on the bus if anything bad happens while reading
and parsing the image file.
https://bugzilla.gnome.org/show_bug.cgi?id=749846
2015-05-26 16:49:55 -04:00
Xavier Claessens
02b2c2edf6
gloverlay: remove unused type_file field
...
https://bugzilla.gnome.org/show_bug.cgi?id=749846
2015-05-26 16:49:55 -04:00
Matthew Waters
db9e0cf5c7
gleffects: properly initialize the shaders across contexts implementing multiple API's
2015-05-26 12:50:58 +10:00
Matthew Waters
cb482f13be
gleffects_laplacian: fix shader compilation in gl3/gles2
...
https://bugzilla.gnome.org/show_bug.cgi?id=748393
2015-05-26 12:50:58 +10:00
Matthew Waters
9dcefacb3d
gltransformation: fix DrawElements call for element array buffers
...
https://bugzilla.gnome.org/show_bug.cgi?id=749734
2015-05-25 17:39:08 +10:00
Sebastian Dröge
3230e51993
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
d1419afef1
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
8157574d0f
caopengllayersink: static const the indices array
...
the contents will never change anyway.
2015-05-20 00:56:44 +10:00
Matthew Waters
057130b93d
caopengllayersink: correctly use the sync meta across multiple contexts
...
1. Set the sync point after the (possible) upload has occured
2. Wait in the correct GL context (the draw context)
Note: We don't add the GL sync meta to the input buffer as it's not
writable and a copy would be expensive.
Similar to the change with the same name for glimagesink
2015-05-20 00:36:48 +10:00
Matthew Waters
49c4d0850d
caopengllayersink: update for GL3 element array buffer usage
...
fixes blank output
2015-05-20 00:36:48 +10:00
Matthew Waters
6a2d12bf47
glimagesink: correctly use the sync meta across multiple contexts
...
1. Set the sync point after the (possible) upload has occured
2. Wait in the correct GL context (the draw context)
Note: We don't add the GL sync meta to the input buffer as it's not
writable and a copy would be expensive.
2015-05-20 00:36:48 +10:00
Matthew Waters
c6abd1632f
glimagesink: free the vertex buffer when done
...
fixes a memory leak
2015-05-14 21:21:01 +10:00
Matthew Waters
0870e8785e
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
1f89d1dce2
glimagesink: cleanup properties
...
remove unused "display-name"
ensure defaults between the bin/element are the same
2015-05-14 15:10:59 +10:00
Matthew Waters
a852146624
gleffects: only try the GL2 shader init path if we have a GL2 context
2015-05-14 14:58:07 +10:00
Matthew Waters
7f7a9dd3ec
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
1853e455ac
gl: don't deadlock on context creation failure
...
https://bugzilla.gnome.org/show_bug.cgi?id=749284
2015-05-13 23:56:48 +10:00
Sebastian Dröge
5f6bddf719
glmixerbin: Don't unref pad templates
...
Otherwise we unref the reference that is owned by the element class.
2015-05-13 15:42:50 +03:00
Matthew Waters
725c1147bc
glvideomixer: implement par handling
...
We were previously ignoring it completely
2015-05-13 17:44:08 +10:00
Matthew Waters
21a6cfcc18
glvideomixer: don't upload the vertex data every frame
...
Add the missing cache tracking statement.
2015-05-13 17:44:04 +10:00
Nicolas Dufresne
f01d47d0f2
gluploadelement: Remove uneeded header and defines
2015-05-12 16:36:58 -04:00
Nicolas Dufresne
df3d415906
gltestsrc: Use default get_caps implementation
...
The custom code is wrong as it ignores the templates, which leads to
missing fields in the result. Instead, simply use the default get_caps
implementation which does it correctly (get the template, intersect
with filter and return).
https://bugzilla.gnome.org/show_bug.cgi?id=749237
2015-05-11 15:02:02 -04:00
Sebastian Dröge
b8941efc4a
glmixer: Implement GstVideoAggregator::find_best_format()
...
Without this, we will fixate weird pixel-aspect-ratios like 1/2147483647. But
in the end, all the negotiation code in videoaggregator needs a big cleanup
and videoaggregator needs to get rid of the software-mixer specific things
everywhere.
2015-05-11 16:34:26 +03:00
Matthew Waters
628d8d9599
gl: demote upload/convert/download elements to none
...
Copy paste error
2015-05-11 22:58:45 +10:00
Matthew Waters
bd1a0cfec2
gl: expose internal glvideomixerelement\
...
We might want more control over the exact pipeline
Also reduces overhead
2015-05-11 22:58:45 +10:00
Matthew Waters
d2a6e8a92e
gl: expose internal glimagesinkelement
...
We might want more control over the exact pipeline.
Also reduces overhead.
2015-05-11 22:58:37 +10:00
Sebastian Dröge
541c3049dc
Revert "Revert "glimagesink: add pixel-aspect-ratio property on the bin""
...
This reverts commit d96e43b034
.
2015-05-06 15:47:27 +02:00
Sebastian Dröge
8c28a51ee1
Revert "Revert "glimagesink: forward ALL the properties on the bin""
...
This reverts commit 59fb0f830f
.
2015-05-06 15:47:20 +02:00
Sebastian Dröge
35d5c648c6
Revert "Revert "glimagesink: implement as a bin""
...
This reverts commit be938f92d9
.
2015-05-06 15:47:04 +02:00
Sebastian Dröge
53c79cbf86
Revert "gl: readd glupload/download onto element pads"
...
This reverts commit 87d8270f30
.
2015-05-06 15:46:49 +02:00
Sebastian Dröge
21413ff3fc
Revert "Revert "glvideomixer: implement with glmixerbin""
...
This reverts commit b4bd11f2f3
.
2015-05-06 15:43:32 +02:00
Matthew Waters
8ef4b12ab8
glimagesink: handle the local_context query
...
so that upstream elements can get the GL context from glimagesink
2015-05-04 23:44:17 +10:00
Matthew Waters
87d8270f30
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
2015-04-30 11:26:33 +10:00
Matthew Waters
b4bd11f2f3
Revert "glvideomixer: implement with glmixerbin"
...
This reverts commit 0fb56738a1
.
2015-04-30 11:26:33 +10:00
Matthew Waters
be938f92d9
Revert "glimagesink: implement as a bin"
...
This reverts commit 8a0017e21d
.
2015-04-30 11:26:33 +10:00
Matthew Waters
59fb0f830f
Revert "glimagesink: forward ALL the properties on the bin"
...
This reverts commit 4be45e5f30
.
2015-04-30 11:26:32 +10:00
Matthew Waters
d96e43b034
Revert "glimagesink: add pixel-aspect-ratio property on the bin"
...
This reverts commit 2ba6bb9b93
.
2015-04-30 11:26:32 +10:00
Jan Schmidt
ff12434b9f
glimagesink: Cache caps for passing to the client draw call
...
Don't convert the GstVideoInfo to caps on every draw call,
just cache the caps and pass them into the GstSample.
2015-04-29 02:52:40 +10:00
Matthieu Bouron
17d3a75583
glimagesink: Use gst_pad_get_pad_template_caps in ::get_caps()
2015-04-28 20:14:07 +10:00