Thibault Saunier
2fd28195ca
Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir
2021-09-24 16:13:26 -03:00
Sebastian Dröge
a14f4f48c4
video-overlay-composition: Allow empty overlay compositions
...
Allowing to pass NULL to the constructor removes the need to
special-case the first rectangle in calling code and generally
simplifies application code.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1256 >
2021-08-16 21:13:27 +00:00
Matthew Waters
98249a57db
gst: don't use volatile to mean atomic
...
volatile is not sufficient to provide atomic guarantees and real atomics
should be used instead. GCC 11 has started warning about using volatile
with atomic operations.
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719
Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1073 >
2021-03-19 04:20:19 +00:00
Marijn Suijten
abb026ec6a
gl,video: Make ptrs to VideoInfo and (GL)AllocationParams immutable
...
These parameters are incorrectly regarded as mutable in G-IR making them
"incompatible" with languages that are explicit about mutability like
Rust. In order to clean up the code and expected API there, update the
signatures here, right at the source (instead of overriding them in
Gir.toml and hoping for the best).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1005 >
2021-01-14 11:53:10 +00:00
Thibault Saunier
909baa2360
Pass the code through codespell
2019-08-30 13:05:36 +00:00
Sebastian Dröge
f441b5216e
video-overlay-composition: Optimize premultiplication/unpremultiplication loops
...
Pull in video frame fields into local variables. Without this the
compiler must assume that they could've changed on every use and read
them from memory again.
This reduces the inner loop from 6 memory reads per pixels to 4, and the
number of writes stays at 3.
2018-12-07 19:23:49 +02:00
Sebastian Dröge
bb0d58a905
video-overlay-composition: Handle miniobject writability correctly
...
By tracking parents and using the proper GstMiniObject API for detecting
writability instead of just the reference count.
https://bugzilla.gnome.org/show_bug.cgi?id=797230
2018-10-01 12:19:22 +03:00
Edward Hervey
22c9e5f7c1
libs: Documentation cleanup
...
* Fix wrong naming, wrong types and typos
* Add missing sections
* Add missing documentation for entries
* Explicitely mark private structure entries
* Remove items that never existed
2018-04-02 08:53:28 +02:00
Thibault Saunier
099ac9faf2
docs: Convert gtkdoc comments to markdown
...
Modernizing the documentation, making it simpler to read an
modify and allowing us to possibly switch to hotdoc in the
future.
2017-03-10 18:19:17 -03:00
Sebastian Dröge
681d97aed7
video: Handle errors in gst_video_info_set_format() / gst_video_info_align()
...
https://bugzilla.gnome.org/show_bug.cgi?id=774588
2016-11-24 15:06:39 +02:00
Scott D Phillips
6e71583d07
Cast away const from GstMetaInfo in *_get_meta_info() functions
...
MSVC warns about the const in the implicit argument conversion in the
calls to g_once_init_{enter,leave}. It's OK so explicitly cast it.
https://bugzilla.gnome.org/show_bug.cgi?id=774293
2016-11-15 14:52:22 +02:00
Víctor Manuel Jáquez Leal
dcfc69ab1d
videooverlaycomposition: document required map flags
...
Fix documentation for gst_video_overlay_composition_blend(). The video frame
needs to be mapped with GST_MAP_READWRITE flag.
https://bugzilla.gnome.org/show_bug.cgi?id=771382
2016-09-14 11:17:25 +02:00
Sebastian Dröge
a82ef8983e
videometa: Initialize all fields of all metas with default values
...
The metas are not allocated with all fields initialized to zeroes.
https://bugzilla.gnome.org/show_bug.cgi?id=764902
2016-04-13 10:10:51 +03:00
Hyunjun Ko
9dc463346e
video/audio meta: transform_func: return FALSE if not supported or failed
...
https://bugzilla.gnome.org/show_bug.cgi?id=751778
2015-07-07 16:41:23 +03:00
Nicolas Dufresne
3d594ad57f
gi: Add (transfer none) for various video meta
...
These method chains gst_buffer_add_meta() which is also transfer
none.
2015-06-16 16:07:27 -04:00
Jan Schmidt
2a37534129
video: Various simple docs fixes
2014-08-15 01:08:12 +10:00
Vincent Penquerc'h
3d1fdf8dd8
video-overlay-composition: guard against NULL pointer dereference on error
...
If gst_video_overlay_rectangle_apply_global_alpha is called with
a rectangle with unsuitable alpha, expanding the alpha plane will
fail, and thus lead to dereferencing a NULL src pointer. It's not
certain this will happen in practice, as the function is static
and callers might ensure suitable alpha before calling, but there
is no apparent explicit such check.
Add prologue asserts for proper alpha to explicitely prevent this.
Coverity 1139707
2014-04-10 12:35:03 +01:00
Arnaud Vrac
95266cf212
video-overlay-composition: fix ayuv/argb conversion
...
Helps when using dvbsuboverlay in connection with vaapisink
or some other video sink that wants ARGB pixels (dvbsuboverlay
attaches pixels in AYUV format, and we then convert as needed).
Alignment should not be a problem here.
2013-02-19 20:39:29 +00:00
Tim-Philipp Müller
0b329f2c22
video: add define for video formats supported by the overlay blending code
...
For use in template caps by overlay elements that use
video_overlay_composition_blend().
API: GST_VIDEO_OVERLAY_COMPOSITION_BLEND_FORMATS
https://bugzilla.gnome.org/show_bug.cgi?id=665751
2013-02-19 12:54:40 +00:00
Tim-Philipp Müller
5f59b4f7ee
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Michael Smith
a29c4f9489
meta registration: use g_once functions to register these threadsafely.
2012-10-03 10:44:59 -07:00
Mark Nauwelaerts
cd2e795154
videooverlaycomposition: add some _get_argb and _get_ayuv functions
...
... that will handle automatic conversion to indicated format.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683180
2012-09-05 10:15:51 +02:00
Mark Nauwelaerts
89228e911c
videooverlaycomposition: allow more formats for rectangle pixel data
...
... adding AYUV, and allowing for ARGB or RGBA endian-independent.
2012-08-30 12:12:39 +02:00
Mark Nauwelaerts
dd4836a8d1
videooverlaycomposition: stricter check on input variables
2012-08-28 11:01:46 +02:00
Tim-Philipp Müller
ed8504e590
video-overlay-composition: fix GSlice alloc/free size mismatch
...
Fix copy'n'paste bug which made us allocate a slice of the
size of a rectangle for the overlay composition, but then
free it passing the size of an overlay composition, which
is not something GSlice takes to kindly, resulting in scary
aborts like:
***MEMORY-ERROR***: GSlice: assertion failed: sinfo->n_allocated > 0
Also, g_slice_new already includes a cast, so remove our
own casts, without which the compiler would probably have
told us about this ages ago.
https://bugzilla.gnome.org/show_bug.cgi?id=680091
2012-07-19 13:39:25 +01:00
Mark Nauwelaerts
f89c7b605f
videooverlaycomposition: replace API parameters with required video meta on pixel data
2012-07-17 18:08:11 +02:00
Mark Nauwelaerts
d8a9c18e81
videooverlaycomposition: use GstVideoInfo internally and streamline stride handling
2012-07-17 18:08:11 +02:00
Edward Hervey
2817bdadc9
libs: Remove "Since" markers and minor doc fixups
2012-07-13 12:11:06 +02:00
Mark Nauwelaerts
db3ce93c51
Revert "videooverlaycomposition: ensure proper buffer copy"
...
This reverts commit 1d413ace64
.
Plain gst_buffer_copy() is now doing the expected ...
See https://bugzilla.gnome.org/show_bug.cgi?id=678384 .
2012-07-05 16:39:17 +02:00
Wim Taymans
f7f2c13efc
update for miniobject changes
2012-07-04 17:06:28 +02:00
Mark Nauwelaerts
bcc5a89a98
videooverlaycomposition: make API meta oriented
...
... and as such more consistent with other buffer meta components.
2012-07-03 14:27:35 +02:00
Mark Nauwelaerts
1d413ace64
videooverlaycomposition: ensure proper buffer copy
...
This is only temporary and could and should be modified to use
regular buffer copy once https://bugzilla.gnome.org/show_bug.cgi?id=679145
is resolved.
2012-07-02 14:34:14 +02:00
Mark Nauwelaerts
0fba95a7b1
videooverlaycomposition: fix some refcounting and avoid possible NULL use
2012-06-29 18:56:09 +02:00
Mark Nauwelaerts
e94022806f
videooverlaycomposition: port to 0.11
...
... which also entails porting video-blend
Fixes #678384 .
2012-06-28 18:16:20 +02:00
Sebastian Dröge
9e13d70b2c
Merge remote-tracking branch 'origin/0.10'
...
Conflicts:
gst-libs/gst/video/video-overlay-composition.c
tests/check/libs/video.c
2012-03-29 15:00:22 +02:00
Tim-Philipp Müller
32679e1826
video: overlay-composition: some minor clean-ups
...
extract_alpha and apply_global alpha always return TRUE really,
so just do away with the return value. Convert a g_return_if_fail()
into a g_assert(), since this is only to check internal consistency
and not a guard for public API. Add some locking.
https://bugzilla.gnome.org/show_bug.cgi?id=668483
2012-03-25 11:27:24 +01:00
Holger Kaelberer
76c0881549
video: overlay-composition: add support for global alpha multiplicator
...
https://bugzilla.gnome.org/show_bug.cgi?id=668483
2012-03-25 11:27:24 +01:00
Wim Taymans
32bd12dba9
Merge branch 'master' into 0.11
...
Conflicts:
.gitignore
common
configure.ac
ext/vorbis/gstvorbisdeclib.h
gst-libs/gst/audio/gstaudioencoder.c
gst-libs/gst/riff/riff-read.c
gst/playback/gstplaysink.c
gst/playback/gstplaysinkconvertbin.c
tests/check/libs/video.c
2012-03-22 11:35:13 +01:00
Tim-Philipp Müller
2c4b379470
video: overlay-composition: fix alpha premultiply and unpremultiply
...
Fix component offsets for little endian systems.
https://bugzilla.gnome.org/show_bug.cgi?id=668483
2012-03-14 18:04:38 +00:00
Holger Kaelberer
027f5bb471
video: overlay-composition: fix rectangle caching after alpha (un)premultiplying
...
If we are asked to (un)premultiply,we need to create the new rectangle
with the right flags, so we can find it properly on subsequent cache
lookups (also because it's wrong otherwise).
https://bugzilla.gnome.org/show_bug.cgi?id=668483
2012-03-14 18:04:38 +00:00
Holger Kaelberer
7a21d1eb32
video: overlay-composition: fix crash when doing premultiplied<->unpremultiplied alpha conversion
...
We need to copy the pixels before messing with them, not least
because the buffer creation code below assumes it's ok to take
ownership.
Fixes crash caused by double-free.
https://bugzilla.gnome.org/show_bug.cgi?id=668483
2012-03-14 18:04:38 +00:00
Holger Kaelberer
6b7f25a2f0
video: overlay-composition: check the right flags when searching for a cached rectangle
...
Compare the flags of the *cached* rectangle to the desired flags when
checking for a suitable rectangle in the cache.
https://bugzilla.gnome.org/show_bug.cgi?id=668483
2012-03-14 18:04:37 +00:00
Tim-Philipp Müller
576bbb4fd8
Remove compatibility code cruft for old GLib versions
2012-01-18 17:22:21 +00:00
Sebastian Dröge
dc8984d76c
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/app/gstappsrc.c
gst-libs/gst/audio/multichannel.h
gst-libs/gst/video/videooverlay.c
gst/playback/gstplaysink.c
gst/playback/gststreamsynchronizer.c
tests/check/Makefile.am
win32/common/libgstvideo.def
2012-01-10 13:15:12 +01:00
Vincent Penquerc'h
5cf87eedc4
video: overlays may now have premultiplied alpha
...
https://bugzilla.gnome.org/show_bug.cgi?id=666177
2012-01-06 10:19:19 +00:00
Wim Taymans
ddc05e0ed1
propertyprobe: remove propertyprobe
...
Remove the propertyprobe interface
Improve docs
2011-12-21 11:58:53 +01:00
Tim-Philipp Müller
91bbfbd819
video: make composition_blend() return a boolean
...
Not that anyone will ever check that, and it's not clear what
they're supposed to do if it fails, but at least it's there.
2011-12-07 18:45:28 +00:00
Tim-Philipp Müller
6757afc0bc
docs: add new API to docs
2011-12-07 18:38:06 +00:00
Tim-Philipp Müller
5037b39883
video: add seqnum getters for overlay compositions and rectangles
...
API: gst_video_overlay_composition_get_seqnum()
API: gst_video_overlay_rectangle_get_seqnum()
2011-12-07 17:57:08 +00:00
Tim-Philipp Müller
7d20a7bdb9
video: don't use deprecated GStaticMutex with newer glib versions
2011-12-05 15:48:07 +00:00