2 months agoMinor test changes to fix compile errors. master
andrew@webrtc.org [Mon, 9 Mar 2015 23:03:29 +0000 (23:03 +0000)]
Minor test changes to fix compile errors.

Corresponds to cl/87905735


Review URL: https://webrtc-codereview.appspot.com/47439004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@8657 4adac7df-926f-26a2-2b94-8c16560cd09d

2 months agoUpdate the GN build with the cpu_arch -> current_cpu rename.
dpranke@chromium.org [Sat, 21 Feb 2015 02:32:19 +0000 (02:32 +0000)]
Update the GN build with the cpu_arch -> current_cpu rename.

R=andrew@webrtc.org, rtoy@google.com, rtoy@chromium.org

Review URL: https://webrtc-codereview.appspot.com/39249005

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@8451 4adac7df-926f-26a2-2b94-8c16560cd09d

3 months agoFixed wrong #define when compiling on ARM with non-NEON selection.
andrew@webrtc.org [Tue, 10 Feb 2015 04:46:05 +0000 (04:46 +0000)]
Fixed wrong #define when compiling on ARM with non-NEON selection.

This CL fixes a (likely) typo/copy-paste issue when compiling on ARM
with NEON disabled.

R=andrew@webrtc.org, rtoy@google.com

Review URL: https://webrtc-codereview.appspot.com/38939004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@8304 4adac7df-926f-26a2-2b94-8c16560cd09d

3 months agoCorrect cpu_arch value for x86 arch.
andrew@webrtc.org [Wed, 4 Feb 2015 23:31:01 +0000 (23:31 +0000)]
Correct cpu_arch value for x86 arch.

GN build use x86 instead ia32 for cpu_arch, otherwise the x86 files
won't be included to build.


Review URL: https://webrtc-codereview.appspot.com/38869004

Patch from Halton Huo <halton.huo@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@8246 4adac7df-926f-26a2-2b94-8c16560cd09d

3 months agoRemoving writen-only local variables.
rtoy@google.com [Mon, 26 Jan 2015 23:46:09 +0000 (23:46 +0000)]
Removing writen-only local variables.

Removing local variables that are never read to appease the compiler
on ChromeOS.


Review URL: https://webrtc-codereview.appspot.com/34859004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@8161 4adac7df-926f-26a2-2b94-8c16560cd09d

3 months agoFix Android GN build.
fdegans@chromium.org [Thu, 22 Jan 2015 11:00:32 +0000 (11:00 +0000)]
Fix Android GN build.


Review URL: https://webrtc-codereview.appspot.com/38639004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@8124 4adac7df-926f-26a2-2b94-8c16560cd09d

3 months agoFix Android ARM Neon build.
fdegans@chromium.org [Wed, 21 Jan 2015 12:50:45 +0000 (12:50 +0000)]
Fix Android ARM Neon build.

Add the GN file copied over from the clankium repository.
Fix an issue with assembly-defined functions visibility.

R=andrew@webrtc.org, rtoy@google.com

Review URL: https://webrtc-codereview.appspot.com/35729004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@8111 4adac7df-926f-26a2-2b94-8c16560cd09d

5 months agoFix for MIPS GN build
rtoy@google.com [Thu, 18 Dec 2014 19:59:16 +0000 (19:59 +0000)]
Fix for MIPS GN build

Patch from Zeljko Lukac <Zeljko.Lukac@imgtec.com>.

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@7954 4adac7df-926f-26a2-2b94-8c16560cd09d

5 months agoDisable LTO on one target due to NEON issues with LTO.
andrew@webrtc.org [Fri, 21 Nov 2014 16:59:05 +0000 (16:59 +0000)]
Disable LTO on one target due to NEON issues with LTO.


Review URL: https://webrtc-codereview.appspot.com/32519004

Patch from Fabrice de Gans-Riberi <fdegans@chromium.org>.

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@7730 4adac7df-926f-26a2-2b94-8c16560cd09d

7 months agoFix typo to unbreak non-ARM builds.
andrew@webrtc.org [Wed, 8 Oct 2014 03:09:24 +0000 (03:09 +0000)]
Fix typo to unbreak non-ARM builds.

TEST=local Linux webrtc build passed.

Review URL: https://webrtc-codereview.appspot.com/23919004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@7392 4adac7df-926f-26a2-2b94-8c16560cd09d

7 months agoFix ARM64 build.
andrew@webrtc.org [Tue, 7 Oct 2014 22:17:54 +0000 (22:17 +0000)]
Fix ARM64 build.

Provide the correct defines and APIs on ARM64, which always has NEON.

TEST=local ARM64 Chromium build passes.

Review URL: https://webrtc-codereview.appspot.com/26739004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@7391 4adac7df-926f-26a2-2b94-8c16560cd09d

7 months agoOnly try to do CPU detection on Android ARM.
andrew@webrtc.org [Fri, 3 Oct 2014 22:17:50 +0000 (22:17 +0000)]
Only try to do CPU detection on Android ARM.

Previously, the code made the assumption that ARM implied Android. It
uses Android-specific machinery to do run-time NEON detection. Retain
this functionality, but on non-Android, don't do run-time detection;
instead require arm_neon==1 in order to build the NEON bits.

TEST=Production code requiring openmax_dl runs correctly on an ARM


Review URL: https://webrtc-codereview.appspot.com/29639004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@7371 4adac7df-926f-26a2-2b94-8c16560cd09d

7 months agoRemove trailing whitespace under dl/sp/api
andrew@webrtc.org [Wed, 1 Oct 2014 18:45:14 +0000 (18:45 +0000)]
Remove trailing whitespace under dl/sp/api


Review URL: https://webrtc-codereview.appspot.com/31559004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@7361 4adac7df-926f-26a2-2b94-8c16560cd09d

7 months agoFix build errors in test programs.
rtoy@google.com [Wed, 1 Oct 2014 18:27:39 +0000 (18:27 +0000)]
Fix build errors in test programs.

MaxSignalType and memcpy were undeclared in some places.
abs() should be used instead of fabs() on integers.

Add support for building on x64, and link with -lm to get
the trig functions.

With these changes, the test programs can be built for native Linux.


Review URL: https://webrtc-codereview.appspot.com/22919004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@7360 4adac7df-926f-26a2-2b94-8c16560cd09d

9 months agoopenmax: Remove .func / .endfunc directives.
thakis@chromium.org [Mon, 18 Aug 2014 23:35:09 +0000 (23:35 +0000)]
openmax: Remove .func / .endfunc directives.

They only have an effect in -gstabs which we don't use, and clang's integrated
assembler doesn't understand them. So just remove them.

Review URL: https://webrtc-codereview.appspot.com/17129004/

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@6925 4adac7df-926f-26a2-2b94-8c16560cd09d

9 months agoMinimized the table sizes for MIPS implementation.
rtoy@google.com [Thu, 31 Jul 2014 16:55:58 +0000 (16:55 +0000)]
Minimized the table sizes for MIPS implementation.

Size of the Twiddle and Offset table is reduced.
Minor changes in algorithm due to the reduced table sizes.
Minor speed improvement observed some FFT sizes.

R=andrew@webrtc.org, rtoy@google.com

Review URL: https://webrtc-codereview.appspot.com/19959004

Patch from Zeljko Lukac <Zeljko.Lukac@imgtec.com>.

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@6807 4adac7df-926f-26a2-2b94-8c16560cd09d

9 months agoConvert all ARM assembler directives to lower case for clang's assembler.
rtoy@google.com [Thu, 24 Jul 2014 22:25:24 +0000 (22:25 +0000)]
Convert all ARM assembler directives to lower case for clang's assembler.

This conversion was done by a script to convert .MACRO, .IFEQS, .ELSE,
.ENDIF, .ENDM, and .END to lowercase.

R=andrew@webrtc.org, thakis@chromium.org

Review URL: https://webrtc-codereview.appspot.com/13059004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@6777 4adac7df-926f-26a2-2b94-8c16560cd09d

11 months agoImplement MIPS real float fft for openmax_dl.
rtoy@google.com [Wed, 18 Jun 2014 20:17:59 +0000 (20:17 +0000)]
Implement MIPS real float fft for openmax_dl.

Mainly target for the web audio usage.
Clean C version. Starting point for platform specific optimizations.
Added support for FFT sizes up to 32768.
Added support for float_rfft_test.
Added support for test_fft_time.

R=andrew@webrtc.org, palmer@chromium.org, rtoy@google.com, turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/9539004

Patch from Zeljko Lukac <Zeljko.Lukac@imgtec.com>.

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@6483 4adac7df-926f-26a2-2b94-8c16560cd09d

11 months agoImplement ARM64 version of OpenMAX DL
rtoy@google.com [Tue, 17 Jun 2014 21:41:37 +0000 (21:41 +0000)]
Implement ARM64 version of OpenMAX DL

This is a conversion of the existing ARM NEON OpenMAX DL FFT routines
to arm64. The translation was done by hand and mostly just uses the
correct register names and instructions for ARM64.

The test_float_fft and test_float_rfft programs pass with SNRs
basically equivalent to the original ARM NEON version.

R=andrew@webrtc.org, leecam@google.com

Review URL: https://webrtc-codereview.appspot.com/14539004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@6477 4adac7df-926f-26a2-2b94-8c16560cd09d

11 months agoEnsure code is compiled in arm mode, not thumb.
rtoy@google.com [Tue, 17 Jun 2014 21:11:18 +0000 (21:11 +0000)]
Ensure code is compiled in arm mode, not thumb.

Per the comment (in an email message about Ne10), the assembly code
should be in arm mode, not thumb.  Enforce that.

TESTS=compile and run the fft tests on a Galaxy Nexus.  Tests pass.

Review URL: https://webrtc-codereview.appspot.com/13639004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@6476 4adac7df-926f-26a2-2b94-8c16560cd09d

12 months agoAdd direct_dependent_settings to openmax_dl/dl.gyp.
turaj@webrtc.org [Fri, 9 May 2014 21:02:10 +0000 (21:02 +0000)]
Add direct_dependent_settings to openmax_dl/dl.gyp.

With this change, targets depending on openmax_dl do not need to extend their include_dirs with the path to openmax_dl.


Review URL: https://webrtc-codereview.appspot.com/14469004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@6096 4adac7df-926f-26a2-2b94-8c16560cd09d

12 months agoFix FFT test programs
rtoy@google.com [Tue, 29 Apr 2014 21:10:06 +0000 (21:10 +0000)]
Fix FFT test programs

Split the FFT test routines out of test_util.c into test_util_fft.c.

test_fft_time will link against test_util.c and fail because
test_fft_time doesn't define the FFT test routines. By splitting it
out, test_fft_time won't link in the references to the test routines.

The name of HasArmNeon has changed to omxSP_HasArmNeon.

TESTS=manually ran test_float_rfft on arm and x86 and test_float_fft on arm.
All tests passed.


Review URL: https://webrtc-codereview.appspot.com/12429005

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@6027 4adac7df-926f-26a2-2b94-8c16560cd09d

12 months agoFix openmax_dl build for Android WebView.
rtoy@google.com [Tue, 29 Apr 2014 18:00:13 +0000 (18:00 +0000)]
Fix openmax_dl build for Android WebView.

WebView cannot rely on cpufeatures from the NDK.

R=andrew@webrtc.org, rtoy@google.com

Review URL: https://webrtc-codereview.appspot.com/12449004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@6024 4adac7df-926f-26a2-2b94-8c16560cd09d

12 months agoFix openmax issue with casting pointers to uint32.
turaj@webrtc.org [Tue, 29 Apr 2014 17:23:56 +0000 (17:23 +0000)]
Fix openmax issue with casting pointers to uint32.

R=andrew@webrtc.org, rtoy@google.com

Review URL: https://webrtc-codereview.appspot.com/12249004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@6019 4adac7df-926f-26a2-2b94-8c16560cd09d

13 months agoFix openmax compile errors on windows.
turaj@webrtc.org [Fri, 18 Apr 2014 21:30:32 +0000 (21:30 +0000)]
Fix openmax compile errors on windows.

Dependency on C99 is removed.

R=andrew@webrtc.org, rtoy@google.com

Review URL: https://webrtc-codereview.appspot.com/12099004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@5939 4adac7df-926f-26a2-2b94-8c16560cd09d

13 months agoFix issues so clang can compile OpenMAX DL library and tests.
rtoy@google.com [Fri, 28 Mar 2014 22:00:24 +0000 (22:00 +0000)]
Fix issues so clang can compile OpenMAX DL library and tests.

R=andrew@webrtc.org, turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/9209004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@5810 4adac7df-926f-26a2-2b94-8c16560cd09d

15 months agoThe detection routines can't be compiled with NEON
rtoy@google.com [Tue, 18 Feb 2014 17:51:57 +0000 (17:51 +0000)]
The detection routines can't be compiled with NEON

If you do, then you get crashes about illegal instructions on
devices without NEON.  Duh!

See https://code.google.com/p/chromium/issues/detail?id=337860


Review URL: https://webrtc-codereview.appspot.com/8749004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@5569 4adac7df-926f-26a2-2b94-8c16560cd09d

17 months agoX86 doesn't have detection routines so map to default FFT routines.
rtoy@google.com [Tue, 3 Dec 2013 17:23:59 +0000 (17:23 +0000)]
X86 doesn't have detection routines so map to default FFT routines.

For X86, just #define the detection routines to the default
routines. This makes the API the same for x86 and arm.

R=andrew@webrtc.org, xingnan.wang@chromium.org

Review URL: https://webrtc-codereview.appspot.com/4749004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@5205 4adac7df-926f-26a2-2b94-8c16560cd09d

18 months agoAdd support for non-NEON ARM FFT
rtoy@google.com [Fri, 15 Nov 2013 00:29:38 +0000 (00:29 +0000)]
Add support for non-NEON ARM FFT

This adds non-NEON support for float FFTs and two new functions for
the forward and inverse real float FFTs.  The two new functions will
automatically choose whether to use the NEON or non-NEON versions.

Tests updated to include separate test programs for the non-NEON code.

R=andrew@webrtc.org, xingnan.wang@chromium.org

Review URL: https://webrtc-codereview.appspot.com/2065004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@5124 4adac7df-926f-26a2-2b94-8c16560cd09d

18 months agoAdd support for building supported test programs for x86.
rtoy@google.com [Tue, 12 Nov 2013 00:19:55 +0000 (00:19 +0000)]
Add support for building supported test programs for x86.


Review URL: https://webrtc-codereview.appspot.com/3739004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@5113 4adac7df-926f-26a2-2b94-8c16560cd09d

18 months agoFix up the ARM paths that were messed up after committing the x86 version.
rtoy@google.com [Tue, 12 Nov 2013 00:11:08 +0000 (00:11 +0000)]
Fix up the ARM paths that were messed up after committing the x86 version.


Review URL: https://webrtc-codereview.appspot.com/3729004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@5112 4adac7df-926f-26a2-2b94-8c16560cd09d

18 months agoImplement x86 real float fft for openmax_dl.
rtoy@google.com [Mon, 11 Nov 2013 18:55:42 +0000 (18:55 +0000)]
Implement x86 real float fft for openmax_dl.
Optimized by SSE2 intrisics.
Mainly target for the web audio usage.

R=aedla@chromium.org, andrew@webrtc.org, rtoy@google.com

Review URL: https://webrtc-codereview.appspot.com/2208004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@5109 4adac7df-926f-26a2-2b94-8c16560cd09d

18 months agoAdd non-NEON float FFT implementation.
rtoy@google.com [Tue, 29 Oct 2013 17:28:20 +0000 (17:28 +0000)]
Add non-NEON float FFT implementation.
R=aedla@chromium.org, andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2028004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@5051 4adac7df-926f-26a2-2b94-8c16560cd09d

18 months agoUpdate comments to indicate that float FFTs support orders from 1 to 15 (not 0 to...
rtoy@google.com [Mon, 28 Oct 2013 17:16:23 +0000 (17:16 +0000)]
Update comments to indicate that float FFTs support orders from 1 to 15 (not 0 to 12), inclusive.


Review URL: https://webrtc-codereview.appspot.com/2939004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@5043 4adac7df-926f-26a2-2b94-8c16560cd09d

18 months agoClean up test infrastructure
rtoy@google.com [Fri, 25 Oct 2013 16:58:25 +0000 (16:58 +0000)]
Clean up test infrastructure

o Update known failures for fft16 to match reality.
o Include info about tests that unexpectedly passed and tests that
  failed that weren't expected to fail.
o Add TestOneFFT to run one FFT test (forward, inverse, or both) and
  use it for all test programs instead of having one for each.


Review URL: https://webrtc-codereview.appspot.com/2929004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@5035 4adac7df-926f-26a2-2b94-8c16560cd09d

18 months agoFix test signals for order 1 tests, and enable these tests.
rtoy@google.com [Fri, 25 Oct 2013 16:51:48 +0000 (16:51 +0000)]
Fix test signals for order 1 tests, and enable these tests.

o For signal type 2, the expected FFT was incorrect; it should be all zeros
  because the input is all zeroes.
o For signal type 3, the expected FFT was incorrect.
o A few optimizations to remove round-off errors in computing sin(pi).


Review URL: https://webrtc-codereview.appspot.com/2819004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@5034 4adac7df-926f-26a2-2b94-8c16560cd09d

19 months agoThe ARM-specific headers in dl/api are moved to dl/api/arm.
rtoy@google.com [Wed, 2 Oct 2013 16:13:53 +0000 (16:13 +0000)]
The ARM-specific headers in dl/api are moved to dl/api/arm.


Review URL: https://webrtc-codereview.appspot.com/2336004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@4904 4adac7df-926f-26a2-2b94-8c16560cd09d

19 months agoMove existing code to arm directory. NEON-specific code moved to arm/neon.
rtoy@google.com [Tue, 1 Oct 2013 18:04:32 +0000 (18:04 +0000)]
Move existing code to arm directory. NEON-specific code moved to arm/neon.


Review URL: https://webrtc-codereview.appspot.com/2321004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@4894 4adac7df-926f-26a2-2b94-8c16560cd09d

20 months agoAdded direct_dependent_settings to dl.gyp so other modules can use the Openmax interface.
kma@webrtc.org [Thu, 19 Sep 2013 22:08:15 +0000 (22:08 +0000)]
Added direct_dependent_settings to dl.gyp so other modules can use the Openmax interface.

R=andrew@webrtc.org, rtoy@google.com

Review URL: https://webrtc-codereview.appspot.com/2189005

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@4797 4adac7df-926f-26a2-2b94-8c16560cd09d

22 months agoFixed a minor test code error in openmax.
kma@webrtc.org [Wed, 17 Jul 2013 22:16:23 +0000 (22:16 +0000)]
Fixed a minor test code error in openmax.


Review URL: https://webrtc-codereview.appspot.com/1827004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@4369 4adac7df-926f-26a2-2b94-8c16560cd09d

22 months agoAdded test code for ARM SC16 FFT in OpenMax, and fixed a compiler warning.
kma@webrtc.org [Wed, 17 Jul 2013 16:44:24 +0000 (16:44 +0000)]
Added test code for ARM SC16 FFT in OpenMax, and fixed a compiler warning.

Verified with SNR test code.


Review URL: https://webrtc-codereview.appspot.com/1808005

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@4366 4adac7df-926f-26a2-2b94-8c16560cd09d

22 months agoImplementation of real value 16 bit FFT with 16 bit complex FFT routines, for ARM...
kma@webrtc.org [Wed, 17 Jul 2013 01:53:40 +0000 (01:53 +0000)]
Implementation of real value 16 bit FFT with 16 bit complex FFT routines, for ARM Neon platforms.
Verified with SNR testing code in Openmax folder.

R=aedla@chromium.org, rtoy@google.com

Review URL: https://webrtc-codereview.appspot.com/1323010

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@4362 4adac7df-926f-26a2-2b94-8c16560cd09d

22 months agoRevert 4347 "Implementation of real value 16 bit FFT with 16 bit..."
kma@webrtc.org [Wed, 17 Jul 2013 01:11:47 +0000 (01:11 +0000)]
Revert 4347 "Implementation of real value 16 bit FFT with 16 bit..."

> Implementation of real value 16 bit FFT with 16 bit complex FFT routines, for ARM Neon platforms.
> Verified with SNR testing code in Openmax folder.
> R=aedla@chromium.org, rtoy@google.com
> Review URL: https://webrtc-codereview.appspot.com/1323010


Review URL: https://webrtc-codereview.appspot.com/1820004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@4361 4adac7df-926f-26a2-2b94-8c16560cd09d

22 months agoThis is to fix security issues found in Openmax SC16 code.
kma@webrtc.org [Tue, 16 Jul 2013 15:52:41 +0000 (15:52 +0000)]
This is to fix security issues found in Openmax SC16 code.
Verified with SNR testing code in Openmax folder.

R=aedla@chromium.org, rtoy@google.com

Review URL: https://webrtc-codereview.appspot.com/1715004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@4353 4adac7df-926f-26a2-2b94-8c16560cd09d

22 months agoImplementation of real value 16 bit FFT with 16 bit complex FFT routines, for ARM...
kma@webrtc.org [Mon, 15 Jul 2013 23:58:58 +0000 (23:58 +0000)]
Implementation of real value 16 bit FFT with 16 bit complex FFT routines, for ARM Neon platforms.
Verified with SNR testing code in Openmax folder.

R=aedla@chromium.org, rtoy@google.com

Review URL: https://webrtc-codereview.appspot.com/1323010

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@4347 4adac7df-926f-26a2-2b94-8c16560cd09d

22 months agoRemoved text relocation code in OpenMax assembly files.
kma@webrtc.org [Tue, 25 Jun 2013 16:30:53 +0000 (16:30 +0000)]
Removed text relocation code in OpenMax assembly files.
Chromium issue # 8061013

Tested with N-4. Related FFTs' SNR same as before.


Review URL: https://webrtc-codereview.appspot.com/1687004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@4261 4adac7df-926f-26a2-2b94-8c16560cd09d

23 months agoOptimize scaleFFTData for float FFTs
rtoy@google.com [Fri, 31 May 2013 17:08:30 +0000 (17:08 +0000)]
Optimize scaleFFTData for float FFTs


Speed up scaleFFTData by about 30% by doing the scaling on 4
complex (8 float) elements at a time.

Some timing measurements using perf measuring
time_fft_time -T -F -f 1 -n 11 -g 2 -c 1000000

Before optimization:

             samples  pcnt function                               DSO
             _______ _____ ______________________________________ _____________

             2364.00 25.9% evenOddButterflyLoopInv                [vectors]
             1957.00 21.4% radix4SetLoopINV                       [vectors]
             1197.00 13.1% radix4SkipReadINV                      [vectors]
             1009.00 11.0% scaleFFTData                           [vectors]

After optimization:
             samples  pcnt function                               DSO
             _______ _____ ______________________________________ _____________

             3806.00 25.9% evenOddButterflyLoopInv                [vectors]
             3523.00 23.9% radix4SetLoopINV                       [vectors]
             2103.00 14.3% radix4SkipReadINV                      [vectors]
             1471.00 10.0% radix4lsGrpLoopinv                     [vectors]
             1134.00  7.7% scaleFFTData                           [vectors]

The time spent has gone in scaleFFTData has gone down from 11% to 7.7%.

R=aedla@chromium.org, andrew@webrtc.org, kma@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1574005

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@4148 4adac7df-926f-26a2-2b94-8c16560cd09d

2 years agoModified OpenMax DL configurations to build ARM Neon code in WebRtc.
kma@webrtc.org [Mon, 25 Mar 2013 16:07:09 +0000 (16:07 +0000)]
Modified OpenMax DL configurations to build ARM Neon code in WebRtc.
Review URL: https://webrtc-codereview.appspot.com/1174005

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@3720 4adac7df-926f-26a2-2b94-8c16560cd09d

2 years agoRemove unused files and unused variables.
rtoy@google.com [Fri, 22 Mar 2013 16:55:33 +0000 (16:55 +0000)]
Remove unused files and unused variables.


Review URL: https://webrtc-codereview.appspot.com/1216008

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@3709 4adac7df-926f-26a2-2b94-8c16560cd09d

2 years agoAdd LICENSE and README.chromium files.
rtoy@google.com [Wed, 6 Mar 2013 22:29:31 +0000 (22:29 +0000)]
Add LICENSE and README.chromium files.


Add these files so that the DEPS changes can pass the try bots which test for these files.

Review URL: https://webrtc-codereview.appspot.com/1116006

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@3624 4adac7df-926f-26a2-2b94-8c16560cd09d

2 years agoRename library from arm_fft to openmax_dl.
rtoy@google.com [Wed, 6 Mar 2013 17:41:41 +0000 (17:41 +0000)]
Rename library from arm_fft to openmax_dl.


Review URL: https://webrtc-codereview.appspot.com/1148005

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@3623 4adac7df-926f-26a2-2b94-8c16560cd09d

2 years agoMake 16-bit FFT work with gcc, update license info, and add test program.
rtoy@google.com [Tue, 12 Feb 2013 19:26:54 +0000 (19:26 +0000)]
Make 16-bit FFT work with gcc, update license info, and add test program.

Review URL: https://webrtc-codereview.appspot.com/1103006

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@3504 4adac7df-926f-26a2-2b94-8c16560cd09d

2 years agoAdd 16-bit FFT routines as is from OpenMAX DL.
rtoy@google.com [Thu, 7 Feb 2013 00:20:08 +0000 (00:20 +0000)]
Add 16-bit FFT routines as is from OpenMAX DL.

These are the assembly routines for the 16-bit complex FFT unchanged
from OpenMAX DL.

Review URL: https://webrtc-codereview.appspot.com/1101004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@3481 4adac7df-926f-26a2-2b94-8c16560cd09d

2 years agoUpdate paths for the new directory structure.
rtoy@google.com [Tue, 5 Feb 2013 17:24:06 +0000 (17:24 +0000)]
Update paths for the new directory structure.

Source paths in the gyp files and include paths in all files are
updated to the new directory structure.

Review URL: https://webrtc-codereview.appspot.com/1095004

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@3472 4adac7df-926f-26a2-2b94-8c16560cd09d

2 years agoRearrange source to match OpenMAX DL directory structure.
rtoy@google.com [Mon, 4 Feb 2013 18:00:18 +0000 (18:00 +0000)]
Rearrange source to match OpenMAX DL directory structure.

In addition, we renamed arm_fft.gyp to dl.gyp and moved the test
directory to sp/src/.  No other changes have been made, so this means
nothing will compile.

Review URL: https://webrtc-codereview.appspot.com/1063015

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@3467 4adac7df-926f-26a2-2b94-8c16560cd09d

2 years agoImport FFT routines from webrtc-signal rev r1078 as is
rtoy@google.com [Fri, 1 Feb 2013 21:30:29 +0000 (21:30 +0000)]
Import FFT routines from webrtc-signal rev r1078 as is

But we removed fft_neon.S and fft_armv7.S, with corresponding updates
to arm_fft.gyp.  Those files have dependencies on webrtc, which we
don't want.

Review URL: https://webrtc-codereview.appspot.com/1083009

git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@3458 4adac7df-926f-26a2-2b94-8c16560cd09d