Commit Graph

76 Commits

Author SHA1 Message Date
0933d01d09 Enabling common_audio building with NEON on ARM64
Passed building common_audio_neon and common_audio_unittests both on
Android ARMv7 and Android ARM64. Pass common_audio_unittests tests both
on Android ARMv7 and Android ARM64.

BUG=4002
R=andrew@webrtc.org, jridges@masque.com, kjellander@webrtc.org

Change-Id: I8e0722f356db8cca6fc8232f00ae1e898a086f5a

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

Patch from Zhongwei Yao <zhongwei.yao@arm.com>.

Cr-Commit-Position: refs/heads/master@{#8620}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8620 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-05 19:14:21 +00:00
88a4298234 common_audio: Made input vector const in WebRtcSpl_LevinsonDurbin()
In addition, expanded the unit test to verify both unstable and stable filters.

BUG=3353, 1132
TESTED=locally on Mac and trybots
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8038 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-12 05:53:43 +00:00
c14e3572c6 common_audio: Made input signal const in WebRtcSplFilterMAFastQ12()
BUG=3353, 1133
TESTED=locally on Mac and trybots
R=henrik.lundin@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8037 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-12 05:50:52 +00:00
d730b288c8 Remove WebRtcSpl_ScaleAndAddVectorsWithRoundNeon
This function isn't used anymore. The file and header are also removed.

BUG=4002,3273
R=andrew@webrtc.org

Change-Id: I4b65dec57e6adc2ac2253031501f3b6de6937fac

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

Patch from Yang Zhang <yang.zhang@arm.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8019 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-07 21:34:23 +00:00
84d84471f5 Minor fixes regarding accumulator usage on MIPS platforms.
R=andrew@webrtc.org

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

Patch from Ljubomir Papuga <lpapuga@mips.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7979 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-29 17:08:44 +00:00
40e4767f2b Add NEON intrinsics version for min_max_operations_neon.c
WebRtcSpl_MinValueW32Neon, WebRtcSpl_MaxValueW32Neon, WebRtcSpl_MaxValueW16Neon
and WebRtcSpl_MaxAbsValueW32Neon are added. SplTest in common_audio_unittests
is passed on ARM32/ARM64 platforms.

BUG=4002
R=andrew@webrtc.org, jridges@masque.com

Change-Id: Id461d64c3313f56147edadd2231e8845574ead2a

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

Patch from Yang Zhang <yang.zhang@arm.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7889 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-15 06:07:47 +00:00
3c31e6e2f9 Add NEON intrinsics version for WebRtcSpl_MinValueW16Neon
WebRtcSpl_MinValueW16Neon is added. SplTest in common_audio_unittests
is passed on ARM32/ARM64 platforms.

BUG=4002
R=andrew@webrtc.org, jridges@masque.com

Change-Id: I33c3853766d7594ed121166288e5325a03b3d6fe

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

Patch from Yang Zhang <yang.zhang@arm.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7867 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-11 00:24:13 +00:00
6fd52f36db Add NEON intrinsics version for WebRtcSpl_DownsampleFastNeon.
WebRtcSpl_DownsampleFastNeon is added. SplTest in common_audio_unittests
is passed on ARM32/ARM64 platform.

BUG=4002
R=andrew@webrtc.org, jridges@masque.com

Change-Id: Ic43f5452eb7e555b998b1d1e79a9e1530be5c948

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

Patch from Yang Zhang <yang.zhang@arm.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7856 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-10 00:59:48 +00:00
ae20d3bbce Add NEON intrinsics version for WebRtcSpl_CrossCorrelationNeon.
WebRtcSpl_CrossCorrelationNeon is added. SplTest in common_audio_unittests
is passed on ARM32/ARM64 platform.

BUG=4002
R=andrew@webrtc.org, jridges@masque.com

Change-Id: I84f9fb953448b62da452ab8dd60e2c0628293587

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

Patch from Yang Zhang <yang.zhang@arm.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7855 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-09 23:58:39 +00:00
ee43263a50 Cleaned up real_fft APIs due to non-existing NEON code
There are NEON APIs that are not used. Cleaning that up for better overview.

BUG=3353
TESTED=locally on Linux and trybots
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7827 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-08 16:36:22 +00:00
fd4acf6d55 Adding WebRtcSpl_MaxAbsValueW16 intrinsics version
The modification only uses the unique part of the WebRtcSpl_MaxAbsValue
 function. Pass Spltest.MinMaxOperationTest conformance test on both
 ARMv7 and ARM64. And the single function performance is similar with
 original assembly version on different platforms. If not specified, the
 code is compiled by GCC 4.6. The result is the "X version / C version"
 ratio, and the less is better.

| run 100k times             | cortex-a7 | cortex-a15 |
| use C as the base on each  |  (1.2Ghz) |   (1.7Ghz) |
| CPU target                 |           |            |
|----------------------------+-----------+------------|
| Neon asm                   |       32% |        15% |
| Neon intrinsics (GCC 4.6)  |       36% |        37% |
| Neon intrinsics (GCC 4.8)  |       35% |        18% |

BUG=3580
R=andrew@webrtc.org, jridges@masque.com

Change-Id: Ia2f6822ec58774b401cc440b6751a97e540b5048

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7803 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-03 21:59:02 +00:00
79b9eba3ab Implement 3 band splitting filter bank by upsampling and splitting twice into 2 bands
Implemented the 3 bands splitting filter bank by:
1. Upsample by 4/3.
2. Split twice into 2 bands.
3. Discard upper most band, because it is empty anyway.

A unittest was also implemented:
1. Generate a signal from presence or absence of sine waves of different frequencies.
2. Split into 3 bands and check their presence or absence.
3. Recombine the bands.
4. Calculate delay (as it is an IIR it depends on frequency).
5. Check that the cross correlation of input and output is high enough at that delay.

BUG=webrtc:3146
R=andrew@webrtc.org, bjornv@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7754 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-26 20:21:38 +00:00
f567095f62 common_audio: Removed macro WEBRTC_SPL_RSHIFT_W32
Replaces the trivial macro WEBRTC_SPL_RSHIFT_W32 with >> at various places in common_audio and removes it.

BUG=3348,3353
TESTED=locally on linux and trybots
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7558 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-29 10:29:16 +00:00
67ca26e087 common_audio: Removed trivial macro WEBRTC_SPL_UMUL_16_16
The macro made a cast to uint16_t before a plain multiplication. At the few places where it was used the variables were already uint16_t.

Affected components:
* isac/fix

BUG=3348,3353
TESTED=locally on linux and trybots
R=henrik.lundin@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7543 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-28 13:03:10 +00:00
b69ea9a35a common_audio: Replaced invalid operand in min_max_operations_neon.S"
Vector Move immediate can not load #0x7FFF. Changed to us vdup from already loaded register.

BUG=N/A
TESTED=ios and android trybots
R=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7477 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-20 14:08:35 +00:00
fab5439112 common_audio: Removed version API from signal_processing
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@7451 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-15 04:38:42 +00:00
bc1a4578e0 common_audio: Removed macro WEBRTC_SPL_RSHIFT_W16
Replaced the trivial right shift macro at remaining 4 places and removed from signal_processing.

Affected components:
* vad
* aecm

BUG=3348,3353
TESTED=locally on linux and trybots
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7434 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-13 14:00:43 +00:00
d4fe824862 audio_processing: Replaced macro WEBRTC_SPL_RSHIFT_W16 with >>
The implementation of WEBRTC_SPL_RSHIFT_W16 is simply >>. This CL removes the macro usage in audio_processing and signal_processing.

Affected components:
* aecm
* agc
* nsx

Indirectly affecting (through signal_processing changes)
* codecs/cng
* codecs/isac/fix
* codecs/isac/main

BUG=3348,3353
TESTED=locally on Linux and trybots
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7432 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-13 13:01:13 +00:00
3ea35fdb1b common_audio: Removed macro WEBRTC_SPL_LSHIFT_W16
The macro was a trivial << operation and where used has been replaced by <<. Affected components are
* ilbc
* isacfix

BUG=3348,3353
TESTED=locally on linux and trybots
R=henrik.lundin@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7404 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-09 08:47:02 +00:00
d71118194f audio_processing: Replaced macro WEBRTC_SPL_LSHIFT_W16 with <<
A trivial macro that serves no purpose. Affected components are:
* audio_processing/nsx
* audio_processing/agc
* audio_processing/aecm
* common_audio/LpcToReflCoef

BUG=3348,3353
TESTED=locally on linux
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7321 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-29 10:56:27 +00:00
7c15510f38 common_audio refactoring: Removed macro WEBRTC_SPL_LSHIFT_U32
The macro is a trivial shift operator including a cast before shift. There is no guard against negative shifts. Replaced with << at place and added casts when necessary.

Affects both fixed and float point versions of iSAC

BUG=3348,3353
TESTED=locally on linux and trybots
R=kwiberg@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7320 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-29 09:40:38 +00:00
3cbd6c26c8 Fix MSVC warnings about value truncations, webrtc/common_audio/ edition.
This changes some method signatures to better reflect how callers are actually
using them.  This also has the tendency to make signatures more consistent about
e.g. using int (instead of int16_t) for lengths of things like vectors, and
using int16_t (instead of int) for e.g. counts of bits in a value.

This also removes a couple of functions that were only called in unittests.

BUG=3353,chromium:81439
TEST=none
R=andrew@webrtc.org, bjornv@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7060 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-04 13:21:44 +00:00
df9fef6638 common_audio: Removed macro WEBRTC_SPL_DIV
The macro has no built-in divide by zero check. The only thing that is done is casting to int32_t.
In addition a bug was discovered where it was supposed to do a division with rounding, but instead did a division with truncation + addition by 2. This is corrected in this CL.

BUG=3348,3353
TESTED=locally on Linux
R=kwiberg@webrtc.org, tina.legrand@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6998 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-28 12:57:32 +00:00
4f71e22bf9 Refactoring common_audio/signal_processing: Remove macro WEBRTC_SPL_UDIV
This macro is a direct use of the division operator without checking for division by zero. Hence, it is dangerous to use.
This CL replaces the macro with '/' at place.

BUG=3348,3353
TESTED=locally on linux and trybots
R=kwiberg@webrtc.org, tina.legrand@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6976 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-26 10:25:10 +00:00
1de0cc4079 common_audio: Re-enable WebRtcSpl_AddSatW32() and WebRtcSpl_SubSatW32() optimizations on armv7
According to the issue, common_audio_unittests failed on armv7. It currently pass, so we should turn it on again. There is no print out in the issue, so the cause of failure is unknown.

BUG=740
TESTED=locally on N7
R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6975 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-26 09:36:25 +00:00
047a46f8b4 Remove Android.mk build files.
These files are generally not maintained and break, some contain files
that don't exist anymore and do not build anymore. If we need to add
some of these back we should really set up a bot for them.

R=andrew@webrtc.org, glaznev@webrtc.org, henrike@webrtc.org
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6974 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-26 08:48:51 +00:00
926707b167 Refactoring common_audio: Replace trivial multiplication macro
This multiplication macro literally use the '*' operator, so there is no need for it.

BUG=3348,3353
TESTED=locally on linux and trybots
R=kwiberg@webrtc.org, tina.legrand@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6964 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-25 11:42:42 +00:00
d32c4389ac Re-landing r6961
common_audio/signal_processing: Remove macro WEBRTC_SPL_MEMCPY_W8

This macro is nothing but memcpy() and further used at one single place in webrtc, so it makes no sense to keep it. Replaced the operation where it is used.

BUG=3348,3353
TESTED=locally on linux
TBR=aluebs@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6963 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-25 11:19:05 +00:00
4a616be12b Revert 6961 "common_audio/signal_processing: Remove macro WEBRTC..."
> common_audio/signal_processing: Remove macro WEBRTC_SPL_MEMCPY_W8
> 
> This macro is nothing but memcpy() and further used at one single place in webrtc, so it makes no sense to keep it. Replaced the operation where it is used.
> 
> BUG=3348,3353
> TESTED=locally on linux and trybots
> R=kwiberg@webrtc.org, tina.legrand@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/16359004

TBR=bjornv@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6962 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-25 10:32:22 +00:00
4f01017e2d common_audio/signal_processing: Remove macro WEBRTC_SPL_MEMCPY_W8
This macro is nothing but memcpy() and further used at one single place in webrtc, so it makes no sense to keep it. Replaced the operation where it is used.

BUG=3348,3353
TESTED=locally on linux and trybots
R=kwiberg@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6961 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-25 10:23:22 +00:00
6e71d17bc9 Refactoring common_audio/signal_processing: Replaces trivial macros
The macros WEBRTC_SPL_ADD_SAT_W16 and WEBRTC_SPL_ADD_SAT_W32 make direct use of the corresponding functions WebRtcSpl_AddSatW16() and WebRtcSpl_AddSatW32().
This CL replaces these macros in the code.

BUG=3348,3353
TESTED=locally on linux and trybots
R=kwiberg@webrtc.org, tina.legrand@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6960 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-25 07:44:52 +00:00
6b2659c660 Refactoring common_audio/signal_processing: Remove unused macro WEBRTC_SPL_MUL_32_32_RSFT32BI
The WEBRTC_SPL_MUL_32_32_RSFT32BI macro was removed in r6169, since it was unused. This CL removes the arm and mips optimizations of it.

BUG=3348, 3353
TESTED=locally and trybots
TBR=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6947 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-21 06:13:57 +00:00
52275341d8 Refactoring common_audio: Remove macro WEBRTC_SPL_MEMMOVE_W16
Yet another macro that utilizes a function directly.

BUG=3348,3353
TESTED=locally on linux and trybots
R=kwiberg@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6935 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-20 10:09:34 +00:00
b5ab52d010 common_audio/signal_processing: Remove unused macros WEBRTC_SPL_GET_BYTE and WEBRTC_SPL_SET_BYTE
These two macros are not used anywhere in webrtc. Previously used in old neteq (I think).

BUG=3348,3353
TESTED=manually on linux and trybots
R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6916 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-18 12:01:02 +00:00
1e3ef4b999 common_audio/signal_processing: Remove macro WEBRTC_SPL_UMUL_32_16_RSFT16
Macros should in general be avoided. WEBRTC_SPL_UMUL_32_16_RSFT16 is only used in iSAC fixed point as part of multiplying with LSB and MSB. A better approach is to have one function for that complete operation in iSAC.

This CL removes the macro and replace the operation locally.

BUG=3148, 3353
TESTED=locally on Linux and trybots
R=tina.legrand@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6907 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-15 05:17:20 +00:00
8434dbe284 common_audio/signal_processing: Remove macro WEBRTC_SPL_SUB_SAT_W32
This macro is literally using the function WebRtcSpl_SubSatW32(), hence there is no need for a macro.

BUG=3348, 3353
TESTED=locally on Linux and trybots
R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6899 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-14 07:26:28 +00:00
0a3cbb3906 common_audio/signal_processing: Removes macro WEBRTC_SPL_MUL_32_32_RSFT32
The macro is only used at four places in iSAC fixed point and the macro have been replaced at those places.
In addition, it is used in a unit test, but throws a warning treated as error (issue3674).

The macro has both MIPS and armv7 optimizations. Removing them impacts only MIPS platforms without DSP ASE. This may cause a very small increase in complexity when using iSAC fix.
The armv7 optimizations are not used anywhere, since specific ones are used inline in iSAC fix.

BUG=3348,3353,3674
TESTED=locally and trybots
R=ljubomir.papuga@gmail.com, tina.legrand@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6871 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-12 10:54:50 +00:00
cf8f33a6d6 Removes mismatching signs in signal_processing_unittests
Negative inputs was used in WebRtcSpl_NormU32() causing warnings.

BUG=3674
TESTED=locally and trybots
R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6870 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-12 10:27:21 +00:00
6ac22e6b47 Remove more dependencies on openssl, add dependency on boringssl. Continues on r6798
R=andrew@webrtc.org, fbarchard@chromium.org, kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6867 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-11 21:06:30 +00:00
c0ba4392f1 common_audio: Removes macro WEBRTC_SPL_SHIFT_W16
We should avoid macros in general (see style guide). This shift macro is not a severe one, since there is a check for negativity.

BUG=3348,3353
TESTED=trybots and manually
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6591 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-03 13:38:53 +00:00
721f970cba common_audio: Removes macro WEBRTC_SPL_LSHIFT_U16
We should avoid macros in general (see style guide) and the shift ones are particular dangerous since they assume that the user apply a non-negative shift.

Related CL: https://webrtc-codereview.appspot.com/16669004

BUG=3348,3353
TESTED=trybots and manually on linux
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6444 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-16 10:30:14 +00:00
18026abd82 common_audio/signal_processing: Removes macro WEBRTC_SPL_RSHIFT_U16
This macro is only used at a few places and implies a cast to uint16_t before right shifting. All places already use uint16_t. Further, the amount of shifts applied in the macro has no sanity check for negativity, makes the macro dangerous to use.

BUG=3348,3353
TESTED=trybots and manually
R=kwiberg@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6393 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-11 06:53:20 +00:00
782978cfcb common_audio/signal_processing: Moves WEBRTC_SPL_UMUL_16_16_RSFT16 to iSAC fix
This macro is only used by the fixed point version of iSAC. Replacing the (five) locations in arith_routines_logist.c, where it is used, with the actual operation.

BUG=3348,3353
TESTED=trybots and manually
R=kwiberg@webrtc.org, tina.legrand@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6392 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-11 06:39:03 +00:00
aafd7a88c5 The correct fix of workaround in r6261.
The CL also includes same changes to filterbanks.c in iSAC fix and aecm_core_c.c

BUG=3370,3395,3439
TESTED=trybots
R=fdegans@chromium.org, glaznev@webrtc.org, kwiberg@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6337 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-05 08:53:51 +00:00
edbe886a0b common_audio/signal_processing: Removed macro WEBRTC_SPL_MUL_16_16_RSFT_WITH_FIXROUND
This macro was only used at two places in fixed point iSAC, where it has been replaced with the operation.

BUG=3348,3353
TESTED=trybots
R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6336 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-05 08:42:53 +00:00
aca5939dfc common_audio/signal_processing: Fixes arm compilation issues with gcc 4.8
In r6240 gcc was rolled from 4.6 to 4.8 changing the behavior on arm. The output of ComplexFFT differs causing both AECM and NS to perform worse. Looking at issues on gcc it says that there could be a memory shuffling/optimization despite using volatile affecting the output.
Splitting the three instructions in one call into two separate calls makes the compiler take proper actions resulting in correct outputs.

BUG=3370,3395
TESTED=trybots
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6261 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-28 08:45:04 +00:00
be4ab99a53 Disabling RealFFTTest.RealAndComplexMatch and AudioProcessingTest.Formats as they currently are broken with gcc 4.8.
BUG=3370
R=bjornv@webrtc.org, kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6197 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-20 12:42:01 +00:00
a3b5673879 common_audio/signal_processing: Removes macro WEBRTC_SPL_UMUL_RSFT16
This macro was only used on two lines in iSACfix and I replaced those with the operations the macro performed.

BUG=3348
TESTED=trybots, manual unittests
R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6184 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-16 12:11:20 +00:00
1b21a57902 common_audio/signal_processing: Removed macro WEBRTC_SPL_SUB_SAT_W16
Macro was only mapping a function used in one place.

BUG=3348
TESTED=trybots, unittests
R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6180 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-16 06:40:31 +00:00
d83d607271 common_audio/signal_processing: Removed macro WEBRTC_SPL_MAX_SEED_USED
* Moved the macro to randomization_functions and made it static const.
* Made WebRtc_IncreaseSeed() static, since it is not used outside this function.
* Style guide changes.

BUG=3348,3353
TESTED=trybots, common_audio_unittests, modules_unittests, modules_tests
R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6179 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-16 06:38:47 +00:00