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

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Dec 20 01:44:55 PST 2011


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





--- Comment #3 from xingnan.wang at intel.com  2011-12-20 01:44:55 PST ---
(In reply to comment #2)
> Thanks for doing this.  You got to it first before I could recommend it to you!
> 
> One thing I would suggest is to take this code out of FFTFrameFFMPEG and move it to a place where other FFTFrame implementations could potentially use it (or other code needing complex multiply).  Maybe it makes sense to make a function for this in VectorMath?  In FFTFrameMac.cpp there's a call to a vecLib function called vDSP_zvmul(), so zvmul()??

Hi Roger,

I agree that we should add a zvmul into VectorMath, and in my mind it`s also very meaning to add more basic vector calculation functions such as vDSP_deq22D in Biquad.cpp to VectorMath and thus we can get more benefits from SSE optimization in audio processing. If so I am very glad to contribute more such optimization codes to enlarge the VectorMath.

For the zvmul, I would like to add two with different types:
//1. To be consistent with vDSP_zvmul
void zvmul(const float* source1P, int sourceStride1, const float* source2P, int sourceStride2, float* destP, int destStride, size_t framesToProcess, int conjugate);
//2. Used in FFTFrame, avoiding splitting and merging of complex_data
void zvmul(const float* real1P, const float* imag1P, const float* real2P, const* imag2P, float* realDestP, float* imagDestP, size_t framesToProcess); 

They have different implementations of SSE optimization.
If the two function`s definitions are OK, patch coming soon.
Thanks for any comments.

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