summaryrefslogtreecommitdiff
path: root/common_audio/common_audio.gyp
AgeCommit message (Collapse)Author
2014-11-27Merge r7729 into M40 branch.kjellander@webrtc.org
BUG=chromium:436400 TBR=phoglund@webrtc.org Review URL: https://webrtc-codereview.appspot.com/27259004 git-svn-id: http://webrtc.googlecode.com/svn/branches/40/webrtc@7759 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-31Add a WavReader counterpart to WavWriter.andrew@webrtc.org
Don't bother with a C interface as we currently have no need to call this from C code. The first use will be in the audioproc tool. R=kwiberg@webrtc.org Review URL: https://webrtc-codereview.appspot.com/30829004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@7585 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-31Update all .isolate files for the new format.kjellander@webrtc.org
R=kjellander@webrtc.org BUG= Review URL: https://webrtc-codereview.appspot.com/27809004 Patch from Marc-Antoine Ruel <maruel@chromium.org>. git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@7583 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-31Build fix for MIPS32R6.andrew@webrtc.org
Exclude MIPS optimizations for MIPS32R6 build since some of the instructions are not supported. This is temporary fix, until the MIPS32R6 code is added. R=andrew@webrtc.org Review URL: https://webrtc-codereview.appspot.com/25989004 Patch from Ljubomir Papuga <lpapuga@mips.com>. git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@7580 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-30Creating a C++ wrapper class for VADhenrik.lundin@webrtc.org
Also adding a mock. This work is part of an ongoing effort to encapsulate encoders in AudioEncoder classes. The CNG encoder will also be implemented as an AudioEncoder class, and will also contain a VAD C++ wrapper. BUG=3926 R=bjornv@webrtc.org Review URL: https://webrtc-codereview.appspot.com/27839004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@7570 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-27Add a simple AudioConverter class.andrew@webrtc.org
This will be used to refactor AudioProcessing/AudioBuffer. We can enable alternate downmixing schemes in AudioProcessing by pulling the conversion logic out of AudioBuffer. The unit test is largely stolen from voice_engine/utility_unittest.cc. As commented, the voice_engine routines should be replaced with AudioConverter. BUG=chromium:405270 R=aluebs@webrtc.org, mgraczyk@chromium.org TBR=kwiberg Review URL: https://webrtc-codereview.appspot.com/30779004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@7538 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-15common_audio: Removed version API from signal_processingbjornv@webrtc.org
The Signal Processing version API is not used anymore. BUG=3353 R=kwiberg@webrtc.org, tina.legrand@webrtc.org Review URL: https://webrtc-codereview.appspot.com/31679004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@7451 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-08Add a variable for deciding when to use openmax_dl.andrew@webrtc.org
Modifies the previous condition to additionally not use openmax_dl on iOS. Remove the All target's direct dependency on it, as it is now pulled in by the targets that need it. Add gn support since an openmax_dl gn target is available. BUG=chromium:415393, webrtc:3906 R=turaj@webrtc.org Review URL: https://webrtc-codereview.appspot.com/23949004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@7397 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-01Import LappedTransform and friends.andrew@webrtc.org
Add code for doing block-based frequency domain processing. Developed and reviewed in isolation. Corresponding export CL: https://chromereviews.googleplex.com/95187013/ R=bercic@google.com, kjellander@webrtc.org, turaj@webrtc.org Review URL: https://webrtc-codereview.appspot.com/31539004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@7359 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-03Partial revert of r7014 (Android APK refactor)kjellander@webrtc.org
This reverts selected parts of r7014 to enable rolling WebRTC in Chromium DEPS. This works around the problem with GYP includes being processed in the first pass (i.e. variables cannot be used for paths). Using a dependency with a path using a variable that is conditioned for build_with_chromium being 0 or 1 solves the Chromium build. These changes will be restored once I've finished a major GYP refactoring that will break out all test related code (at least the parts that includes the Android APK targets) into a separate chain of GYP targets that are not processed when generating projects for Chromium (which is why r7014 is breaking the Chromium build). BUG=3741 TESTED=Passing compilation of standalone using: GYP_DEFINES="OS=android component=static_library fastbuild=1 target_arch=arm" webrtc/build/gyp_webrtc ninja -C out/Debug Then verified the *_apk targets are generated and compiled. Passing compilation from a Chromium checkout with third_party/webrtc directory removed and a new empty third_party/webrtc mapped to the standalone checkout using: sudo mount --bind /path/to/trunk/webrtc third_party/webrtc Then running build/gyp_chromium I also verified WebRTC GYP targets exist and are able to compile. R=henrike@webrtc.org Review URL: https://webrtc-codereview.appspot.com/20299004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@7040 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-01Android APK tests built from a normal WebRTC checkout.kjellander@webrtc.org
Restructure how the Android APK tests are compiled now that we have a Chromium checkout available (since r6938). This removes the need of several hacks that were needed when building these targets from inside a Chromium checkout. By creating a symlink to Chromium's base we can compile the required targets. This also removes the need of the previously precompiled binaries we keep in /deps/tools/android at Google code. All the user needs to do is to add the target_os = ["android"] entry to his .gclient as described at https://code.google.com/p/chromium/wiki/AndroidBuildInstructions Before committing this CL, the Android APK buildbots will need to be updated. This also solves http://crbug.com/402594 since the apply_svn_patch.py usage will be similar to the other standalone bots. It also solves http://crbug.com/399297 BUG=chromium:399297, chromium:402594 TESTED=Locally compiled all APK targets by running: GYP_DEFINES="OS=android include_tests=1 enable_tracing=1" gclient runhooks ninja -C out/Release checkdeps R=henrike@webrtc.org, tommi@webrtc.org Review URL: https://webrtc-codereview.appspot.com/22149004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@7014 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-29Add LTO support for Android Chromium.andrew@webrtc.org
This is to add support for a Link-Time Optimizations experiment in Android Chromium. As it is disabled by default, it won't change anything for most configurations. BUG=chromium:407544 R=andrew@webrtc.org, tina.legrand@webrtc.org Review URL: https://webrtc-codereview.appspot.com/21299004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@7009 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-20New utility class for easy debug dumping to WAV fileskwiberg@webrtc.org
There are currently a number of places in the code where we dump audio data in various stages of processing for debug purposes. Currently these all write raw, uncompressed PCM files, which isn't supported by the most common audio players, and requires the user to supply metadata such as sample rate, sample size and endianness, etc. This patch adds a simple class that makes it easy to write WAV files instead. WAV files still contain the same uncompressed PCM data, but they have a small header that contains all the requisite metadata, and are supported by virtually all audio players. Since some of the debug code that will be writing WAV files is written in plain C, a C API is included as well. R=andrew@webrtc.org, bjornv@webrtc.org, henrike@webrtc.org, tommi@webrtc.org Review URL: https://webrtc-codereview.appspot.com/16809004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@6932 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-04Android: cleanup gtest_target_type conditions.henrike@webrtc.org
Ever since crrev.com/133053 OS==android implies: gtest_target_type=shared_library Similar to Chromium's crrev.com/271222 where base.gyp's conditions are changed (which the affected conditions in this cl comes from). R=henrike@webrtc.org, wu@webrtc.org Review URL: https://webrtc-codereview.appspot.com/13539004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@6332 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24Add fir_filter to common_audioaluebs@webrtc.org
It has 3 implementation: * fir_filter_c with no optimization * fir_filter_sse which outperforms the C version by a factor of 3x * fir_filter_neon which outperforms the C version by a factor of 2x R=andrew@webrtc.org, bjornv@webrtc.org, johannkoenig@google.com Review URL: https://webrtc-codereview.appspot.com/9759004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5756 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-10Change uses of the obsolete armv7 setting to arm_version==7.kjellander@webrtc.org
BUG=http://crbug.com/234135 R=andrew@webrtc.org, fischman@webrtc.org, kjellander@webrtc.org Review URL: https://webrtc-codereview.appspot.com/5369004 Patch from Mostyn Bramley-Moore <mostynb@opera.com>. git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5250 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-02Fix include of isolate.gypikjellander@webrtc.org
Recent changes in GYP seem to have broken our previous "hack" for getting the GYP rule for .isolate files imported from the Chromium build/isolate.gypi. The best solution for now is to remove the hack and check in a copy of Chromium's src/build/isolate.gypi in WebRTC's build/ dir instead. A similar approach is used for our build/protoc.gypi file. TEST=On Linux, I successfully ran: gclient runhooks ninja -C out/Release and verified a bunch of .isolated files were created in out/Release (which didn't happen before this patch). I also renamed the build/isolate.gypi from Chromium to ensure that our own is used and not that one (in case any paths would be incorrect). I also ran build/gyp_chromium in a Chromium checkout with WebRTC in third_party/webrtc having this patch applied to ensure GYP processing was still working. Finally, I verified that the same project generation and compilation from a Chromium checkout worked the way we build our Android native tests, using: . build/android/envsetup.sh GYP_DEFINES="$GYP_DEFINES include_tests=1 enable_tracing=1" gclient runhooks ninja -C out/Release android_builder_webrtc BUG=1916 R=andrew@webrtc.org Review URL: https://webrtc-codereview.appspot.com/2338004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4907 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-18MIPS optimizations for the functions WebRtcSpl_SqrtFloor, ↵andrew@webrtc.org
WebRtcSpl_CrossCorrelation, WebRtcSpl_ScaleAndAddVectorsWithRound and the inline functions from signal_processing spl_inl.h file. R=andrew@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1791004 Patch from Ljubomir Papuga <lpapuga@mips.com>. git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4779 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-05Recognize armv7 target_arch for ios support in webrtc common.gypfischman@webrtc.org
BUG=2343 R=andrew@webrtc.org Review URL: https://webrtc-codereview.appspot.com/2176004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4684 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-22Isolate GYP target and .isolate files for testskjellander@webrtc.org
This is a re-land attempt of http://review.webrtc.org/1673004/ It now includes a build/isolate.gypi in WebRTC that includes the same file as the one that would be included when WebRTC is used in a Chromium checkout. It is needed since it is not possible to use variables in GYP's includes sections. Implemented according to the instructions at http://www.chromium.org/developers/testing/isolated-testing Workflow has been like this: 1. create _run GYP target 2. create a stripped down .isolate file 3. export GYP_DEFINES="$GYP_DEFINES test_isolation_mode=check" 4. runhooks 5. compile 6. test if the test would run (i.e. find it's dependencies) without actually executing it: tools/swarm_client/isolate.py run --isolated out/Release/testname.isolated 7. If failing, run the fix_test_cases.py script like this: tools/swarm_client/googletest/fix_test_cases.py --isolated out/Release/testname.isolated All tests that run on the bots for WebRTC has got _run target and .isolate file created. "Normal tests" that run fine on any machine: * audio_decoder_unittests * common_audio_unittests * common_video_unittests * metrics_unittests * modules_tests * modules_unittests * neteq_unittests * system_wrappers_unittests * test_support_unittests * tools_unittests * video_engine_core_unittests * voice_engine_unittests Tests that requires bare-metal and audio/video devices: * audio_device_tests * video_capture_tests I also added the isolate boilerplate code for the following tests that are not yet pure gtest binaries (which means they cannot run isolated yet): * video_render_tests * vie_auto_test * voe_auto_test TEST=running isolate.py as described above. WebRTC trybots passing. Created a Chromium checkout with third_party/webrtc ToT and this patch applied, passing the runhooks step. BUG=1916 R=henrike@webrtc.org, tommi@webrtc.org Review URL: https://webrtc-codereview.appspot.com/2056004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4590 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-15Revert 4547 "Isolate GYP target and .isolate files for tests"kjellander@webrtc.org
As this breaks the FYI bots in http://build.chromium.org/p/chromium.webrtc.fyi/waterfall due to different path to isolate.gypi (which cannot easily be resolved due to limitations in GYP) > Isolate GYP target and .isolate files for tests > > Implemented according to the instructions at > http://www.chromium.org/developers/testing/isolated-testing > > Workflow has been like this: > 1. create _run GYP target > 2. create a stripped down .isolate file > 3. export GYP_DEFINES="$GYP_DEFINES test_isolation_mode=check" > 4. runhooks > 5. compile > 6. test if the test would run (i.e. find it's dependencies) without > actually executing it: > tools/swarm_client/isolate.py run --isolated out/Release/testname.isolated > 7. If failing, run the fix_test_cases.py script like this: > tools/swarm_client/fix_test_cases.py --isolated out/Release/testname.isolated > > All tests that run on the bots for WebRTC has got _run target > and .isolate file created. > > "Normal tests" that run fine on any machine: > * audio_decoder_unittests > * common_audio_unittests > * common_video_unittests > * metrics_unittests > * modules_integrationtests > * modules_unittests > * neteq_unittests > * system_wrappers_unittests > * test_support_unittests > * tools_unittests > * video_engine_core_unittests > * voice_engine_unittests > > Tests that requires bare-metal and audio/video devices: > * audio_device_integrationtests > * video_capture_integrationtests > > I also added the isolate boilerplate code for the following > tests that are not yet pure gtest binaries (which means they > cannot run isolated yet): > * video_render_integrationtests > * vie_auto_test > * voe_auto_test > > TEST=running isolate.py as described above. > BUG=1916 > R=tommi@webrtc.org > > Review URL: https://webrtc-codereview.appspot.com/1673004 TBR=kjellander@webrtc.org Review URL: https://webrtc-codereview.appspot.com/2040004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4548 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-15Isolate GYP target and .isolate files for testskjellander@webrtc.org
Implemented according to the instructions at http://www.chromium.org/developers/testing/isolated-testing Workflow has been like this: 1. create _run GYP target 2. create a stripped down .isolate file 3. export GYP_DEFINES="$GYP_DEFINES test_isolation_mode=check" 4. runhooks 5. compile 6. test if the test would run (i.e. find it's dependencies) without actually executing it: tools/swarm_client/isolate.py run --isolated out/Release/testname.isolated 7. If failing, run the fix_test_cases.py script like this: tools/swarm_client/fix_test_cases.py --isolated out/Release/testname.isolated All tests that run on the bots for WebRTC has got _run target and .isolate file created. "Normal tests" that run fine on any machine: * audio_decoder_unittests * common_audio_unittests * common_video_unittests * metrics_unittests * modules_integrationtests * modules_unittests * neteq_unittests * system_wrappers_unittests * test_support_unittests * tools_unittests * video_engine_core_unittests * voice_engine_unittests Tests that requires bare-metal and audio/video devices: * audio_device_integrationtests * video_capture_integrationtests I also added the isolate boilerplate code for the following tests that are not yet pure gtest binaries (which means they cannot run isolated yet): * video_render_integrationtests * vie_auto_test * voe_auto_test TEST=running isolate.py as described above. BUG=1916 R=tommi@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1673004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4547 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-02Adds all unittests to android NDK-APK framework.henrike@webrtc.org
BUG=N/A R=andrew@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1872004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4474 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-11Reorganize test targets in WebRTCkjellander@webrtc.org
This CL will lower the number of test targets in WebRTC by: Add common_audio_unittests and merge the following targets into it (copied from http://review.webrtc.org/1584006): * resampler_unittests * signal_processing_unittests * vad_unittests Merge into modules_unittests: * bitrate_controller_unittests * desktop_capture_unittests * media_file_unittests * remote_bitrate_estimator_unittests * rtp_rtcp_unittests * paced_sender_unittests Merge into test_support_unittests: * channel_transport_unittests channel_transport.gyp was also removed in favor for test.gyp. I had to remove a main method from rtcp_format_remb_unittest.cc since it caused the fileutils.h code to not be able to find the right project root path in ordrer to provide correct paths to test files. Buildbot configuration update will be synced with the commit of this CL. TEST=trybots BUG=1843 R=andrew@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1639004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4213 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-30MIPS optimizations for the following functions:andrew@webrtc.org
WebRtcSpl_ComplexBitReverse, WebRtcSpl_ComplexFFT, WebRtcSpl_ComplexIFFT, WebRtcSpl_DownsampleFast and WebRtcSpl_FilterARFastQ12. Also, moved the common table used in complex_fft functions to a separate header file (webrtc/common_audio/signal_processing/include/complex_fft_tables.h). R=andrew@webrtc.org, kma@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1126004 Patch from Ljubomir Papuga <lpapuga@mips.com>. git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4141 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-08Update SincResampler with the latest Chromium code.andrew@webrtc.org
* Brings in on-the-fly sample ratio updates (or varispeed) with minor modifications to build in webrtc. * Moved SSE and NEON optimized functions into their own files to handle run-time detection properly. NEON optimizations now enabled. TESTED=unit tests and ran voe_cmd_test loopback with both devices using 44.1 kHz to exercise SincResampler in real-time. R=dalecurtis@chromium.org, kma@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1438004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@3987 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-30Consolidate common_audio into a single target.andrew@webrtc.org
In principle should reduce gyp processing time, but the difference was not measurable. In any case, it's a good simplification that aligns with having a single common_video target. R=bjornv@webrtc.org, kma@webrtc.org, tina.legrand@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1375004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@3928 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-22Move src/ -> webrtc/andrew@webrtc.org
TBR=niklas.enbom@webrtc.org Review URL: https://webrtc-codereview.appspot.com/915006 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@2963 4adac7df-926f-26a2-2b94-8c16560cd09d