[Webkit-unassigned] [Bug 73545] [GStreamer] FFTFrame implementation

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Jan 26 01:19:45 PST 2012


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





--- Comment #25 from Philippe Normand <pnormand at igalia.com>  2012-01-26 01:19:45 PST ---
(In reply to comment #24)
> (From update of attachment 123962 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=123962&action=review
> 
> > Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:47
> > +    m_complexData = WTF::fastNewArray<GstFFTF32Complex>(unpackedFFTDataSize(m_FFTSize));
> 
> It seems odd to use fastNewArray for the allocation.  I don't know if it's "wrong" or not, but FFTFrameFFMPEG and FFTFrameMKL simply use an AudioFloatArray
> 

Well the GstFFT API stores the complex data in GstFFTF32Complex structures. Not sure I can do anything about that :)

> > Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:123
> > +    for (size_t i = 0; i < unpackedFFTDataSize(m_FFTSize); ++i) {
> 
> Thanks to Intel, you should be able to optimize this loop using the new VectorMath::zvmul()  and VectorMath::vsmul() functions.  You can look at FFTFrameMac and FFTFrameFFMPEG as an example
> 

Oh, nice!

> > Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:145
> > +    for (size_t i = 0; i < unpackedFFTDataSize(m_FFTSize); ++i) {
> 
> I think you could use VectorMath::vsmul() here
> 

Hum, really? How can I trick it to access the .i and .r fields of GstFFTF32Complex?

> > Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:166
> > +    for (unsigned i = 0; i < m_FFTSize; ++i)
> 
> could use VectorMath::vsmul() here

Ok.

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