83ad33a8ae
Upconvert various types to int.
...
Per comments from HL/kwiberg on https://webrtc-codereview.appspot.com/42569004 , when there is existing usage of mixed types (int16_t, int, etc.), we'd prefer to standardize on larger types like int and phase out use of int16_t.
Specifically, "Using int16 just because we're sure all reasonable values will fit in 16 bits isn't usually meaningful in C."
This converts some existing uses of int16_t (and, in a few cases, other types such as uint16_t) to int (or, in a few places, int32_t). Other locations will be converted to size_t in a separate change.
BUG=none
R=andrew@webrtc.org , kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/54629004
Cr-Commit-Position: refs/heads/master@{#9405}
2015-06-10 00:20:09 +00:00
cb7f8ce2df
Clear ARM NEON flag
...
Merge WEBRTC_ARCH_ARM64_NEON and WEBRTC_ARCH_ARM_NEON into one
WEBRTC_HAS_NEON.
Replace WEBRTC_DETECT_ARM_NEON by WEBRTC_DETECT_NEON.
Replace WEBRTC_ARCH_ARM by WEBRTC_ARCH_ARM64 for arm64 cpu.
BUG=4002
R=andrew@webrtc.org , jridges@masque.com , kjellander@webrtc.org
Change-Id: I870a4d0682b80633b671c9aab733153f6d95a980
Review URL: https://webrtc-codereview.appspot.com/49309004
Cr-Commit-Position: refs/heads/master@{#9228}
2015-05-20 05:20:04 +00:00
dcccab3ebb
New interface: AudioEncoderMutable
...
With implementations for all codecs. It has no users yet. This new
interface is the same as AudioEncoder (in fact it is a subclass) but
it allows changing some parameters after construction.
COAUTHOR=henrik.lundin@webrtc.org
BUG=4228
R=jmarusic@webrtc.org , minyue@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/51679004
Cr-Commit-Position: refs/heads/master@{#9149}
2015-05-07 10:35:18 +00:00
f242e665b4
Replace asm NEON function by intrinsics implementation on ARMv7
...
Passed building isac_neon and modules_unittests on Android ARMv7.
Passed modules_unittests with following filters:
--gtest_filter=FiltersTest*
--gtest_filter=LpcMaskingModelTest*
--gtest_filter=TransformTest*
--gtest_filter=FilterBanksTest*
WebRtcIsacfix_CalculateResidualEnergyNeon is removed, refer more in
Issue 4224.
The old review url is at: https://webrtc-codereview.appspot.com/37259004/
BUG=4002
R=andrew@webrtc.org , jridges@masque.com , kjellander@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/48319005
Patch from Zhongwei Yao <zhongwei.yao@arm.com >.
Change-Id: I4c16e15930f1b3449d67b67bf023fac28121dff8
Cr-Commit-Position: refs/heads/master@{#9140}
2015-05-06 08:39:37 +00:00
589699eea2
Fix bug in transform_neon.c in iSAC codec.
...
The bug causes AcmReceiverBitExactness and AcmSenderBitExactness test
failed in modules_unittests.
BUG=4002
R=andrew@webrtc.org , jridges@masque.com , kjellander@webrtc.org
Change-Id: I18b00056c53cf4158c186d449e5ab785065cca94
Review URL: https://webrtc-codereview.appspot.com/49889004
Patch from Zhongwei Yao <zhongwei.yao@arm.com >.
Cr-Commit-Position: refs/heads/master@{#9138}
2015-05-06 02:25:20 +00:00
e8a197bd07
Enable isac NEON building on Aarch64
...
Passed building isac_neon and modules_unittests on Android ARM64 and
ARMv7.
Passed modules_unittests with following filters:
--gtest_filter=FiltersTest*
--gtest_filter=LpcMaskingModelTest*
--gtest_filter=TransformTest*
--gtest_filter=FilterBanksTest*
WebRtcIsacfix_CalculateResidualEnergyNeon is not enabled due to Issue
4224.
BUG=4002
R=andrew@webrtc.org , jridges@masque.com , kjellander@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/44229004
Patch from Zhongwei Yao <zhongwei.yao@arm.com >.
Cr-Commit-Position: refs/heads/master@{#9092}
2015-04-28 06:42:04 +00:00
8f85dbcce4
Reduce the number of registers used in MIPS optimizations.
...
This change is needed by ChromeOS as it introduces -fno-omit-frame-pointer
flag (see code.google.com/p/chromium/issues/detail?id=477749). This causes
compile error for MIPS, as some MIPS optimization blocks use maximum possible
number of available registers.
Also, this change contains minor GN build fix for MIPS platform regarding the
pitch_filter_mips.c / pitch_filter_c.c file inclusion.
BUG=477749
R=andrew@webrtc.org , djordje.pesut@imgtec.com , tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/48139004
Patch from Ljubomir Papuga <lpapuga@mips.com >.
Cr-Commit-Position: refs/heads/master@{#9047}
2015-04-21 23:52:26 +00:00
f2822edf61
Refactor audio_coding/codecs/isac/fix: Removed usage of macro WEBRTC_SPL_MUL_16_16_RSFT
...
The macro is defined as
#define WEBRTC_SPL_MUL_16_16_RSFT(a, b, c) \
(WEBRTC_SPL_MUL_16_16(a, b) >> (c))
where the latter macro is in C defined as
#define WEBRTC_SPL_MUL_16_16(a, b) \
((int32_t) (((int16_t)(a)) * ((int16_t)(b))))
(For definitions on ARMv7 and MIPS, see common_audio/signal_processing/include/spl_inl_{armv7,mips}.h)
The replacement consists of
- avoiding casts to int16_t if inputs already are int16_t
- adding explicit cast to <type> if result is assigned to <type> (other than int or int32_t)
- minor cleanups like remove of unnecessary parentheses and style changes
- removed commented code lines used during development
- excluded fft.c since there are neon optimizations used and a removal may cause a performance regression
BUG=3348, 3353
TESTED=locally on linux and trybots
R=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/48799004
Cr-Commit-Position: refs/heads/master@{#8967}
2015-04-10 06:06:46 +00:00
d4e75016a3
Refactor audio_coding/codecs/isac/fix: Removed usage of trivial macro WEBRTC_SPL_LSHIFT_W32()
...
The macro is defined as
#define WEBRTC_SPL_LSHIFT_W32(a, b) ((a) << (b))
hence trivial.
The macro name may in fact mislead the user to assume a cast/truncation to int32_t is done.
- Removing usage of it.
- Some style changes.
BUG=3348, 3353
TESTED=locally on linux and trybots
R=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/46749005
Cr-Commit-Position: refs/heads/master@{#8918}
2015-04-02 04:59:44 +00:00
f809b9b38d
Fix bug in WebRtcIsacfix_FilterMaLoopNeon.
...
Pass content_browsertests in Chromium. Performance test result (lower is
better):
C version: 100%
old intrinsics Neon version (with bug): 16.5%
new intrinsics Neon version: 18.0%
asm Neon version: 23.3%
BUG=4002
R=andrew@webrtc.org , jridges@masque.com
Change-Id: Ia0a96ac237216b635fc528f67d39319cdf246281
Review URL: https://webrtc-codereview.appspot.com/46739004
Cr-Commit-Position: refs/heads/master@{#8907}
2015-04-01 09:43:22 +00:00
bc2bb34419
Refactor audio_coding/codecs/isac: Removed usage of macro WEBRTC_SPL_MUL_16_16
...
The macro is in C defined as
#define WEBRTC_SPL_MUL_16_16(a, b) ((int32_t) (((int16_t)(a)) * ((int16_t)(b))))
(For definition on ARMv7 and MIPS, see
common_audio/signal_processing/include/spl_inl_armv7.h and
common_audio/signal_processing/include/spl_inl_mips.h)
The replacement consists of
- avoiding casts to int16_t if inputs already are int16_t
- adding explicit cast to <type> if result is assigned to <type> (other than int
or int32_t)
Some other minor code cleanup also exists.
BUG=3348,3353
TESTED=locally on Mac and trybots
R=henrik.lundin@webrtc.org , kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/42639004
Cr-Commit-Position: refs/heads/master@{#8717}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8717 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-13 12:59:36 +00:00
6b56d0793e
Revert 8632 "Enable isac NEON building on Aarch64"
...
Breaks Chromium audio tests on Nexus 9.
http://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Tests%20%28dbg%29%20%28L%20Nexus9%29/builds/1152/steps/content_browsertests/logs/stdio
It also actually broke already on our android_arm64 trybot in the CL:
http://build.chromium.org/p/tryserver.webrtc/builders/android_arm64/builds/3282
but I failed to double-check that (I guess I assumed it was flakiness since
that bot has been flaking a lot lately).
> Enable isac NEON building on Aarch64
>
> Passed building isac_neon and modules_unittests on Android ARM64 and ARMv7.
> Passed modules_unittests with following filters:
> --gtest_filter=FiltersTest*
> --gtest_filter=LpcMaskingModelTest*
> --gtest_filter=TransformTest*
> --gtest_filter=FilterBanksTest*
>
> WebRtcIsacfix_CalculateResidualEnergyNeon is not enabled due to Issue 4224.
>
> BUG=4002
> R=andrew@webrtc.org , jridges@masque.com , kjellander@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/39979004
>
> Patch from Zhongwei Yao <zhongwei.yao@arm.com >.
TBR=zhongwei.yao@arm.com , andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/45559004
Cr-Commit-Position: refs/heads/master@{#8649}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8649 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-09 11:08:42 +00:00
75e850e192
Enable isac NEON building on Aarch64
...
Passed building isac_neon and modules_unittests on Android ARM64 and ARMv7.
Passed modules_unittests with following filters:
--gtest_filter=FiltersTest*
--gtest_filter=LpcMaskingModelTest*
--gtest_filter=TransformTest*
--gtest_filter=FilterBanksTest*
WebRtcIsacfix_CalculateResidualEnergyNeon is not enabled due to Issue 4224.
BUG=4002
R=andrew@webrtc.org , jridges@masque.com , kjellander@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/39979004
Patch from Zhongwei Yao <zhongwei.yao@arm.com >.
Cr-Commit-Position: refs/heads/master@{#8632}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8632 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-06 12:29:23 +00:00
e35fa96cbe
Move isacfix.gypi and isac.gypi
...
Move webrtc/modules/audio_coding/codecs/isac/fix/source/isacfix.gypi
and webrtc/modules/audio_coding/codecs/isac/main/source/isac.gypi to
webrtc/modules/audio_coding/codecs/isac to pass recently
added _CheckNoSourcesAboveGyp presubmit rule.
BUG=4002
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/37269004
Cr-Commit-Position: refs/heads/master@{#8376}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8376 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-16 12:47:22 +00:00
4455f6243a
WebRtcIsacfix_Time2SpecNeon and _Spec2TimeNeon: Fix stack alignment
...
The ABI
(http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042e/IHI0042E_aapcs.pdf )
says to 8-byte-align stack frames. That means we have to push an even
number of registers on function entry if we want to be able to make
subroutine calls without adjusting the stack first.
BUG=4177
R=bjornv@webrtc.org , henrik.lundin@webrtc.org , zhongwei.yao@arm.com
Review URL: https://webrtc-codereview.appspot.com/33149004
Cr-Commit-Position: refs/heads/master@{#8214}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8214 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-30 11:58:15 +00:00
6c3855258d
Add WebRtcIsacfix_AllpassFilter2FixDec16Neon()'s intrinsics version.
...
This intrinsics version gives bit-exact result as the current C
code. And the performance is 14% better than current assembly
neon version, 3.4 times faster than current C version. The test runs
under Cortex-a53 aarch32 mode, other cpu should give similar performance
result.
Change-Id: Icce5eaf2e17790ce44513d52b53b9f600cc16f96
BUG=4002
R=andrew@webrtc.org , jridges@masque.com
Review URL: https://webrtc-codereview.appspot.com/36689004
Patch from Zhongwei Yao <zhongwei.yao@arm.com >.
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8070 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 02:56:06 +00:00
86e1e487e7
Move system_wrappers.gyp files to the proper directory.
...
Build targets should not refer to non-subpaths as was happening before when
source/system_wrappers.gyp refers to ../interface/ files.
R=kjellander@webrtc.org , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/37609004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8057 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-14 09:30:52 +00:00
2a26734f04
Partial revert of r7396
...
This change reverts a small part of what was done in r7396. It seems
like that change uncovered another issue with NEON.
BUG=4177,chrome-os-partner:31534
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/33849004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8043 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-12 20:52:21 +00:00
f3fd8e7cdf
Add NEON intrinsics version for transform_neon
...
WebRtcIsacfix_Time2SpecNeon and WebRtcIsacfix_Spec2TimeNeon are added.
TransformTest in modules_unittests is passed on ARM32/ARM64 platform.
Initially reviewed here:
https://webrtc-codereview.appspot.com/36449004/
BUG=4002
R=andrew@webrtc.org , jridges@masque.com
Change-Id: I0920ff66a0a0f529707fd7e6619f91e271a47019
Review URL: https://webrtc-codereview.appspot.com/31309004
Patch from Yang Zhang <yang.zhang@arm.com >.
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8030 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-09 18:29:37 +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
1090a6eccf
Remove obsolete target_arch == armv7.
...
Also, use arm_version >= 7 so things will continue to work when building
for ARMv8 and higher targets.
BUG=3906
R=kjellander@webrtc.org , tkchin@webrtc.org , zhongwei.yao@arm.com
Review URL: https://webrtc-codereview.appspot.com/38379004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7957 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-18 21:36:18 +00:00
eb544460e4
Rename _t struct types in audio_coding.
...
_t names are reserved in POSIX.
R=henrik.lundin@webrtc.org
BUG=162
Review URL: https://webrtc-codereview.appspot.com/34509004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7933 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-17 15:23:29 +00:00
88bdec8c3a
AudioEncoder subclass for iSACfix
...
This patch refactors AudioEncoderDecoderIsac so that it can share
almost all code with the very similar AudioEncoderDecoderIsacFix.
BUG=3926
R=henrik.lundin@webrtc.org , kjellander@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/29259004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7912 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-16 12:49:37 +00:00
b413a30097
Add WebRtcIsacfix_FilterMaLoopNeon's intrinsics version.
...
This intrinsics version gives bit-exact result as the current assembly
neon code. And the performance is 38% better than current assembly
neon version, 5.92 times faster than current C version. The test runs
under Cortex-a53 aarch32 mode, other cpu should give similar performance
result.
BUG=4002
R=andrew@webrtc.org , jridges@masque.com
Change-Id: I257e33ef6d634a519fd71adc4f52b06dd655bd9d
Review URL: https://webrtc-codereview.appspot.com/32749004
Patch from Zhongwei Yao <zhongwei.yao@arm.com >.
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7891 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-15 07:23:49 +00:00
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
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
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
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