[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