summaryrefslogtreecommitdiff
path: root/ext/gl/gstgloverlay.c
AgeCommit message (Collapse)AuthorFilesLines
2017-12-19gl: most of opengl plugin has moved to -base, keep mixer bits in -bad for nowTim-Philipp Müller1-832/+0
Since they rely on GstVideoAggregator. Fix detection of things again, and Meson
2017-07-12glfilter: Remove hard-coded pad templatesJan Schmidt1-0/+2
Add a function to install the default RGBA pad templates, but don't make them required so that there can be GstGLFilter sub-classes with different input/output caps if they want. Remove the hard-coded RGBA restriction in the set_caps_features call, as it will be taken care of by intersecting with the pad templates. Update all the sub-classes to match
2017-04-12docs: Port all docstring to gtk-doc markdownThibault Saunier1-3/+3
2017-03-14gl: GL_ARRAY_BUFFER is not a part of VAO stateMatthew Waters1-7/+3
As a result we need to bind it on every draw in order to have the correct state in the GL state machine.
2017-03-13gl/format: use our own GL format enum's instead of gstvideo'sMatthew Waters1-4/+2
They can describe in more detail (such as component sizes) the requested format.
2016-11-10gl/utils: move gen_shader() to the plugin and remove del_shader()Matthew Waters1-0/+1
gst_gl_context_del_shader() can be replaced by a g_object_unref(). gst_gl_context_gen_shader() should be replaced by using GstGLSLStage.
2016-11-08glfilter: remove display_init/resetMatthew Waters1-15/+16
They are mirrors of GstGLBaseFilter's gl_start() and gl_stop() virtual methods so use them instead.
2016-10-27ext/gl: Don't define boolean on Windows with MSVCNirbheek Chauhan1-0/+3
The headers we include already define boolean on Windows with MSVC, and it leads to a typedef redefinition error with jpeglib.h which tries to redefine it in jmorecfg.h
2016-07-26glfilter: rewrite subclasses for filter_texture() occuring on GL threadMatthew Waters1-45/+26
There's no need for the jump to an extra thread in most cases, especially when relying solely on a shader to render. We can use the provided render_to_target() functions to simplify filter writing.
2016-07-26gl: use GLMemory for accessing textures everywhereMatthew Waters1-3/+3
This simplifies and consolidates a lot of duplicated code creating and modifying textures.
2016-06-29glmemory: add the texture type to allocate to parametersMatthew Waters1-2/+4
Rather than assuming something. e.g. zerocopy on iOS with GLES3 requires the use of Luminance/Luminance Alpha formats and does not work with Red/RG textures.
2015-12-18glmemory: add gst_gl_memory_allocator_get_defaultAlessandro Decina1-4/+4
Add gst_gl_memory_allocator_get_default to get the default allocator based on the opengl version. Allows us to stop hardcoding the PBO allocator which isn't supported on gles2. Fixes GL upload on iOS9 among other things.
2015-12-17glmemorypbo: remove our own alloc()/wrapped()/etc functionsMatthew Waters1-4/+24
replaced by equivalent functionality within gst_gl_base_memory_alloc()
2015-12-14glmemory: base classify and add the pbo memory on topMatthew Waters1-2/+2
The base class is useful for having multiple backing memory types other than the default. e.g. IOSurface, EGLImage, dmabuf? The PBO transfer logic is now inside GstGLMemoryPBO which uses GstGLBuffer to manage the PBO memory. This also moves the format utility functions into their own file.
2015-11-18Remove unnecessary NULL checks before g_free()Reynaldo H. Verdejo Pinochet1-2/+1
g_free() is NULL-safe
2015-10-30glmemory: add support for rectangle texturesMatthew Waters1-2/+2
Add the various tokens/strings for the differnet texture types (2D, rect, oes) Changes the GLmemory api to include the GstGLTextureTarget in all relevant functions. Update the relevant caps/templates for 2D only textures.
2015-05-26gloverlay: fix a leakXavier Claessens1-0/+1
https://bugzilla.gnome.org/show_bug.cgi?id=749846
2015-05-26gloverlay: properly handle errors while loading fileXavier Claessens1-44/+91
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-26gloverlay: remove unused type_file fieldXavier Claessens1-10/+10
https://bugzilla.gnome.org/show_bug.cgi?id=749846
2015-05-14gl: remove useless gl{En,Dis}able (GL_TEXTURE_*) callsMatthew Waters1-4/+0
We are using shaders everywhere and so they are not needed
2015-05-14gl: element buffers are part of vao stateMatthew Waters1-14/+34
Use them as such. They are also required for GL3 core profile support with glDrawElements on OS X.
2015-04-26glfilter: De-camelcase onInitFBO() vfuncSebastian Dröge1-1/+1
2015-04-26glfilter: Remove onStart/onStop vfuncs, and unused onReset()Sebastian Dröge1-8/+0
onStart/onStop are just duplicates of the basetransform ones, onReset was never called but was used everywhere when stop should've been used.
2015-03-13gl: get the context from basemixer/basefilterMatthew Waters1-17/+21
2015-03-03gloverlay: Fix upside down and miss-aligned JPEGNicolas Dufresne1-4/+7
LibJPEG uses macroblock of 8x8 sample. In this element we use RGB and Y444, two 24bit formats that are stored in 32bit pixels. This mean we have 32x32 bytes macroblocks. For this reason, we need to allocate our buffer slightly larger. We also need to pass the line pointer in the right order, otherwise the image endup upside-down. https://bugzilla.gnome.org/show_bug.cgi?id=745109
2015-02-28glmemory: Add GstAllocationParams and alignment supportNicolas Dufresne1-2/+4
This implements support for GstAllocationParams and memory alignments. The parameters where simply ignored which could lead to crash on certain platform when used with libav and no luck. https://bugzilla.gnome.org/show_bug.cgi?id=744246
2014-12-19gl: Add support for GstVideoAlignmentNicolas Dufresne1-2/+2
This allow saving a copy with libav video decoders or decoders with similar padding requirement. https://bugzilla.gnome.org/show_bug.cgi?id=740900
2014-12-11gl: fixup vao and vbo usage for legacy GLMatthew Waters1-0/+1
2014-11-28gldisplay: implement runtime GL api filteringMatthew Waters1-0/+3
Needed so that the pipeline/application can limit the choice of GL api to what it supports
2014-11-28gloverlay: support gl3Matthew Waters1-110/+189
2014-10-08gloverlay: And fix another unused variable compiler warningVivia Nikolaidou1-2/+2
2014-10-08gloverlay: Fix unused variable compiler warning when compiling without ↵Vivia Nikolaidou1-1/+2
desktop GL
2014-09-26gloverlay: fix zero output frames with YUY2/UYVYMatthew Waters1-0/+1
also, be nice and disable blending for other elements
2014-09-26gloverlay: protect desktop gl specific tokens with #ifMatthew Waters1-0/+4
2014-09-26gloverlay: free the image memory every time the location changesMatthew Waters1-6/+5
fixes a memory leak
2014-09-26gloverlay: reimplement everythingMatthew Waters1-418/+285
- update for shaders - add alpha property - image placement properties shamelessly borrowed from gdkpixbufoverlay - image placement properties are GstController able - use GstGLMemory for the overlay image data - add support for gles2
2014-08-10opengl: update element docs for 1.xTim-Philipp Müller1-1/+1
2014-03-16move gl elements to ext subdirectoryMatthew Waters1-0/+809