Closed Bug 976695 Opened 10 years ago Closed 10 years ago

Consider converting ycrcb gfx convert/scale/rotate functions to media/libyuv

Categories

(Core :: Graphics, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 791941

People

(Reporter: jesup, Unassigned)

Details

(Keywords: perf)

The gfx/ycrcb functions were last updated in 2010 from Chromium.  We should consider using media/libyuv functions instead unless there's too much of an interface/functionality mismatch or for some reason the current functions are faster than libyuv (unlikely, but possible).

media/libyuv has all sorts of optimized variations with SSE2/SSE3/AVX2/NEON/etc opts and is up-to-date with upstream (or pretty close).

I mention it because when I was in a test call with profiling in webrtc and I was seeing 6% in FastConvertYUVToRGB32Row().

Alternatively, we should consider updating them from upstream.
Keywords: perf
It looks like chromium now features SSE*/MMX optimized versions of some of these functions:

http://src.chromium.org/svn/trunk/src/media/base/simd/

Looks like it would be better to use media/libyuv if possible.
Somebody should measure the candidates and determine which is the fastest.
(In reply to Chris Pearce (:cpearce) from comment #2)
> Somebody should measure the candidates and determine which is the fastest.

I agree.

There are other issues that we will have to consider, particularly with sub-pixel alignment shifts introduced by scaling.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.