[Webkit-unassigned] [Bug 74842] SSE optimization for FFTFrameFFMPEG.cpp::multiply()

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Dec 21 21:29:00 PST 2011


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





--- Comment #13 from Chris Rogers <crogers at google.com>  2011-12-21 21:29:00 PST ---
(In reply to comment #12)
> Not quite understand it, do you mean that the ::zvmul should be re-defined as VDSP_zvmul and import DSPSplitComplex into non-OS(DARWIN)?
> or
> add another zvmul definition below in VectorMath.h?
> #if OS(DARWIN)
> void vDSP_zvmul(const DSPSplitComplex *, vDSP_Stride ,const DSPSplitComplex *, vDSP_Stride, const DSPSplitComplex *, vDSP_Stride, vDSP_Length , int );
> #endif

It's easier if I just show you how the function should be defined:

void zvmul(const float* real1P, const float* imag1P, const float* real2P, const float* imag2P, float* realDestP, float* imagDestP, size_t framesToProcess)
{
    DSPSplitComplex sc1;
    DSPSplitComplex sc2;
    DSPSplitComplex dest;
    sc1.realp = real1P;
    sc1.imagp = imag1P;
    sc2.realp = real2P;
    sc2.imagp = imag2P;
    dest.realp = realDestP;
    dest.imagp = imagDestP;
#if defined(__ppc__) || defined(__i386__)
    ::zvmul(&sc1, 1, &sc2, 1, &dest, 1, framesToProcess, 1);
#else
    vDSP_zvmul(&sc1, 1, &sc2, 1, &dest, 1, framesToProcess, 1);
#endif
}

-- 
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