This could happen because for example /usr/lib is linked
to /usr/lib64 and both are loaded. The frei0r specification
says that the plugin init function must only be called once
and for some plugin weird things (including crashes) are
happening.
Fixes bug #623710.
Make the "radius" property of CircleGeometricTransform relative.
This is more coherent with the way [x,y]-center properties are handled
and allow to set a radius without knowing the video size.
Radius is defined with respect to the circle circumscribed about the
video rectangle so that a point in the center has radius 0.0 and one in
a vertex has radius 1.0.
Note that this is not a regression from the previous absolute way of
defining the radius as a user who knows the video size can easily
calculate the relative radius and set that.
https://bugzilla.gnome.org/show_bug.cgi?id=625959
Currently implemented switching from yuv to rgb, looking up rgb from the
table in the usual way, getting back to yuv. With luma lookup presets
(sepia, heat, xray) a color space conversion is saved directly looking
up rgb for a given Y and converting to yuv.
Probably this latter step can even be made faster precalculating a luma
to yuv table in an outer loop.
https://bugzilla.gnome.org/show_bug.cgi?id=625817
Implements a color lookup table filter with 4 presets:
- heat: fake heat camera effect
- sepia: sepia toning
- xray: invert + shade to blue
- xpro: cross process
https://bugzilla.gnome.org/show_bug.cgi?id=625817
Ports gleffects "fisheye" filter to geometrictransform.
Fake fisheye lens filter. Somewhat empiric implementation because I
didn't find any good algorithm that does it with nice results.
https://bugzilla.gnome.org/show_bug.cgi?id=625722
Ports gleffects "mirror" filter to geometrictransform.
Simple yet effective mirror effect, splits the image into halves and
reflect the first into the second.
https://bugzilla.gnome.org/show_bug.cgi?id=625722
Ports gleffects "square" filter to geometrictransform.
Maps a region around the center into a zoomed square and smoothly get
back to normal zoom. With faces it makes a funny "cube-face" effect.
https://bugzilla.gnome.org/show_bug.cgi?id=625722
Ports gleffects "stretch" filter to geometrictransform.
Shrinks the image around the center and gradually return to normal zoom
creating funny caricatures.
https://bugzilla.gnome.org/show_bug.cgi?id=625722
Adds the new 'gaudieffects' plugin, originally found
here: http://github.com/luisbg/gaudi_effects
Contains the following video effect elements: burn, chromium, dilate,
dodge, exclusion and solarize.
Thanks to Jan Schmidt for the reviewing and refactoring
And don't fail if a plugin was already registered. Frei0r allows
plugins in directories with higher importance to override plugins
from directories with lower importance.
This writes out the optional 'btrt' atom (MPEG4BitrateBox) for H.264
media if either or both of average and maximum bitrate are available for
the stream.
https://bugzilla.gnome.org/show_bug.cgi?id=623678
This collects the 'bitrate' and 'maximum-bitrate' tags on the
corresponding pad and uses these to populate these fields in the ESDS
where applicable.
https://bugzilla.gnome.org/show_bug.cgi?id=623678
Factor out most of the buffer handling and implement a chain_list
function. Also, the DTMF muxer has been modified to just have a
function to accept or reject a buffer instead of having to subclass
both chain and chain_list.
This is a problem if you tune to a channel which uses pid X and later tune to
another channel where X is used for another table (e.g. PMT).
The code that does that was actually already there but never used because the
pat structure was freed before. The commit that introduced those lines intended
to fix a memory leak, but we clean things up elsewhere.
Fixes#622725.
Write uint tags that have complements (e.g. track-number/
track-count) even when we only have one of them available
and set the other one to 0.
Fixes#622484
Adds a signal for applications to receive the fps measurements made
instead of only printing them to the frame/stdout.
This signal is only emited if the signal-fps-measurements property
is set to TRUE
Previously we would end up with the collectpaddata structure already freed.
This would result in a bogus iteration of mux->sinkpads (all the
GstQTPad being freed) and it wouldn't be removed from that list.
Finally, due to it not being removed from that list, we would end up
calling a bogus gst_qt_mux_pad_reset on those structures => SEGFAULT
Having GST_DEBUG_CATEGORY and GST_DEBUG_CATEGORY_EXTERN together
might lead to 'undefined symbol' problems. This commit moves
the _EXTERN to a separate new file.
Add a new config-interval property to instruct the parser to insert
config (VOSH, VOS, etc) at periodic intervals in the stream
(when a GOP or VOP-I is encountered).
Based on patch by <marc.leeman at gmail.com>
Fixes#621205.
If the current incoming packet didn't carry a timestamp, but a
previous packet had one we didn't yet use, then apply that timestamp
to the next picture.
Fixes: #618336
Add a new config-interval property to insert SPS and PPS at periodic intervals
in the stream (when an IDR is encountered).
Based on patch by <marc.leeman at gmail.com>
Fixes#620978.
Use explicit format macros from gstvideo to avoid exposing
unsupported formats on template pads. Using the macros
also give us complete caps (width/height/framerate).
And add support for AYUV.
Fixes#620717