gstreamer/gst
Lane Brooks 69b5aedc58 videomixer2: Add transparent background option for alpha channel formats
This option allows the videomixer2 element to output a valid alpha
channel when the inputs contain a valid alpha channel. This allows
mixing to occur in multiple stages serially.

The following pipeline shows an example of such a pipeline:

gst-launch videotestsrc background-color=0x000000 pattern=ball ! video/x-raw-yuv,format=\(fourcc\)AYUV ! videomixer2 background=transparent name=mix1 ! videomixer2 name=mix2 ! ffmpegcolorspace ! autovideosink  videotestsrc ! video/x-raw-yuv,format=\(fourcc\)AYUV ! mix2.

The first videotestsrc in this pipeline creates a moving ball on a
transparent background. It is then passed to the first videomixer2.
Previously, this videomixer2 would have forced the alpha channel to
1.0 and given a background of checker, black, or white to the
stream. With this patch, however, you can now specify the background
as transparent, and the alpha channel of the input will be
preserved. This allows for further mixing downstream, as is shown in
the above pipeline where the a second videomixer2 is used to mix in a
background of an smpte videotestsrc. So the result is a ball hovering
over the smpte test source. This could, of course, have been
accomplished with a single mixer element, but staged mixing is useful
when it is not convenient to mix all video at once (e.g. a pipeline
where a foreground and background bin exist and are mixed at the final
output, but the foreground bin needs an internal mixer to create
transitions between clips).

Fixes bug #639994.
2011-04-01 11:35:26 +02:00
..
alpha alpha: fix compiler warnings caused by -DG_DISABLE_ASSERT 2011-01-07 02:32:20 +00:00
apetag apedemux: Skip empty tags 2010-09-24 15:27:24 +02:00
audiofx Change M_PI to G_PI 2010-12-30 14:20:52 -08:00
auparse build: Makefile.am cleanups 2010-03-18 21:34:24 +00:00
autodetect various (gst): add a missing G_PARAM_STATIC_STRINGS flags 2010-10-13 18:00:28 +03:00
avi avimux: use running time for synchronization 2011-03-22 20:55:27 +01:00
cutter various (gst): add a missing G_PARAM_STATIC_STRINGS flags 2010-10-13 18:00:28 +03:00
debugutils debugutils: remove bitrotten negotiation element 2011-02-17 18:05:43 -08:00
deinterlace deinterlace: Add support for NV21 colorspace 2011-02-24 14:08:25 +01:00
effectv Change M_PI to G_PI 2010-12-30 14:20:52 -08:00
equalizer Change M_PI to G_PI 2010-12-30 14:20:52 -08:00
flv flvdemux: Do not build an index if upstream is not seekable 2011-03-28 19:53:59 +02:00
flx build: Makefile.am cleanups 2010-03-18 21:34:24 +00:00
goom Change M_PI to G_PI 2010-12-30 14:20:52 -08:00
goom2k1 goom: take duration into account when doing QoS 2010-10-05 12:23:15 +02:00
icydemux icydemux: fix tag list handling issues that might have caused crashes 2011-02-21 11:03:03 +00:00
id3demux Revert "id3demux: ensure a taglist before adding the container tag" 2011-02-22 15:21:42 +02:00
imagefreeze imagefreeze: pass along eos if received before buffer arrives 2010-12-06 15:23:00 +01:00
interleave Revert "Check that collectpads exists before removing pad" 2011-02-21 12:25:19 +01:00
law Add -Wwrite-strings to the configure flags 2010-03-21 14:17:47 +01:00
level various (gst): add a missing G_PARAM_STATIC_STRINGS flags 2010-10-13 18:00:28 +03:00
matroska matroskamux: use running time for synchronization 2011-03-22 20:55:37 +01:00
median various (gst): add a missing G_PARAM_STATIC_STRINGS flags 2010-10-13 18:00:28 +03:00
monoscope monoscope: don't leak the monoscope_state data 2011-03-02 13:01:45 +02:00
multifile multifilesink: send stream headers in key-frame mode 2011-01-02 19:22:47 -08:00
multipart various (gst): add a missing G_PARAM_STATIC_STRINGS flags 2010-10-13 18:00:28 +03:00
qtdemux qtdemux: arrange for non-fatal error when parsing non-vital parts 2011-03-02 10:26:46 +01:00
replaygain various (gst): add a missing G_PARAM_STATIC_STRINGS flags 2010-10-13 18:00:28 +03:00
rtp rtpvrawpay: Implement interlacing 2011-02-17 18:05:43 -08:00
rtpmanager jitterbuffer: handle position query 2011-03-09 17:18:08 +01:00
rtsp rtspsrc: improve recovery from failed seek 2011-03-09 17:18:09 +01:00
shapewipe shapewipe: Force format to AYUV in the example pipeline for the same reason 2010-09-21 19:15:22 +02:00
smpte various (gst): add a missing G_PARAM_STATIC_STRINGS flags 2010-10-13 18:00:28 +03:00
spectrum spectrum: refactor processing loop for block based operation 2011-03-25 00:15:48 +02:00
udp udpsink: warn when packet is too large 2011-02-17 18:05:43 -08:00
videobox Update generated orc code 2010-10-15 14:02:57 -07:00
videocrop various (gst): add a missing G_PARAM_STATIC_STRINGS flags 2010-10-13 18:00:28 +03:00
videofilter videoflip: Fix buffer overflow bug for odd resolutions and Y422 colorspaces 2011-03-15 20:23:17 +00:00
videomixer videomixer2: Add transparent background option for alpha channel formats 2011-04-01 11:35:26 +02:00
wavenc wavenc: miniscule code clean-up 2010-09-29 18:53:26 +01:00
wavparse wavparse: tune output max buffer size to material 2011-03-04 18:43:29 +01:00
y4m y4menc: add 4:2:2, 4:1:1, and 4:4:4 output support 2010-04-30 13:50:08 +02:00
Makefile.am build: build plugins and examples in parallel where possible 2010-03-29 11:00:57 +01:00