Mathieu Duponchelle
53b0808042
compositor: update zorder documentation.
...
It is not bound between 0 and 10000 anymore.
2015-06-14 23:20:38 +02:00
Sebastian Dröge
0034323f49
Release 1.5.1
2015-06-07 10:55:35 +02: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
Sebastian Dröge
41c11e3979
compositor: Fix double assignment
2015-05-21 16:19:08 +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
Stefan Sauer
4116d11327
Revert "doc: Workaround gtkdoc issue"
...
This reverts commit ff6c736fe0
.
This is fixed by the gtk-doc 1.23 release.
<para> cannot contain <refsect2>:
http://www.docbook.org/tdg/en/html/para.html
http://www.docbook.org/tdg/en/html/refsect2.html
2015-05-18 20:16:32 +02:00
Nicolas Dufresne
ff6c736fe0
doc: Workaround gtkdoc issue
...
With gtkdoc 1.22, the XML generator fails when a itemizedlist is
followed by a refsect2. Workaround the issue by wrapping the
refsect2 into para.
2015-05-16 23:38:14 -04:00
Matthew Waters
0871b7b43d
compositor: implement proper par handling
...
We were previously failing on different input and output par
2015-05-14 14:58:07 +10:00
Matthew Waters
c519169052
compositor: fix rectangle obscure test to clamp against the output frame size
...
Rather than one of the input pad video info's.
The test checking this was not constraining the output frame size
to ensure that the out of frame stream was not being displayed.
2015-05-13 17:44:30 +10:00
Nirbheek Chauhan
1c60de8ad7
compositor: Only map the frame from a buffer if it will be used
...
It's a waste of resources to map it if it won't be converted
or used at all. Since we moved the frame mapping down, we need
to use the GST_VIDEO_INFO accessor macros now in the code above
that instead of the GST_VIDEO_FRAME accessor macros.
https://bugzilla.gnome.org/show_bug.cgi?id=746147
2015-05-01 11:27:55 +01:00
Nirbheek Chauhan
cc2de817ae
compositor: use accessor macros for consistency
...
https://bugzilla.gnome.org/show_bug.cgi?id=746147
2015-05-01 10:57:08 +01:00
Nirbheek Chauhan
e0fd23cb23
compositor: Skip pads that are completely obscured by a higher zorder pad
...
For each frame, compare the frame boundaries, check if the format contains an
alpha channel, check opacity, and skip the frame if it's going to be completely
overwritten by a higher zorder frame. The check is O(n^2), but that doesn't
matter here because the number of sinkpads is small.
More can be done to avoid needless drawing, but this covers the majority of
cases. See TODOs. Ideally, a reverse painter's algorithm should be used for
optimal drawing, but memcpy during compositing is small compared to the CPU used
for frame conversion on each pad.
https://bugzilla.gnome.org/show_bug.cgi?id=746147
2015-05-01 10:56:32 +01:00
Jan Schmidt
d5ca311a0d
compositor: Revert most of previous patch.
...
The calculation doesn't produce the same results.
Keep just the change to divide alpha by 255 instead of 256,
for slightly better accuracy
2015-03-16 04:00:44 +11:00
Jan Schmidt
badc0438d6
compositor: Fix blending functions
...
Correctly calculate alpha in a few places by dividing by 255,
not 256.
Fix the argb and bgra blending functions to avoid an off-by-one
error in the calculations, so painting with alpha = 0xff doesn't
ever bleed through from behind
2015-03-16 00:33:23 +11:00
Vincent Penquerc'h
15d51c1f6c
compositor: fix illegal memory access in blend function with negative ypos
...
https://bugzilla.gnome.org/show_bug.cgi?id=741115
2015-01-19 12:38:13 +00:00
Nirbheek Chauhan
29975746dc
compositor: Document the zorder pad property from gstvideoaggregator
2015-01-14 19:21:36 +01:00
Sebastian Dröge
ddb535c35d
compositor: Don't do any conversions if the pad is completely transparent anyway
2015-01-13 14:54:26 +01:00
Stefan Sauer
4732962c85
gitignore: ignore more files
2015-01-12 22:52:36 +01:00
Nirbheek Chauhan
ad1a25ba37
compositor: Document the pad properties
2014-12-27 11:04:52 +00:00
Sebastian Dröge
ccaf07d53d
compositor: Fix memory leak when no buffer is available for a pad currently
...
CID 1258718
2014-12-18 11:49:09 +01:00
Sebastian Dröge
d4c4af699e
aggregator: Add a timeout parameter to ::aggregate()
...
When this is TRUE, we really have to produce output. This happens
in live mixing mode when we have to output something for the current
time, no matter if we have enough input or not.
2014-12-17 18:41:41 +01:00
Sebastian Dröge
06013a0a6c
compositor: Failure to map a video frame is not just a warning
...
Also add some warning debug output if mapping a output buffer fails
2014-11-28 10:23:55 +01:00
Sebastian Dröge
2a5aed6966
compositor: Implement rescaling of the input via pad properties
...
compositor has now the same interface as glvideomixer.
2014-11-27 21:23:04 +01:00
Sebastian Dröge
debf5340bb
compositor: Remove unused zorder pad property
...
It's handled in videoaggregator already.
2014-11-26 12:42:24 +01:00
Sebastian Dröge
7eef9dd0ad
compositor: GstVideoMeta is supported just fine, tell upstream about that
...
Also provide a GstVideoBufferPool to upstream just in case.
2014-11-25 19:03:21 +01:00
Matthew Waters
f0caf04ad6
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
Edward Hervey
48006e2136
compositor: Fix Makefile CFLAGS/LIBADD ordering
...
We want to use the libraries from -bad if/when present
2014-06-24 08:01:21 +02:00
Sebastian Dröge
6d3d06c91f
Release 1.3.3
2014-06-22 19:22:28 +02:00
Mathieu Duponchelle
11fa711c34
compositor: Add a new compositor based on the new GstVideoAggregator base class
...
It is a replacement for videomixer with a similare API
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
https://bugzilla.gnome.org/show_bug.cgi?id=731919
2014-06-20 19:53:33 +02:00