Commit Graph

100 Commits

Author SHA1 Message Date
3a52458237 add WebRtcIsacfix_AutocorrNeon's intrinsics version
The modification only uses the unique part of the
 WebRtcIsacfix_AutocorrC function. Pass FiltersTest.AutocorrFixTest 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                   |       24% |        23% |
| Neon intrinsics (GCC 4.6)  |       33% |        32% |
| Neon intrinsics (GCC 4.8)  |       27% |        27% |

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

Change-Id: Id6cd0671502fadbebd10b1f5493f5b16c988286f

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7802 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-03 21:58:18 +00:00
1153322cf8 Build fix for MIPS Android Webview build.
Excluding optimizations to support MIPS32R6 platform for Android Webview build (see also https://code.google.com/p/webrtc/source/detail?r=7580).

R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7729 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-21 16:28:32 +00:00
1431e4dd1c Revert 7675 "Make an AudioEncoder subclass for iSAC"
Above CL did not compile on Android. Followings are links to Android builds

http://chromegw.corp.google.com/i/internal.client.webrtc/builders/Android%20Builder%20%28dbg%29/builds/2648

http://chromegw.corp.google.com/i/internal.client.webrtc/builders/Android%20Clang%20%28dbg%29/builds/2369

http://chromegw.corp.google.com/i/internal.client.webrtc/builders/Android%20ARM64%20%28dbg%29/builds/1320

> Make an AudioEncoder subclass for iSAC
> 
> BUG=3926
> R=henrik.lundin@webrtc.org, kjellander@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/25019004

TBR=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7676 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-11 01:44:13 +00:00
05feff013e Make an AudioEncoder subclass for iSAC
BUG=3926
R=henrik.lundin@webrtc.org, kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7675 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-10 23:53:08 +00:00
4765ca55f9 Roll chromium_revision: 28d1981..d3db2ff
Pick up the libvpx roll: https://codereview.chromium.org/674753002

Summary of changes (28d1981..d3db2ff/DEPS):
* third_party/android_tools 36bf7ac..ea50ccc
* third_party/boringssl 7ea8481..751e889
* third_party/icu 8ac906f..d8b2a9d
* third_party/libvpx efe9712..2e5ced5
* third_party/usrsctp/usrsctplib
* tools/gyp 1990:1991
* tools/swarming_client a57d7db..bcb3bc3

Clang is not updated in this roll.

Made the change getchar() --> getc(stdin) as seems like getchar() isn't supported on android anymore.
(getchar() was causing the error: undefined reference to '__srget')

Update rate control parameter in vp9 test.

R=andrew@webrtc.org
TBR=ajm@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7598 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-03 20:10:26 +00:00
508c91683c Build fix for MIPS32R6.
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@7580 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-31 16:26:17 +00:00
a296725d0e audio_coding/codecs/isac/fix: Replaced macro WEBRTC_SPL_RSHIFT_W32 with >>"
BUG=3348,3353
TESTED=locally on linux and trybots
R=henrik.lundin@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7544 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-28 13:05:43 +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
0552356fda isacfix: Refactor big-endian reading and writing
Make subroutines for encoding and decoding arrays of 16-bit big-endian
integers, and in the process fix a bug: When decoding an odd number of
bytes from be16, the least significant byte of the last int16 in the
array was properly taken to be zero instead of actually being read
(since it's outside the array). However, when encoding an odd number
of bytes, the least significant byte of the last int16 in the array
was written to the output as-is instead of being taken to be zero;
thus, we encoded one byte more than we should. This was probably not
harmful, and the value was dropped at decoding anyway; nevertheless,
writing a constant zero is the safe thing to do, and this patch does
so.

R=aluebs@webrtc.org, bjornv@webrtc.org, henrik.lundin@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7527 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-27 11:25:37 +00:00
2abebe7baf audio_coding/codecs/isac/main: Replaced macro WEBRTC_SPL_RSHIFT_W32 with >>
BUG=3348,3353
TESTED=locally on linux and trybots
R=henrik.lundin@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7474 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-20 08:26:41 +00:00
a3722b643d iSAC tests: Type buffers as uint8_t[] to avoid casts
The iSAC interface functions now expect uint8_t arrays, so change some
arrays to be of that type instead of casting at each point of use.

R=bjornv@webrtc.org, henrik.lundin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7433 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-13 13:29:04 +00:00
396a5e0001 WebRtcIsac_Decode et al.: Type encoded data as uint8[], not uint16[]
This patch changes WebRtcIsac_Decode, WebRtcIsac_DecodeRcu, and
WebRtcIsacfix_Decode so that they read the encoded data from a uint8
array instead of a uint16 array.

BUG=909
R=aluebs@webrtc.org, bjornv@webrtc.org, henrik.lundin@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7431 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-13 11:23:24 +00:00
3f7f899a15 WebRtcIsac_UpdateBwEstimate et al.: Type byte streams as uint8, not uint16
This patch changes the signature of WebRtcIsac_UpdateBwEstimate,
WebRtcIsacfix_UpdateBwEstimate, and WebRtcIsacfix_UpdateBwEstimate1 so
that they expect the encoded data to be uint8 arrays, not uint16,
which is more natural. The implementations of the functions are left
unchanged for now.

BUG=909
R=aluebs@webrtc.org, bjornv@webrtc.org, henrik.lundin@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7430 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-13 11:07:06 +00:00
1172988c79 Some WebRtcIsac_* and WebRtcIsacfix_* functions: type encoded stream as uint8[]
The affected functions are

  WebRtcIsacfix_ReadFrameLen
  WebRtcIsacfix_GetNewBitStream
  WebRtcIsacfix_ReadBwIndex

and

  WebRtcIsac_ReadFrameLen
  WebRtcIsac_GetNewBitStream
  WebRtcIsac_ReadBwIndex
  WebRtcIsac_GetRedPayload

BUG=909
R=aluebs@webrtc.org, henrik.lundin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7429 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-13 10:53:42 +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
f71785cd3b audio_coding: Replaced macro WEBRTC_SPL_RSHIFT_W16 with >>
Replaced trivial shift macro with >>. The actual implementation of the macro is simply >>.

Affected codecs:
* ilbc
* 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/23889004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7396 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-08 15:36:30 +00:00
532ed43e85 Prevent reading outside iSAC bitstream, if the stream is corrupted.
BUG=chrome_373312(#24)
R=henrik.lundin@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7379 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-07 00:21:02 +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
7ee24a7906 WebRtcIsac_Encode and WebRtcIsacfix_Encode: Type encoded stream as uint8_t
We have to fix both at once, since there's a macro that calls one of
them or the other.

BUG=909
R=andrew@webrtc.org, bjornv@webrtc.org, henrik.lundin@webrtc.org, minyue@webrtc.org

Committed: https://code.google.com/p/webrtc/source/detail?r=7266

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7285 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-24 10:31:02 +00:00
a3c4d4dd2c Revert 7266 "WebRtcIsac_Encode and WebRtcIsacfix_Encode: Type en..."
This was causing apparently legitimate failures on the following bots:
http://chromegw/i/client.webrtc/builders/Linux64%20Release%20%5Blarge%20tests%5D/builds/2599
http://chromegw/i/client.webrtc/builders/Android%20Tests%20%28KK%20Nexus5%29%28dbg%29/builds/2023
http://chromegw/i/client.webrtc/builders/Android%20Tests%20%28JB%20Nexus7.2%29%28dbg%29/builds/1825
http://chromegw/i/client.webrtc/builders/Android%20Tests%20%28KK%20Nexus5%29/builds/2013
http://chromegw/i/client.webrtc/builders/Android%20Tests%20%28JB%20Nexus7.2%29/builds/1795

> WebRtcIsac_Encode and WebRtcIsacfix_Encode: Type encoded stream as uint8_t
> 
> We have to fix both at once, since there's a macro that calls one of
> them or the other.
> 
> BUG=909
> R=andrew@webrtc.org, bjornv@webrtc.org, henrik.lundin@webrtc.org, minyue@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/19229004

TBR=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7267 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-23 01:32:57 +00:00
8c5740b485 WebRtcIsac_Encode and WebRtcIsacfix_Encode: Type encoded stream as uint8_t
We have to fix both at once, since there's a macro that calls one of
them or the other.

BUG=909
R=andrew@webrtc.org, bjornv@webrtc.org, henrik.lundin@webrtc.org, minyue@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7266 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-22 23:04:14 +00:00
262e676a08 Reland rev 7041 with BUILD.gn files.
Original description:
  Audio codecs to include webrtc/typedefs.h

  Will easy merge of webrtc/typedefs.h and webrtc/base/basictypes.h

  CL Generated with:
  $ git grep -l \"typedefs.h\" | xargs sed -i "s/typedefs.h/webrtc\/typedefs.h/g"

BUG=3777
R=henrik.lundin@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7061 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-04 13:28:48 +00:00
3c0aae17f0 Change gflags and gmock includes to be full paths.
This will fix PRESUBMIT warnings developers will get due to
r7014 and r7020.

Also some minor style cleanup in:
webrtc/modules/audio_coding/main/test/RTPFile.cc
webrtc/modules/audio_coding/neteq/test/RTPjitter.cc

BUG=
R=henrik.lundin@webrtc.org, niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7058 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-04 09:55:40 +00:00
1b8b4c4959 Revert 7041 " Audio codecs to include webrtc/typedefs.h"
Breaks gn build, see e.g. http://chromegw.corp.google.com/i/chromium.webrtc.fyi/builders/Linux%20GN/builds/1248/steps/compile/logs/stdio

R=turaj@webrtc.org
TBR=andresp@webrtc.org
BUG=N/A

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7046 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-03 19:42:16 +00:00
9730d3aae9 Audio codecs to include webrtc/typedefs.h
Will easy merge of webrtc/typedefs.h and webrtc/base/basictypes.h

CL Generated with:
$ git grep -l \"typedefs.h\" | xargs sed -i "s/typedefs.h/webrtc\/typedefs.h/g"

BUG=3777
R=henrik.lundin@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7041 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-03 14:37:18 +00:00
524b8f7304 GN: Implement voice engine, common audio, audio coding and audio processing
NOTICE: Assembly offsets generation for audio processing will
not be ported to GN and the process of removing them is tracked
in https://code.google.com/p/webrtc/issues/detail?id=3580.

The GN files are based upon the GYP files as of r7009.

BUG=3441
TESTED=Passing builds with:
gn gen out/Default --args="build_with_chromium=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false is_debug=true" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false aec_debug_dump=true" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false aec_untrusted_delay_for_testing=true" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false prefer_fixed_point=true" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false os=\"android\" cpu_arch=\"arm\" is_clang=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false os=\"android\" cpu_arch=\"arm\" arm_version=7 is_clang=false" && ninja -C out/Default

I don't know how to setup the mips toolchain to test the following, but it's out of scope for the GN effort for now:
gn gen out/Default --args="build_with_chromium=false cpu_arch=\"mipsel\" mips_dsp_rev=0" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false cpu_arch=\"mipsel\" mips_dsp_rev=1" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false cpu_arch=\"mipsel\" mips_dsp_rev=2" && ninja -C out/Default

Compilation of Chromium's 'all' target with src/third_party/webrtc
symlinked to the WebRTC checkout with this CL applied, both
with the default GN settings and using
--args="is_debug=false os=\"android\" cpu_arch=\"arm\""

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7012 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-31 20:32:53 +00:00
af7fdfcde8 Add LTO support for Android Chromium.
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@7009 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-29 17:41:13 +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
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
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
742bac20b2 Remove __inline from WebRtcIsacfix_Log2Q8.
This function is used externally and needs to always be emitted, also
there's no point in explicitly marking this as inline.

R=tina.legrand@webrtc.org
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6926 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-19 06:54:12 +00:00
f86b262588 MIPS optimizations for ISAC (patch #3)
Implemented functions:
- WebRtcIsacfix_MatrixProduct1
- WebRtcIsacfix_MatrixProduct2

The optimizations are bit-exact to the C code.

R=andrew@webrtc.org, tina.legrand@webrtc.org

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6919 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-18 17:32:19 +00:00
34a865a038 Roll chromium_revision 288251:289723
Mainly to pick up the libvpx.gyp change in r288724
to unblock https://webrtc-codereview.appspot.com/16229005/

Overview of changes in Chrome DEPS:
$ svn diff http://src.chromium.org/chrome/trunk/src/DEPS -r 288251:289723
which can be compared with the output of:
$ svn cat http://webrtc.googlecode.com/svn/trunk/DEPS | grep chromium_deps | sed 's/^ *//' | sort | uniq

In a WebRTC checkout, that sums up to the following relevant changes:
* src/buildtools 59b932:567f0a
* testing/gtest 643:692
* testing/gmock 410:485
* third_party/boringssl/src 533cbe:c3d796
* third_party/libvpx 287125:289332
* third_party/libyuv 1035:1038
* third_party/nss 287121:289430
* third_party/opus/src 256783:289085
* tools/gyp 1959:1964

BUG=2863, chromium:339647
TEST=Local testing as trybots currently cannot handle DEPS changes properly due to http://crbug.com/385594
R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6913 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-16 18:49:55 +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
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
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
ceafa8cce9 MIPS optimizations for ISAC (patch #2)
Implemented functions:
- WebRtcIsacfix_CalculateResidualEnergy
- WebRtcIsacfix_Spec2Time
- WebRtcIsacfix_Time2Spec
- WebRtcIsacfix_HighpassFilterFixDec32
- WebRtcIsacfix_PCorr2Q32

Gain achieved: aprox. further 5% on top of patch#1 on ISAC encoding path.
The optimizations are bit-exact to the C code, with the excception of the
MIPS DSPr2 variant of the WebRtcIsacfix_Time2Spec function (the accuracy of
the WebRtcIsacfix_Time2Spec MIPS DSPr2 variant is same or better than C
variant). Code verification and improvement achieved have been determined
using the iSACFixtest application.

R=andrew@webrtc.org, tina.legrand@webrtc.org

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6749 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-21 16:43:13 +00:00
eec6ecdb1e Landing pkasting's webrtc fixes for MSVC level 4 warnings in WebRTC.
---

Fixes for re-enabling more MSVC level 4 warnings: webrtc/ edition

This contains fixes for the following sorts of issues:
* Possibly-uninitialized local variable
* Signedness mismatch
* Assignment inside conditional

This also contains a small number of other cleanups to nearby code. In
particular several warning-disables for MSVC are removed because they don't seem
to be necessary (either that warning is not enabled or the code does not trigger
it).

BUG=crbug.com/81439
TEST=none
R=henrika@webrtc.org, pkasting@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6667 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-11 19:09:59 +00:00
8de8c9155e Maintain constantness of the input to iSAC-fix decoder, and prevent heap-buffer overflow.
To save memory in iSAC-fix, decoder operated directly on the recieved bitstream. However, this breaks constantness of input when decoder performed in-place big to little Endian conversion. Furthermore, for bit-streams with odd lengths, this meant writing outside the memory. That is because the last byte will be shifted to the Most Significat Byte which might be outside the allocated memory.

If we care about memory, the solution is to do a big-to-little Endian conversion everytime we read a Word16 from the bitstream.

BUG=845,chrome:379458
R=henrik.lundin@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6494 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-19 15:47:09 +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
919914d71b MIPS optimizations for ISAC (patch #1)
Implemented functions:
    - WebRtcIsacfix_AutocorrMIPS
    - WebRtcIsacfix_FilterArLoop
    - WebRtcIsacfix_FilterMaLoopMIPS
    - WebRtcIsacfix_AllpassFilter2FixDec16MIPS (only MIPS DSP)
    - WebRtcIsacfix_PitchFilterCore (only MIPS DSPR2)

Gain achieved: from aprox. 15% (MIPS32) up to aprox. 40% (MIPS DSPR2)

R=andrew@webrtc.org, tina.legrand@webrtc.org

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6387 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-10 18:13:15 +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
a28c697d93 - Get rid of 'using' from .h
- Add parenthesis to make order of evaluation clearer.

BUG=
R=minyue@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6304 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-02 15:22:33 +00:00
546961a9d3 Avoid reading uninitialized values (outside baundary) in DFT arithmatic decoder of iSAC-fix.
Arithmetic encoder does not right the last 2 or 3 bytes of |streamval| when terminating the bit-stream. Perhaps the last bytes makes no difference in decoding the stream. However, the decoder reads full |streamval| (int16_t) going out of boundary and reading uninitialized values. This avoids this problem. by inserting zero-bytes whenever decoder intends to read outside boundary.

BUG=1353,chrome373312,b/13468260
R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6234 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-23 17:14:29 +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