After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 576286 - [videomixer] Should accept/output non-alpha streams
[videomixer] Should accept/output non-alpha streams
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: High enhancement
: 0.10.23
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-03-22 13:40 UTC by Edward Hervey
Modified: 2010-05-04 06:20 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
i420mixer (65.72 KB, text/x-csrc)
2009-03-27 12:39 UTC, Sjoerd Simons
Details

Description Edward Hervey 2009-03-22 13:40:14 UTC
Currently videomixer only accepts/outputs AYUV streams.

While this is in par with the KISS philosphy, it also means having to put plenty of elements (alpha/ffmpegcolorspace) before/after the videomixer.

It should be able to accept both alpha and non-alpha streams and output either alpha or non-alpha streams (based on caps nego)
Comment 1 Edward Hervey 2009-03-23 07:32:48 UTC
This is very-high-priority for PiTiVi (and any apps using videomixer on a regular basis tbh).

Sjoerd Simons from Telepathy/Farsight created a fork for non-alpha, maybe he has useful information.

Comment 2 Wim Taymans 2009-03-24 14:49:51 UTC
<sjoerd> wtay: i have the code somewhere from a forked version of videomixer, that just does i420 as inputs
<sjoerd> but it's quite heavily changed for the needs of the project i was doing at the time
<wtay> sjoerd, cool, where is it? is it ready for inclusion?
<sjoerd> it would need substansive cleanups
<wtay> I could do that
<sjoerd> i can dig the code up so you can have a look at it
<sjoerd> in the end it was more of a liveadder for videostreams then a more generic videomixer
<sjoerd> I'll dig up the code tonight, should still be on my desktop which is at home and turned off atm
Comment 3 Sjoerd Simons 2009-03-27 12:39:15 UTC
Created attachment 131494 [details]
i420mixer

I420mixer, mixes i420 live sources. Forked of videomixer quite a time ago for a specific project. Never cleaned up and probably contains a fair amount of dead code, hacks and dragons, so tread carefully
Comment 4 Alex Ugarte 2009-03-27 19:57:44 UTC
Hi!

I have been working on a modification for videomixer, so that it also accepts BGRA buffers. Although this is not what is requested in this "bug", i think it could help to fix it.

This is a summary of what I have done:
*I have removed the following functions:
  gst_videomixer_fill_checker
  gst_videomixer_fill_color
  gst_videomixer_blend_ayuv_ayuv
and replace them by three functors:
  (*blend) 
  (*fill_checker)
  (*fill_color)
These functionalities are implemented in two files, one for AYUV (blend_ayuv.c) and one for BGRA (blend_bgra.c)

*The plugin's pads now negotitate their format so that tey all have the same format (size may be different), more or less in the sameway as audio "adder" does. Depending on the format AYUV or BGRA functions are set to the functors.

I think it would be easy to add the functionality requested in this "bug", by simply providing a blend_i420.c file.

However, I do not know how to proceed to submit my give all these changes to the project. I sent a ZIP file to the mailing list, but I was redirected to submit a bug here and I have seen this.

I have downloaded the last version from git, and included my changes there, so I could easily submit a patch (I still have to learn a couple of things about git :). But where should I send it?

Any instrunctions on how to preceed?


Kindly regards,
Alex




Comment 5 Alex Ugarte 2009-03-27 23:49:59 UTC
Hi again,
I have requested a new feature (Bug 577017) where I have uploaded the patch with the code I explained. I have also added the functionality to blend I420 as it is requested here (I think).
I have used the code from i420mixer.c code from comment #3. However the fill_checker code there is for AYUV and not for I420, so the function is empty.

In the comments of videomixer.c there are a couple of additional pipelines to test the plugin with gst-launch.

Direct link to the bug: http://bugzilla.gnome.org/show_bug.cgi?id=577017
 
Comment 6 Sebastian Dröge (slomo) 2010-04-20 10:37:33 UTC
Ok, so is anything here still needed? videomixer supports all kinds of color formats now but requires the same on all inputs/outputs.
Comment 7 Edward Hervey 2010-05-04 06:20:18 UTC
With latest patches from Sebastian, we support most needed colorspaces. Closing bug.