Orc and conversion from I420 to BGRA/RGBA

Tim Müller tim at centricular.com
Tue Jun 21 14:23:23 UTC 2016


On Tue, 2016-06-21 at 16:17 +0200, Peter Maersk-Moller wrote:
Hi,
> Noticing that conversion from I420 to BGRA and RGBA still uses
> different amount of CPU with conversion to BGRA being the fastest
> (lowest CPU load).
> 
> Looking into gst-plugins-base-1.8.1/gst-libs/gst/video/video-
> converter.c I have identified the Orc enabled function
> video_orc_convert_I420_BGRA() used for converting to BGRA, but I
> can't seem to find the similar function for RGBA. What function is
> used for conversion to RGBA?
> 
> Is there a quality difference in color quality between converting
> I420 to BGRA respectively RGBA ? I seem to remember mentioned the
> "fast path conversion" for I420 to some variant of RGB/BGR. Is fast
> path conversion the video_orc_convert_I420_BGRA() ?
> 
> In case there is a color quality difference between fast path
> conversion and non fast path conversion (slow/normal path
> conversion?), is it the possibly to quantify this difference either
> specifically or loosly (like a little degradation, a lot, about 10%
> or these color ranges gets wrong etc) ?
> 
> Looking into the Orc code for video_orc_convert_I420_BGRA(), I see
> this can be modified to convert to RGBA with just copying the
> video_orc_convert_I420_BGRA() function and then make it save in
> another order for the color components. Wouldn't that be a low
> hanging fruit for GStreamer since the conversion, as it is now, can
> be done in almost half the time for BGRA compared to RGBA .... or is
> there a quality aspect I don't now about, making the current
> conversion to RGBA preferred?
> 
> 
> 
It's just low-hanging fruit. Note that some additional fastpaths have
been added in git master already.
Cheers
 -Tim

-- 
Tim Müller, Centricular Ltd - http://www.centricular.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160621/a8d97f3d/attachment.html>


More information about the gstreamer-devel mailing list