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 732186 - videoconvert optimization
videoconvert optimization
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
1.x
Other Linux
: Normal enhancement
: 1.5.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-06-24 20:23 UTC by Nicola
Modified: 2015-03-10 16:31 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Use tables and YUV in one 64-bit (3.72 KB, patch)
2014-06-30 17:03 UTC, Andrey Mozzhuhin
none Details | Review

Description Nicola 2014-06-24 20:23:04 UTC
this bug is to keep track of the optimizations suggested here:

http://gstreamer-devel.966125.n4.nabble.com/Videoconvert-needs-to-be-optimized-td4667003.html
Comment 1 Andrey Mozzhuhin 2014-06-30 17:03:07 UTC
Created attachment 279623 [details] [review]
Use tables and YUV in one 64-bit

On 32-bit and 64-bit Intel and 32-bit ARM this code works around 2x faster.
Comment 2 Wim Taymans 2015-03-10 11:25:15 UTC
It is indeed faster but it also produces wrong results for AYUV->ARGB conversions with out-of-gammut values because it doesn't do any clipping.
Comment 3 Wim Taymans 2015-03-10 16:31:50 UTC
commit 0d333d8d444dd9da052613b33c6f6911e6e414f8
Author: Wim Taymans <wtaymans@redhat.com>
Date:   Tue Mar 10 15:12:30 2015 +0100

    video-converter: add table based matrix8 implementation
    
    Based on patch from Mozzhuhin Andrey <nopscmn at gmail.com>
    
    Add a table based matrix8 multiplication implementation. The algorithm
    does not do any clipping so we need to make sure we never call this on
    input that might need to be clipped. In general, this algorithm is
    2 times faster than the orc optimized one and would be chosen for all
    RGB -> YUV conversions and some YUV->YUV and RGB->RGB conversions.
    
    Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732186