WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED WONTFIX
113527
Add a FFT implementation using kissfft in FFTFrame
https://bugs.webkit.org/show_bug.cgi?id=113527
Summary
Add a FFT implementation using kissfft in FFTFrame
Alex KUOCH
Reported
2013-03-28 12:17:55 PDT
This is the first step to enable WebAudio on Android. Adding an extra FFT implementation using kissfft in FFTFrame. The kissfft patch code could be found under :
https://www.codeaurora.org/patches/quic/webtech/1602-kissfft-add-neon-optimized-routines.patch
Expected results: This change should be seamless as used specifically for Android OS
Attachments
Patch
(19.65 KB, patch)
2013-04-04 13:05 PDT
,
Alex KUOCH
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Raymond Toy
Comment 1
2013-04-02 11:04:29 PDT
(In reply to
comment #0
)
> This is the first step to enable WebAudio on Android. > Adding an extra FFT implementation using kissfft in FFTFrame. > The kissfft patch code could be found under : >
https://www.codeaurora.org/patches/quic/webtech/1602-kissfft-add-neon-optimized-routines.patch
> > Expected results: > This change should be seamless as used specifically for Android OS
Thanks for the link and patch. I ran some tests using your KissFFT implementation on a Galaxy Nexus phone and compared the results with
https://code.google.com/p/webrtc/source/browse#svn%2Fdeps%2Fthird_party%2Fopenmax
. My tests show that KissFFT runs about half as the OpenMAX implementation.
Alex KUOCH
Comment 2
2013-04-03 07:09:31 PDT
(In reply to
comment #1
) Thx for the feedback, could you detail "runs about half as" . Do you mean slower or faster ? Thx Alex
> (In reply to
comment #0
) > > This is the first step to enable WebAudio on Android. > > Adding an extra FFT implementation using kissfft in FFTFrame. > > The kissfft patch code could be found under : > >
https://www.codeaurora.org/patches/quic/webtech/1602-kissfft-add-neon-optimized-routines.patch
> > > > Expected results: > > This change should be seamless as used specifically for Android OS > > Thanks for the link and patch. I ran some tests using your KissFFT implementation on a Galaxy Nexus phone and compared the results with
https://code.google.com/p/webrtc/source/browse#svn%2Fdeps%2Fthird_party%2Fopenmax
. > > My tests show that KissFFT runs about half as the OpenMAX implementation.
Raymond Toy
Comment 3
2013-04-03 09:44:35 PDT
(In reply to
comment #2
)
> (In reply to
comment #1
) > > Thx for the feedback, could you detail "runs about half as" . Do you mean slower or faster ?
Sorry, that confuses me too. To be concrete, a 1024-point complex float FFT takes 190 us with KissFFT and 89.8 us with OpenMAX on a Galaxy Nexus phone. The ratio of KissFFT times to OpenMAX times is roughly 2 for all the orders I tried. If the KissFFT times don't make sense to you, please let me know. Perhaps I made a mistake in compiling it.
> > Thx > > Alex > > > (In reply to
comment #0
) > > > This is the first step to enable WebAudio on Android. > > > Adding an extra FFT implementation using kissfft in FFTFrame. > > > The kissfft patch code could be found under : > > >
https://www.codeaurora.org/patches/quic/webtech/1602-kissfft-add-neon-optimized-routines.patch
> > > > > > Expected results: > > > This change should be seamless as used specifically for Android OS > > > > Thanks for the link and patch. I ran some tests using your KissFFT implementation on a Galaxy Nexus phone and compared the results with
https://code.google.com/p/webrtc/source/browse#svn%2Fdeps%2Fthird_party%2Fopenmax
. > > > > My tests show that KissFFT runs about half as the OpenMAX implementation.
Alex KUOCH
Comment 4
2013-04-03 14:01:22 PDT
(In reply to
comment #3
) Could you confirm that those numbers had the NEON flag enabled ? Also, the performance of the FFT was not a concern in this case as I needed the functionality which was not available at the time I started this work. SO I don't have currently accurate numbers as you do. I really appreciate your feedback on the performance.
> (In reply to
comment #2
) > > (In reply to
comment #1
) > > > > Thx for the feedback, could you detail "runs about half as" . Do you mean slower or faster ? > > Sorry, that confuses me too. To be concrete, a 1024-point complex float FFT takes 190 us with KissFFT and 89.8 us with OpenMAX on a Galaxy Nexus phone. The ratio of KissFFT times to OpenMAX times is roughly 2 for all the orders I tried. If the KissFFT times don't make sense to you, please let me know. Perhaps I made a mistake in compiling it. > > > > > > Thx > > > > Alex > > > > > (In reply to
comment #0
) > > > > This is the first step to enable WebAudio on Android. > > > > Adding an extra FFT implementation using kissfft in FFTFrame. > > > > The kissfft patch code could be found under : > > > >
https://www.codeaurora.org/patches/quic/webtech/1602-kissfft-add-neon-optimized-routines.patch
> > > > > > > > Expected results: > > > > This change should be seamless as used specifically for Android OS > > > > > > Thanks for the link and patch. I ran some tests using your KissFFT implementation on a Galaxy Nexus phone and compared the results with
https://code.google.com/p/webrtc/source/browse#svn%2Fdeps%2Fthird_party%2Fopenmax
. > > > > > > My tests show that KissFFT runs about half as the OpenMAX implementation.
Raymond Toy
Comment 5
2013-04-03 16:04:42 PDT
(In reply to
comment #4
)
> (In reply to
comment #3
) > > Could you confirm that those numbers had the NEON flag enabled ?
The build had -mfpu=neon and -D__ARM_HAVE_NEON.
> Also, the performance of the FFT was not a concern in this case as I needed the functionality which was not available at the time I started this work. SO I don't have currently accurate numbers as you do. I really appreciate your feedback on the performance.
Thanks for the info.
> > > (In reply to
comment #2
) > > > (In reply to
comment #1
) > > > > > > Thx for the feedback, could you detail "runs about half as" . Do you mean slower or faster ? > > > > Sorry, that confuses me too. To be concrete, a 1024-point complex float FFT takes 190 us with KissFFT and 89.8 us with OpenMAX on a Galaxy Nexus phone. The ratio of KissFFT times to OpenMAX times is roughly 2 for all the orders I tried. If the KissFFT times don't make sense to you, please let me know. Perhaps I made a mistake in compiling it. > > > > > > > > > > Thx > > > > > > Alex > > > > > > > (In reply to
comment #0
) > > > > > This is the first step to enable WebAudio on Android. > > > > > Adding an extra FFT implementation using kissfft in FFTFrame. > > > > > The kissfft patch code could be found under : > > > > >
https://www.codeaurora.org/patches/quic/webtech/1602-kissfft-add-neon-optimized-routines.patch
> > > > > > > > > > Expected results: > > > > > This change should be seamless as used specifically for Android OS > > > > > > > > Thanks for the link and patch. I ran some tests using your KissFFT implementation on a Galaxy Nexus phone and compared the results with
https://code.google.com/p/webrtc/source/browse#svn%2Fdeps%2Fthird_party%2Fopenmax
. > > > > > > > > My tests show that KissFFT runs about half as the OpenMAX implementation.
Alex KUOCH
Comment 6
2013-04-04 13:05:38 PDT
Created
attachment 196509
[details]
Patch
Raymond Toy
Comment 7
2013-04-05 09:15:58 PDT
(In reply to
comment #6
)
> Created an attachment (id=196509) [details] > Patch
Given that
https://bugs.webkit.org/show_bug.cgi?id=109755
has landed, will that work for you instead of using KissFFT?
Alex KUOCH
Comment 8
2013-04-05 10:06:11 PDT
Yes definitively, Thx for for the patch. (In reply to
comment #7
)
> (In reply to
comment #6
) > > Created an attachment (id=196509) [details] [details] > > Patch > > Given that
https://bugs.webkit.org/show_bug.cgi?id=109755
has landed, will that work for you instead of using KissFFT?
Raymond Toy
Comment 9
2013-04-05 10:08:38 PDT
(In reply to
comment #8
)
> Yes definitively,
Great! Closing this bug, then.
> > Thx for for the patch. > > (In reply to
comment #7
) > > (In reply to
comment #6
) > > > Created an attachment (id=196509) [details] [details] [details] > > > Patch > > > > Given that
https://bugs.webkit.org/show_bug.cgi?id=109755
has landed, will that work for you instead of using KissFFT?
Alexey Proskuryakov
Comment 10
2013-04-05 10:12:33 PDT
Comment on
attachment 196509
[details]
Patch Clearing review flag in a resolved bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug