[Webkit-unassigned] [Bug 86410] [texmap][GStreamer] Composited Video support

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Oct 24 11:52:32 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=86410





--- Comment #45 from arno. <arno at renevier.net>  2012-10-24 11:53:37 PST ---
(In reply to comment #40)
> (In reply to comment #39)
> 
> > > One benefit is that color space conversion could be moved to a shader.
> > 
> > Sure, but that's a halfway-there solution only. Other frameworks (like Stagefright on Android, AVFoundation on OS X and Media Foundation on Windows) demonstrate nicely that all this belongs behind a curtain that WebKit shouldn't have to be concerned about.
> 
> Sure, in an ideal world and for the future, but we can also make things faster for people not using the bleedingest edge versions of Gstreamer.

Hi,
I could indeed measure a performance win when performing the color conversion in a shader.

I measured gst_video_convert_transform_frame execution time in gstreamer-1.0 for a 480x360 video.  color conversion from I420 to BGRx takes between 2000ns and 6000ns (2 to 6ms) color conversion from I420 to AYUV takes between 300ns and 500ns

current paint method takes between 400ns and 2000ns Without a shader, paintTextureMapper takes between 400ns and 700ns.  With a AYUV -> BGRx shader, paintTextureMapper takes between 600ns and 800ns.  Except first time where it take about 12000ns (12ms).

So it looks like with current gstreamer implementation, we have some win by performing the conversion ourself. But I'm concerned about doing that: What will happen when gstreamer change ? For example by implementing the plugins which will allow us to get the meta surface, or by optimizing the color conversion in some way. Does that mean we would have to perform some version check and have two different code paths then ?

Alternatively, it looks like we still have a (small) gain just by using the
texture mapper without a shader.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list