• Home
  • History
  • Annotate
  • only in /external/webrtc/webrtc/modules/audio_coding/codecs/isac/main/source/
History log of /external/webrtc/webrtc/modules/audio_coding/codecs/isac/main/source/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2622ea73e33bf4269dcccff89a7ba224a80975b9 24-Feb-2017 Chih-Hung Hsieh <chh@google.com> Leave only an empty top level OWNERS file.

We should not copy OWNERS files from upstream,
or the owners should be registered in Gerrit Code Review.

Bug: 33166666
Test: default build targets
Change-Id: Ibfd47e643f03678bb65880653383adb84809169d
WNERS
4e188dd3746eaf342d32e5f666de0e63480f7412 12-Feb-2016 Chih-Hung Hsieh <chh@google.com> Suppress unused-parameter warnings.

Suppress warnings until upstream can fix them.

BUG: 27074506
Change-Id: If7e6f190100fba025d25d2634d1c9a657cc24854
ndroid.mk
675d4373f87b2468a334f2ed48bfa4e6946d80f1 05-Nov-2015 Chih-Hung Hsieh <chh@google.com> WIP: Changes after merge commit 'cb3f9bd'

Changes after "git merge cb3f9bd"

* git mv old Android.mk from src/ to webrtc/
* Remove old unused files in src/*.
* Modify webrtc/.gitignore to keep *.mk files.
* Copy old files from master, lost in auto-merge.
src/modules/audio_processing/test/unit_test.cc
src/modules/audio_coding/codecs/isac/fix/test/{Android.mk,kenny.c}
to webrtc, but most of the old test code do not compile with new
webrtc API and are commented out.
* Move src/modules/audio_processing/test/android/apmtest/jni/*.mk to
webrtc/... but the Android.mk files does not work.
Commented out its build target.
* Changes to Android.mk files:
* Change references of src/ to webrtc/.
* Fix include path
* Fix source file list, remove old non-existing files,
add new source files to resolve link errors.
* Add new Android.mk files to build some new static libraries
to link into current Android webrtc .so files.
* Remove unnecessary LOCAL_SHARED_LIBRARIES in Android.mk files
that build static libraries.
* Remove old unnecessary clang workarounds like
-Wno-tautological-pointer-compare
-no-integrated-as
* Fix include path of debug.pb.h in some source files.
* Add -DWEBRTC_POSIX in android-webrtc.mk
* Manually merge Android specific changes in
src/typedefs.h to webrtc/typedefs.h
* Fix trivial syntax error in scoped_ptr.h, calling static_assert.
* Use -std=c++0x in webrtc/system_wrappers/source/Android.mk
* #undef getchaar in spreadsort.hpp
* Verified and not to carry old Android hacks from src/... to webrtc/...
src/system_wrappers/source/android/cpu-features.c
src/modules/interface/module.h
src/modules/audio_coding/codecs/isac/fix/source/filters_neon.c
src/system_wrappers/source/trace_posix.cc
src/typedefs.h

More pathes from Alex Luebs:
* Use new unit test kenny.cc.
Delete old kenny.cc.
Comment out unessential code in kenny.cc to fix link error for now.
* Replace old unit test files with new ones in
webrtc/modules/audio_processing/Android.mk.
Delete old audio_processing/test/unit_test.cc.
* Fix compilation errors in
webrtc/modules/audio_processing/test/audio_processing_unittest.cc

Change-Id: I7bbf776eeb9dcfa21a82dd1f2dec378235cbbc3e
ndroid.mk
74640895fafbb90a6630a6a91b80da0a7cff229c 29-Oct-2015 Henrik Kjellander <kjellander@webrtc.org> audio_coding: rename interface -> include

BUG=webrtc:5095
R=henrik.lundin@webrtc.org
TBR=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1417173004 .

Cr-Commit-Position: refs/heads/master@{#10444}
udio_decoder_isac.cc
udio_encoder_isac.cc
udio_encoder_isac_unittest.cc
sac.c
sac_float_type.h
sac_unittest.cc
tructs.h
5460f9b81dc9bd232fa856347729f120159ae168 20-Oct-2015 msniegocki <msniegocki@opera.com> Workaround for false positive -Wmaybe-uninitialized being triggered on some compilers

Some toolchains (in this case referring to a g++ 4.9, or "arm-linux-
androideabi-g++ (GCC) 4.9 20140827 (prerelease)" according to my
--version, from the Android NDK r10e-rc4 and potentially with custom
patches; others may be affected as well) fail to prove that myVec in
WebRtcIsac_CorrelateInterVec is never used uninitialized. This is likely
due to the compiler thinking the assignment in line 468 might not
happen. Changing the loop condition in line 466 to rowCntr <
SOME_CONSTANT also helps, suggesting that the compiler can't infer that
there are only 2 values interVecDim can have at that point, and neither
of them are 0. Of course, this is not an acceptable fix, as it changes
behaviour.

This seems to be a compiler bug, or at least an issue with its
heuristics. However, we can't really change toolchains at the moment,
and ultimately this change improves support for certain older compilers.

BUG=

Review URL: https://codereview.webrtc.org/1406423004

Cr-Commit-Position: refs/heads/master@{#10337}
ncode_lpc_swb.c
bd7de0c6eff510f9ec95b13a16862ca55871c47d 14-Oct-2015 henrik.lundin <henrik.lundin@webrtc.org> Delete full-band mode from the iSAC codec

This mode is no longer used.

BUG=4210

Review URL: https://codereview.webrtc.org/1392173004

Cr-Commit-Position: refs/heads/master@{#10275}
sac.c
ettings.h
tructs.h
740436899825b96e12469c417c0ea82fd8a22edf 22-Sep-2015 Karl Wiberg <kwiberg@webrtc.org> Move AudioDecoderIsac* to its own files

Currently, it's sitting in AudioEncoderIsac*'s files, which is less
than obvious. This CL puts the encoder and decoder in separate files
together with the C implementation; CLs are afoot to make it so for
the other built-in codecs as well.

BUG=webrtc:4557
R=henrik.lundin@webrtc.org

Review URL: https://codereview.webrtc.org/1339253003 .

Cr-Commit-Position: refs/heads/master@{#10018}
udio_decoder_isac.cc
udio_encoder_isac.cc
sac_float_type.h
12cfc9b4dacd6942377df1f29a64bdbec591920e 08-Sep-2015 kwiberg <kwiberg@webrtc.org> Fold AudioEncoderMutable into AudioEncoder

It makes more sense to combine the two interfaces, since there wasn't
a clear line separating them. The result is a combined interface with
just over a dozen methods, half of which need to be implemented by
every subclass, while the other half have sensible (and trivial)
default implementations and are implemented only by the few subclasses
that need non-default behavior.

Review URL: https://codereview.webrtc.org/1322973004

Cr-Commit-Position: refs/heads/master@{#9894}
udio_encoder_isac.cc
4376648df021fd82f25a38694e33678f802d06ea 27-Aug-2015 Karl Wiberg <kwiberg@google.com> AudioDecoder: Replace Init() with Reset()

The Init() method was previously used to initialize and reset
decoders, and returned an error code. The new Reset() method is used
for reset only; the constructor is now responsible for fully
initializing the AudioDecoder.

Reset() doesn't return an error code; it turned out that none of the
functions it ended up calling could actually fail, so this CL removes
their error return codes as well.

R=henrik.lundin@webrtc.org

Review URL: https://codereview.webrtc.org/1319683002 .

Cr-Commit-Position: refs/heads/master@{#9798}
sac.c
dce40cf804019a9898b6ab8d8262466b697c56e0 24-Aug-2015 Peter Kasting <pkasting@google.com> Update a ton of audio code to use size_t more correctly and in general reduce
use of int16_t/uint16_t.

This is the upshot of a recommendation by henrik.lundin and kwiberg on an original small change ( https://webrtc-codereview.appspot.com/42569004/#ps1 ) to stop using int16_t just because values could fit in it, and is similar in nature to a previous "mass change to use size_t more" ( https://webrtc-codereview.appspot.com/23129004/ ) which also needed to be split up for review but to land all at once, since, like adding "const", such changes tend to cause a lot of transitive effects.

This was be reviewed and approved in pieces:
https://codereview.webrtc.org/1224093003
https://codereview.webrtc.org/1224123002
https://codereview.webrtc.org/1224163002
https://codereview.webrtc.org/1225133003
https://codereview.webrtc.org/1225173002
https://codereview.webrtc.org/1227163003
https://codereview.webrtc.org/1227203003
https://codereview.webrtc.org/1227213002
https://codereview.webrtc.org/1227893002
https://codereview.webrtc.org/1228793004
https://codereview.webrtc.org/1228803003
https://codereview.webrtc.org/1228823002
https://codereview.webrtc.org/1228823003
https://codereview.webrtc.org/1228843002
https://codereview.webrtc.org/1230693002
https://codereview.webrtc.org/1231713002

The change is being landed as TBR to all the folks who reviewed the above.

BUG=chromium:81439
TEST=none
R=andrew@webrtc.org, pbos@webrtc.org
TBR=aluebs, andrew, asapersson, henrika, hlundin, jan.skoglund, kwiberg, minyue, pbos, pthatcher

Review URL: https://codereview.webrtc.org/1230503003 .

Cr-Commit-Position: refs/heads/master@{#9768}
andwidth_estimator.c
andwidth_estimator.h
odec.h
ecode_bwe.c
ilter_functions.c
sac.c
sac_unittest.cc
pc_analysis.c
pc_analysis.h
itch_estimator.h
608c3cfe77c165965ea04fcd0a2a71aad05a1d16 24-Aug-2015 kwiberg <kwiberg@webrtc.org> iSAC: Make separate AudioEncoder and AudioDecoder objects

The only shared state is now the bandwidth estimation info.
This reduces the amount and complexity of the locking
substantially.

Review URL: https://codereview.webrtc.org/1208993010

Cr-Commit-Position: refs/heads/master@{#9762}
udio_encoder_isac.cc
udio_encoder_isac_unittest.cc
805d8fb6eba5dfe4a1d4a875769d2f355683e21d 14-Aug-2015 pkasting <pkasting@chromium.org> Remove WebRtcIsac_Highpass_float().

This function is unreferenced and not even declared in a header file.

Split from https://codereview.webrtc.org/1228793004/ .

BUG=none
TEST=none

Review URL: https://codereview.webrtc.org/1296513002

Cr-Commit-Position: refs/heads/master@{#9716}
ilter_functions.c
b297c5a01f88219da26cffe433804963d1b70f0f 23-Jul-2015 pkasting <pkasting@chromium.org> Miscellaneous changes split from https://codereview.webrtc.org/1230503003 .

These are mostly trivial changes and are separated out just to reduce the
diff on that change to the minimum possible.

Note explanatory comments on patch set 1.

BUG=none
TEST=none

Review URL: https://codereview.webrtc.org/1235643003

Cr-Commit-Position: refs/heads/master@{#9617}
sac.c
3258db26ed7cedd20e1e21aca70d8304c7cef218 15-Jul-2015 kwiberg <kwiberg@webrtc.org> Split iSAC encoder/decoder: Test more cases (and make sure they work)

This patch tests separate iSAC encoder and decoder in more cases (32
kHz in addition to 16 kHz, and 30 ms adaptive and 60 ms nonadaptive).

In order to handle 32 kHz adaptive, the decoder needs to be told of
the encoder's sample rate (16 kHz worked already because that's the
default). And since we can't set the encoder's frame size without also
setting its bit rate, we need a way to set the decoder's bit rate as
well.

It turned out to be way too messy to continue verifying that the
bandwidth estimator does something reasonable in all these cases,
because it seems it doesn't. So the GetSetBandwidthInfo is now just
responsible for ensuring that split encoder/decoder behaves the same
as conjoined encoder/decoder; the job of verifying that the bandwidth
estimator does its job properly falls on some other test (that doesn't
exist yet).

Review URL: https://codereview.webrtc.org/1225093005

Cr-Commit-Position: refs/heads/master@{#9583}
sac.c
2224294c52fc0bb95eedb8187a62bedf1b5eb853 03-Jul-2015 Karl Wiberg <kwiberg@webrtc.org> iSAC: Functions for importing and exporting bandwidth est. info

They make it possible to send bandwidth estimation info from decoder
to encoder even if they are separate objects (which we want them to be
because multithreading).

R=henrik.lundin@webrtc.org

Review URL: https://codereview.webrtc.org/1208923002.

Cr-Commit-Position: refs/heads/master@{#9535}
andwidth_estimator.c
andwidth_estimator.h
sac.c
tructs.h
f4eca64596f8d29eeaedd9365177d8004a0cac4a 02-Jul-2015 kwiberg <kwiberg@webrtc.org> iSAC: Pad with zeros instead of random data, to make testing easier

Using random "garbage" bytes makes testing harder for no good reason.
Any deterministic sequence would do, but we choose all zeros because
it's simple.

Review URL: https://codereview.webrtc.org/1211243014

Cr-Commit-Position: refs/heads/master@{#9532}
sac.c
1d34fe979c52e5826c5c8162759b0167b2607836 16-Jun-2015 henrika <henrika@chromium.org> Adds support for webrtc::test::ResourcePath on iOS

BUG=webrtc:4752
R=tkchin@webrtc.org

Review URL: https://codereview.webrtc.org/1178843002.

Cr-Commit-Position: refs/heads/master@{#9445}
sac_unittest.cc
ac81163011c586fda1e74fd9d53a7156856dfd8c 16-Jun-2015 Karl Wiberg <kwiberg@webrtc.org> iSAC: Move global trig tables into the codec instance

These tables are constant, so it makes sense for all encoders to share
one copy---but it was initialized in a racy way, and there's no
appealing way to fix that without adding dependencies on locking
functions. So we simply give each codec instance its own copy, which
costs 8 * (240 + 240 + 120 + 120) = 5760 bytes apiece.

As noted in the TODO comment, the size of the tables could be reduced,
and they could be filled in at compile-time, but that would make the
encoder output slightly different, which would mess with our tests.

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

Review URL: https://codereview.webrtc.org/1177993003.

Cr-Commit-Position: refs/heads/master@{#9442}
odec.h
ecode.c
ncode.c
ntialize.c
sac.c
tructs.h
ransform.c
a6aa6d96f8aa10736c76deb2a6ef09027d375a4a 15-Jun-2015 Henrik Lundin <henrik.lundin@webrtc.org> Fix a data race in AudioEncoderMutableImpl and derived classes

Before this change, it could happen that a caller would get a pointer
to the encoder_ but not use it before another thread called the
Reconstruct method, changing the pointer. This of course resulted in
bad access crashes. With this change, each use of the pointer acquired
from the encoder() method is protected by the same lock that is
required to update the pointer. Note that this fix is probably too
aggressive, since it also affects the Opus implementation; the crash
has so far only been seen for iSAC.

Also adding a test to trigger the problem. The test did not trigger
the problem deterministically, but out would typically find it in less
than 1000 runs.

BUG=chromium:499468
R=jmarusic@webrtc.org, kwiberg@webrtc.org

Review URL: https://codereview.webrtc.org/1176303004.

Cr-Commit-Position: refs/heads/master@{#9436}
udio_encoder_isac.cc
aba07ef6d92bf1ded7ad1af49b54a8e6652dfcbb 12-Jun-2015 Peter Kasting <pkasting@google.com> Reland "Upconvert various types to int.", isac portion.

This reverts portions of commit cb180976dd0e9672cde4523d87b5f4857478b5e9, which
reverted commit 83ad33a8aed1fb00e422b6abd33c3e8942821c24. Specifically, the
files in webrtc/modules/audio_coding/codecs/isac/ are relanded.

The original commit message is below:

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
TBR=kwiberg

Review URL: https://codereview.webrtc.org/1179093002

Cr-Commit-Position: refs/heads/master@{#9422}
rc.c
rc.h
sac.c
sac_unittest.cc
728d9037c016c01295177fa700fc7927f0bb80bb 11-Jun-2015 Peter Kasting <pkasting@google.com> Reformat existing code. There should be no functional effects.

This includes changes like:
* Attempt to break lines at better positions
* Use "override" in more places, don't use "virtual" with it
* Use {} where the body is more than one line
* Make declaration and definition arg names match
* Eliminate unused code
* EXPECT_EQ(expected, actual) (but use (actual, expected) for e.g. _GT)
* Correct #include order
* Use anonymous namespaces in preference to "static" for file-scoping
* Eliminate unnecessary casts
* Update reference code in comments of ARM assembly sources to match actual current C code
* Fix indenting to be more style-guide compliant
* Use arraysize() in more places
* Use bool instead of int for "boolean" values (0/1)
* Shorten and simplify code
* Spaces around operators
* 80 column limit
* Use const more consistently
* Space goes after '*' in type name, not before
* Remove unnecessary return values
* Use "(var == const)", not "(const == var)"
* Spelling
* Prefer true, typed constants to "enum hack" constants
* Avoid "virtual" on non-overridden functions
* ASSERT(x == y) -> ASSERT_EQ(y, x)

BUG=none
R=andrew@webrtc.org, asapersson@webrtc.org, henrika@webrtc.org, juberti@webrtc.org, kjellander@webrtc.org, kwiberg@webrtc.org

Review URL: https://codereview.webrtc.org/1172163004

Cr-Commit-Position: refs/heads/master@{#9420}
andwidth_estimator.c
andwidth_estimator.h
pc_analysis.c
b7e5054414ff524f9db81dab7917729b8c4c8bcb 11-Jun-2015 Peter Kasting <pkasting@google.com> Match existing type usage better.

This makes a variety of small changes to synchronize bits of code using different types, remove useless code or casts, and add explicit casts in some places previously doing implicit ones. For example:

* Change a few type declarations to better match how the majority of code uses those objects.
* Eliminate "< 0" check for unsigned values.
* Replace "(float)sin(x)", where |x| is also a float, with "sinf(x)", and similar.
* Add casts to uint32_t in many places timestamps were used and the existing code stored signed values into the unsigned objects.
* Remove downcasts when the results would be passed to a larger type, e.g. calling "foo((int16_t)x)" with an int |x| when foo() takes an int instead of an int16_t.
* Similarly, add casts when passing a larger type to a function taking a smaller one.
* Add casts to int16_t when doing something like "int16_t = int16_t + int16_t" as the "+" operation would implicitly upconvert to int, and similar.
* Use "false" instead of "0" for setting a bool.
* Shift a few temp types when doing a multi-stage calculation involving typecasts, so as to put the most logical/semantically correct type possible into the temps. For example, when doing "int foo = int + int; size_t bar = (size_t)foo + size_t;", we might change |foo| to a size_t and move the cast if it makes more sense for |foo| to be represented as a size_t.

BUG=none
R=andrew@webrtc.org, asapersson@webrtc.org, henrika@webrtc.org, juberti@webrtc.org, kwiberg@webrtc.org
TBR=andrew, asapersson, henrika

Review URL: https://codereview.webrtc.org/1168753002

Cr-Commit-Position: refs/heads/master@{#9419}
sac.c
cb180976dd0e9672cde4523d87b5f4857478b5e9 11-Jun-2015 Peter Kasting <pkasting@google.com> Revert "Upconvert various types to int."

This reverts commit 83ad33a8aed1fb00e422b6abd33c3e8942821c24.

BUG=499241
TBR=hlundin

Review URL: https://codereview.webrtc.org/1179953003

Cr-Commit-Position: refs/heads/master@{#9418}
rc.c
rc.h
sac.c
sac_unittest.cc
a2c79405b407162119954d57855c8c04c043df76 10-Jun-2015 henrika <henrika@chromium.org> Ensures that modules_unittests runs on iOS

BUG=4752
R=tkchin@chromium.org

Review URL: https://codereview.webrtc.org/1171033002.

Cr-Commit-Position: refs/heads/master@{#9408}
sac_unittest.cc
83ad33a8aed1fb00e422b6abd33c3e8942821c24 10-Jun-2015 Peter Kasting <pkasting@google.com> 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}
rc.c
rc.h
sac.c
sac_unittest.cc
dcccab3ebb623df74fbb1425da2cb9d9a42439fa 07-May-2015 Karl Wiberg <kwiberg@webrtc.org> 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}
udio_encoder_isac.cc
d3e8eda8398640fac1b51f6f986f4fbb3fb5dd21 23-Apr-2015 Karl Wiberg <kwiberg@webrtc.org> (Re-land) AudioEncoderDecoderIsac: Merge the two config structs

This reverts commit 599beb86, which in turn reverted 7c324cac. What
makes it work this time is that we don't remove the option of setting
bit_rate to 0 in order to ask for the default value.

COAUTHOR=henrik.lundin@webrtc.org
BUG=4228, chromium:478161
R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9068}
udio_encoder_isac_unittest.cc
6069032ebb9026bc22ae18d1c4b8e8315140a907 20-Mar-2015 bjornv@webrtc.org <bjornv@webrtc.org> Refactor audio_coding/isac: removed usage of macro WEBRTC_SPL_LSHIFT_W32

The macro is defined as
#define WEBRTC_SPL_LSHIFT_W32(a, b) ((a) << (b))
It is a trivial operation that need no macro. In fact it may be confusing for to the user, since it can be interpreted as having an implicit cast to int32_t.

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

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

Cr-Commit-Position: refs/heads/master@{#8801}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8801 4adac7df-926f-26a2-2b94-8c16560cd09d
ntropy_coding.c
0c5b137e7eca6afcc1737ed66fad4302f43dad92 13-Mar-2015 henrik.lundin@webrtc.org <henrik.lundin@webrtc.org> Remove support for iSAC RCU

The current way that iSAC RCU is packetized and sent as a RED packet,
with the same payload type for primary and redundant payloads, does
not follow the specification for RED. As it is now, it is impossible
for a receiver to know if an incoming RED packet with iSAC payloads
inside consists of two "primary" (but time-shifted) payloads, or one
primary and one RCU payload. The RED standard stipulates that the
former option is the correct interpretation, while our implementation
currently applies the latter.

This CL removes support for iSAC RCU from Audio Coding Module, but
leaves it in the iSAC codec itself (i.e., in the C implementation).

BUG=4402
COAUTHOR=kwiberg@webrtc.org
R=tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8713}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8713 4adac7df-926f-26a2-2b94-8c16560cd09d
udio_encoder_isac_red_unittest.cc
51ccf376387266225cd8c78e63238b725860f0af 10-Mar-2015 jmarusic@webrtc.org <jmarusic@webrtc.org> AudioEncoder: add method MaxEncodedBytes

Added method AudioEncoder::MaxEncodedBytes() and provided implementations in derived encoders. This method returns the number of bytes that can be produced by the encoder at each Encode() call.
Unit tests were updated to use the new method.
Buffer allocation was not changed in AudioCodingModuleImpl::Encode(). It will be done after additional investigation.
Other refactoring work that was done, that may not be obvious why:
1. Moved some code into AudioEncoderCng::EncodePassive() to make it more consistent with EncodeActive().
2. Changed the order of NumChannels() and RtpTimestampRateHz() declarations in AudioEncoderG722 and AudioEncoderCopyRed classes. It just bothered me that the order was not the same as in AudioEncoder class and its other derived classes.

R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8671}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8671 4adac7df-926f-26a2-2b94-8c16560cd09d
udio_encoder_isac_red_unittest.cc
1d25c8719989fdbd30a845921e5bf0bd60535ad8 04-Mar-2015 henrik.lundin@webrtc.org <henrik.lundin@webrtc.org> Reland r8577 "Collapse AudioEncoderDecoderIsacRed into ..."

This effectively reverts r8578.

TBR=jmarusic@webrtc.org

Original commit message:
Collapse AudioEncoderDecoderIsacRed into AudioEncoderDecoderIsac

With this change, support for iSAC-RED is incorporated into the
regular AudioEncoderDecoderIsac class.

COAUTHOR=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8589}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8589 4adac7df-926f-26a2-2b94-8c16560cd09d
udio_encoder_isac.cc
udio_encoder_isac_red_unittest.cc
bcef431902ad4addbd8fce8b1289b35cdfec1416 03-Mar-2015 henrik.lundin@webrtc.org <henrik.lundin@webrtc.org> Revert r8577 "Collapse AudioEncoderDecoderIsacRed into ..."

Some of the build bots seems to have reacted to this change.

TBR=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8578}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8578 4adac7df-926f-26a2-2b94-8c16560cd09d
udio_encoder_isac.cc
udio_encoder_isac_red_unittest.cc
1fc28f2305947dda3a8aa83cb86190af3edd16fb 03-Mar-2015 henrik.lundin@webrtc.org <henrik.lundin@webrtc.org> Collapse AudioEncoderDecoderIsacRed into AudioEncoderDecoderIsac

With this change, support for iSAC-RED is incorporated into the regular
AudioEncoderDecoderIsac class.

COAUTHOR=kwiberg@webrtc.org
R=jmarusic@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8577}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8577 4adac7df-926f-26a2-2b94-8c16560cd09d
udio_encoder_isac.cc
udio_encoder_isac_red_unittest.cc
b1f0de30be3397eba3d423b71abc5c50db2a1665 26-Feb-2015 jmarusic@webrtc.org <jmarusic@webrtc.org> AudioEncoder: change Encode and EncodeInternal return type to void

After code cleanup done on issues:
https://webrtc-codereview.appspot.com/34259004/
https://webrtc-codereview.appspot.com/43409004/
https://webrtc-codereview.appspot.com/34309004/
https://webrtc-codereview.appspot.com/34309004/
https://webrtc-codereview.appspot.com/36209004/
https://webrtc-codereview.appspot.com/40899004/
https://webrtc-codereview.appspot.com/39279004/
https://webrtc-codereview.appspot.com/42099005/
and the similar work done for AudioEncoderDecoderIsacT, methods AudioEncoder::Encode and AudioEncoder::EncodeInternal will always succeed. Therefore, there is no need for them to return bool value that represents success or failure.

R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8518}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8518 4adac7df-926f-26a2-2b94-8c16560cd09d
udio_encoder_isac_red_unittest.cc
00b8f6b3643332cce1ee711715f7fbb824d793ca 26-Feb-2015 kwiberg@webrtc.org <kwiberg@webrtc.org> Use base/scoped_ptr.h; system_wrappers/interface/scoped_ptr.h is going away

BUG=
R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8517}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8517 4adac7df-926f-26a2-2b94-8c16560cd09d
udio_encoder_isac_red_unittest.cc
d4dfba8ea1efacb88de636b466140b0176a32097 25-Feb-2015 kwiberg@webrtc.org <kwiberg@webrtc.org> iSAC Decode: Prevent Memcheck from complaining about uninitialized value

Without this patch, Valgrind's Memcheck was complaining that the test
for whether we should return -1 following the call to
WebRtcIsac_DecodeLb made a conditional branch or move based on the
value of numSamplesLB, which was uninitialized if WebRtcIsac_DecodeLb
failed.

However, as can be seen in the source, the control flow only depends
on the value of numSamplesLB if numDecodedBytesLB >= 0; i.e., if
WebRtcIsac_DecodeLb returned successfully, in which case numSamplesLB
is always initialized. The discrepancy is due to the fact that
Valgrind works on the generated machine code, which contains spurious
such dependencies. The generated code for this test:

if ((numDecodedBytesLB < 0) || (numDecodedBytesLB > lenEncodedLBBytes) ||
(numSamplesLB > MAX_FRAMESAMPLES)) {

looks like this:

95: 0f bf 45 d6 movswl -0x2a(%rbp),%eax
99: 3d c0 03 00 00 cmp $0x3c0,%eax
9e: 0f 8f 45 01 00 00 jg 1e9 <Decode+0x1e9>
a4: 44 89 f0 mov %r14d,%eax
a7: c1 e0 10 shl $0x10,%eax
aa: 0f 88 39 01 00 00 js 1e9 <Decode+0x1e9>
b0: 41 0f bf ce movswl %r14w,%ecx
b4: 89 8d 98 e1 ff ff mov %ecx,-0x1e68(%rbp)
ba: 41 0f bf c7 movswl %r15w,%eax
be: 39 c1 cmp %eax,%ecx
c0: 0f 8f 23 01 00 00 jg 1e9 <Decode+0x1e9>

Note how the compiler has seemingly ignored the C language's guarantee
that the arguments to || must be evaluated in left-to-right order, and
compares numSamplesLB (%eax) with MAX_FRAMESAMPLES (0x3c0, a.k.a. 960)
before the other two conditions! If the uninitialized value in
numSamplesLB happens to be greater than 960, we'll jump to
Decode+0x1e9 (where we'll return -1) without even looking at the other
two conditions. Has the compiler generated broken code?

Well, no. If numDecodedBytesLB is < 0 so that numSamplesLB is
uninitialized, we'll end up jumping to 1e9 whether that value is
greater than 960 or not; we'll just do it with different jump
instructions. This is entirely invisible as far as the C language is
concerned, but the dependency on the uninitialized value is visible at
the machine code level, which is why Memcheck complains.

This patch solves the problem by pragmatically initializing
numSamplesLB before the call even though it isn't necessary other than
for placating Memcheck.

BUG=4143
R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8492}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8492 4adac7df-926f-26a2-2b94-8c16560cd09d
sac.c
e35fa96cbeabeea49aaf6ecb3c3fce154ad5ab2a 16-Feb-2015 kjellander@webrtc.org <kjellander@webrtc.org> 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
sac.gypi
bdebccf384db689931ba3df9afbcd59c85ddb8e2 29-Jan-2015 henrik.lundin@webrtc.org <henrik.lundin@webrtc.org> Fix a number of things in AudioEncoderDecoderIsac*

- Add max_bit_rate and max_payload_size_bytes to config structs.
- Fix support for 48 kHz sample rate.
- Fix iSAC-RED.
- Add method UpdateDecoderSampleRate().
- Update locking structure with a separate lock for local member
variables used by the encoder methods.

BUG=3926
COAUTHOR:kwiberg@webrtc.org

R=minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8204}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8204 4adac7df-926f-26a2-2b94-8c16560cd09d
udio_encoder_isac_red_unittest.cc
eed7a22bbfd8906d3ffd47c9a7c7f7f9308172d7 18-Dec-2014 henrik.lundin@webrtc.org <henrik.lundin@webrtc.org> Make an AudioEncoder subclass for iSAC redundant encoding

Adding unit test, too.

BUG=3926
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7946 4adac7df-926f-26a2-2b94-8c16560cd09d
udio_encoder_isac.cc
udio_encoder_isac_red_unittest.cc
eb544460e47140d494dddf1217a698a1dcf4dee0 17-Dec-2014 pbos@webrtc.org <pbos@webrtc.org> 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
odec.h
ncode.c
ntropy_coding.c
ntropy_coding.h
tructs.h
c1c9291e9b73c3a9633cd5c5cbc2e243ab5d6920 16-Dec-2014 henrik.lundin@webrtc.org <henrik.lundin@webrtc.org> Make an AudioEncoder subclass for RED

This class only supports the simple case of payload duplication. That
is, one single encoder is used, and the redundant payload is a one-step
delayed payload.

BUG=3926
R=kjellander@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7913 4adac7df-926f-26a2-2b94-8c16560cd09d
sac.gypi
88bdec8c3ab768c9cdb31b4216f82dba815ea516 16-Dec-2014 kwiberg@webrtc.org <kwiberg@webrtc.org> 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
udio_encoder_isac.cc
sac.gypi
3b79daff14127f3adb19b16d94336d44ff49e841 12-Dec-2014 henrik.lundin@webrtc.org <henrik.lundin@webrtc.org> Moving encoded_bytes into EncodedInfo

BUG=3926
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7883 4adac7df-926f-26a2-2b94-8c16560cd09d
udio_encoder_isac.cc
b3ad8cf6ca8d2d9fa1152bb8bff624c0be83373f 11-Dec-2014 kwiberg@webrtc.org <kwiberg@webrtc.org> Make an AudioEncoder subclass for iSAC

BUG=3926

Previously committed: https://code.google.com/p/webrtc/source/detail?r=7675
and reverted: https://code.google.com/p/webrtc/source/detail?r=7676

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7871 4adac7df-926f-26a2-2b94-8c16560cd09d
udio_encoder_isac.cc
sac.gypi
1431e4dd1c0870971afde9456702d4b76aca3324 11-Nov-2014 turaj@webrtc.org <turaj@webrtc.org> 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
udio_encoder_isac.cc
sac.gypi
05feff013e6faf1ba7328bbf3932c90cb3de6705 11-Nov-2014 kwiberg@webrtc.org <kwiberg@webrtc.org> 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
udio_encoder_isac.cc
sac.gypi
2abebe7bafe3887ed20756031beb2b514313d0c6 20-Oct-2014 bjornv@webrtc.org <bjornv@webrtc.org> 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
ntropy_coding.c
396a5e00012ea505a58447e9378a64227e74346b 13-Oct-2014 kwiberg@webrtc.org <kwiberg@webrtc.org> 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
sac.c
3f7f899a15c2685a8e45484f7b2c540771d28d90 13-Oct-2014 kwiberg@webrtc.org <kwiberg@webrtc.org> 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
sac.c
sac_unittest.cc
1172988c794d15706b4c951dcbaa57b11221d225 13-Oct-2014 kwiberg@webrtc.org <kwiberg@webrtc.org> 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
sac.c
7c15510f389b00fea03e8512cf1a09d0a344b8e9 29-Sep-2014 bjornv@webrtc.org <bjornv@webrtc.org> 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
rc.c
7ee24a79065a655dcc62a27fd22e0cc77fee6d68 24-Sep-2014 kwiberg@webrtc.org <kwiberg@webrtc.org> 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
sac.c
sac_unittest.cc
a3c4d4dd2cece2cfbbd687eb76da833c37fbde3c 23-Sep-2014 andrew@webrtc.org <andrew@webrtc.org> 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
sac.c
sac_unittest.cc
8c5740b48507e8fbb2c56c7dd52a1197ebb5d20d 23-Sep-2014 kwiberg@webrtc.org <kwiberg@webrtc.org> 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
sac.c
sac_unittest.cc
262e676a08fc29ee6c414f5858d68697be983515 04-Sep-2014 andresp@webrtc.org <andresp@webrtc.org> 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
rc.h
ncode_lpc_swb.c
ncode_lpc_swb.h
pc_gain_swb_tables.c
pc_gain_swb_tables.h
pc_shape_swb12_tables.c
pc_shape_swb12_tables.h
pc_shape_swb16_tables.c
pc_shape_swb16_tables.h
s_specific_inline.h
itch_gain_tables.h
itch_lag_tables.h
1b8b4c4959c5a1cf08af527e28eef86940d73880 03-Sep-2014 henrike@webrtc.org <henrike@webrtc.org> 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
rc.h
ncode_lpc_swb.c
ncode_lpc_swb.h
pc_gain_swb_tables.c
pc_gain_swb_tables.h
pc_shape_swb12_tables.c
pc_shape_swb12_tables.h
pc_shape_swb16_tables.c
pc_shape_swb16_tables.h
s_specific_inline.h
itch_gain_tables.h
itch_lag_tables.h
9730d3aae91799334dea86a0439f86fa7c4ab2a5 03-Sep-2014 andresp@webrtc.org <andresp@webrtc.org> 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
rc.h
ncode_lpc_swb.c
ncode_lpc_swb.h
pc_gain_swb_tables.c
pc_gain_swb_tables.h
pc_shape_swb12_tables.c
pc_shape_swb12_tables.h
pc_shape_swb16_tables.c
pc_shape_swb16_tables.h
s_specific_inline.h
itch_gain_tables.h
itch_lag_tables.h
524b8f7304090eec09e4251ca234e0ea083ce858 31-Aug-2014 kjellander@webrtc.org <kjellander@webrtc.org> 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
ilter_functions.c
attice.c
itch_estimator.c
047a46f8b49e7100d7727377c89f109542125b9c 26-Aug-2014 pbos@webrtc.org <pbos@webrtc.org> 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
ndroid.mk
eec6ecdb1e249871dd25d04b62fc9ddc03dc8a34 11-Jul-2014 tommi@webrtc.org <tommi@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
sac.c
2c89b5cb27536eac2ca298c4a36f3a5ccb903141 14-Apr-2014 fischman@webrtc.org <fischman@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Make everyone an OWNER for .gyp/.gypi add/delete purposes, non-talk/ edition.

This CL brought to you by:
$ for d in $(for f in $(git ls-files '*gyp' '*gypi'); do dirname $f; done|sort|uniq|grep -v '^\.$'); do echo -e "\n# These are for the common case of adding or renaming files. If you're doing\n# structural changes, please get a review from a reviewer in this file.\nper-file *.gyp=*\nper-file *.gypi=*" >> $d/OWNERS; done
$ for d in $(for f in $(git ls-files '*gyp' '*gypi'); do dirname $f; done|sort|uniq|grep -v '^\.$'); do git add $d/OWNERS; done

(and then removed the talk/ impact)

R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5903 4adac7df-926f-26a2-2b94-8c16560cd09d
WNERS
e2fc13e42f3881d2833af627a23ac77e938515ec 15-Feb-2014 bjornv@webrtc.org <bjornv@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Refactoring common_audio/signal_processing: Removed two macros used by isac only.

Removed a macro for malloc() and one for free(). They are only used by the audio codec isac, where I replaced the macro with its implementation.
Further, the includes were updated with full paths and put in alphabetical order.

BUG=N/A
TESTED=trybots,module_tests,module_unittests
R=turaj@webrtc.org, turajs@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5554 4adac7df-926f-26a2-2b94-8c16560cd09d
sac.c
a80be4b23c617a070d1ba7a133e948d337aabe4b 11-Feb-2014 turaj@webrtc.org <turaj@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Add boundary checking to supress gcc 4.8.3 warning.

BUG=2888
Test=try, voe_cmd_test

R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5526 4adac7df-926f-26a2-2b94-8c16560cd09d
ntropy_coding.c
pectrum_ar_model_tables.c
pectrum_ar_model_tables.h
4ffd9c74233443a3bedb10f92bd735c2c7ef262c 16-Jan-2014 aluebs@webrtc.org <aluebs@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Add full path to headers

R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5395 4adac7df-926f-26a2-2b94-8c16560cd09d
tructs.h
60730cfe3ce80e4023cd678373456cb703f000a4 07-Jan-2014 andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Remove the requirement to call set_sample_rate_hz and friends.

Instead have ProcessStream transparently handle changes to the stream
audio parameters (sample rate and channels). This removes two locks
per 10 ms ProcessStream call taken by VoiceEngine (four total with the
audio level indicator.)

Also, prepare future improvements by having the splitting filter take
a length parameter. This will allow it to work at different sample
rates. Remove the useless splitting_filter wrapper.

TESTED=voe_cmd_test with audio processing enabled and switching between
codecs; unit tests.

R=aluebs@webrtc.org, bjornv@webrtc.org, turaj@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5346 4adac7df-926f-26a2-2b94-8c16560cd09d
sac.c
57eb8586986a2c77b99124c270bc6caa11165f7f 11-Nov-2013 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Remove ".." from include_dirs in build/common.

BUG=1662
TEST=compile on trybots
R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5107 4adac7df-926f-26a2-2b94-8c16560cd09d
sac.gypi
621df678c8690f36875b0b34d45393df58662172 22-Oct-2013 andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> WEBRTC_{BIG, LITTLE}_ENDIAN -> WEBRTC_ARCH_{BIG, LITTLE}_ENDIAN.

Mostly to remove a long-standing TODO...

TESTED=trybots
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5013 4adac7df-926f-26a2-2b94-8c16560cd09d
sac.c
137b3793d9a73adc4b730a8ed18a7b009ea4aa59 27-Sep-2013 andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Only use -lm on Linux in ISAC.

Remove unneeded WEBRTC_LINUX define.

BUG=crbug.com/298656
TESTED=Passed trybots.
R=wjia@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4865 4adac7df-926f-26a2-2b94-8c16560cd09d
sac.gypi
s_specific_inline.h
76fe9309b9f532d21d889b06f722d57e0139e9d0 19-Sep-2013 fischman@webrtc.org <fischman@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Use link_settings instead of all_dependent_settings to pacify xcode gyp generator

Should unbreak e.g. http://chromegw/i/chromium.webrtc.fyi/builders/Mac%20%5Blatest%20WebRTC%20trunk%5D/builds/2396

R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4796 4adac7df-926f-26a2-2b94-8c16560cd09d
sac.gypi
ccddd0a9417e5c015f0f4f6a75e1179fe33514d7 19-Sep-2013 fischman@webrtc.org <fischman@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Roll webrtc's chromium_revision 217707:224141

Also adds -lm for executables depending on isac since the newer clang in the
newer chromium revision requires it, and -lstdc++ for dependencies of the objc lib because newer gyp links with gcc instead of g++ for non-C++-containing libs.

R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4795 4adac7df-926f-26a2-2b94-8c16560cd09d
sac.gypi
4ce838934cdbfa1777aa76237484f64d00e0281e 14-May-2013 turaj@webrtc.org <turaj@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Address sanitizer out of bounds read in iSAC

BUG=issue1770
TBR=tlegrand@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4030 4adac7df-926f-26a2-2b94-8c16560cd09d
sac.c
sac_unittest.cc
342353780d411d1fd9eed5cd5e42782100a1d724 01-May-2013 andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Consolidate common_audio into a single target.

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@3928 4adac7df-926f-26a2-2b94-8c16560cd09d
sac.gypi
6e788df19ef1e37049717757218fe1e74bbce1c2 16-Apr-2013 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Remove vim/emacs modelines from .gypi files

BUG=1655

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3857 4adac7df-926f-26a2-2b94-8c16560cd09d
sac.gypi
0946a56023d821e0deca04029bb016ae1f23aa82 09-Apr-2013 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> WebRtc_Word32 => int32_t etc. in audio_coding/

BUG=314

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3789 4adac7df-926f-26a2-2b94-8c16560cd09d
rith_routines.c
rith_routines.h
rith_routines_hist.c
rith_routines_logist.c
andwidth_estimator.c
andwidth_estimator.h
odec.h
rc.c
rc.h
ecode.c
ecode_bwe.c
ncode.c
ncode_lpc_swb.c
ncode_lpc_swb.h
ntropy_coding.c
ntropy_coding.h
sac.c
pc_analysis.c
pc_analysis.h
pc_gain_swb_tables.c
pc_gain_swb_tables.h
pc_shape_swb12_tables.c
pc_shape_swb12_tables.h
pc_shape_swb16_tables.c
pc_shape_swb16_tables.h
pc_tables.c
pc_tables.h
itch_gain_tables.c
itch_gain_tables.h
itch_lag_tables.c
itch_lag_tables.h
pectrum_ar_model_tables.c
pectrum_ar_model_tables.h
tructs.h
ransform.c
09738616de34a33ba97c2c5d784f537166adc244 22-Jan-2013 henrike@webrtc.org <henrike@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Fixes payload spelling error.

BUG=N/A

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3398 4adac7df-926f-26a2-2b94-8c16560cd09d
tructs.h
a3c82bf6673a2e0367bcb89a287cdc9ec0c37a53 19-Jan-2013 wjia@webrtc.org <wjia@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Remove '<(library)' in gyp files.

This will remove all usage of '<(library)' in all webrtc gyp files.
Review URL: https://webrtc-codereview.appspot.com/1049005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3392 4adac7df-926f-26a2-2b94-8c16560cd09d
sac.gypi
b0dff12d2bfd2be52c07b0bcce5a36938ea4f491 03-Dec-2012 turaj@webrtc.org <turaj@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 48 kHz extension to iSAC.

Test:
-manual test with voe_cmd_test.
-manual test with RTPEncode & NetEqRTPPlay.
-manual test with simpleKenny.
-Bit-exact test of iSAC-swb and iSAC-wb with head revision of trunk. The bit-exactness is confirmed on all files generated by running webrtc/modules/audio_coding/codecs/isac/main/test/QA/runiSACLongtest.txt
Review URL: https://webrtc-codereview.appspot.com/937025

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3226 4adac7df-926f-26a2-2b94-8c16560cd09d
ecode_bwe.c
sac.c
ettings.h
tructs.h
14b43beb7ce4440b30dcea31196de5b4a529cb6b 22-Oct-2012 andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Move src/ -> webrtc/

TBR=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2963 4adac7df-926f-26a2-2b94-8c16560cd09d
ndroid.mk
rith_routines.c
rith_routines.h
rith_routines_hist.c
rith_routines_logist.c
andwidth_estimator.c
andwidth_estimator.h
odec.h
rc.c
rc.h
ecode.c
ecode_bwe.c
ncode.c
ncode_lpc_swb.c
ncode_lpc_swb.h
ntropy_coding.c
ntropy_coding.h
ft.c
ft.h
ilter_functions.c
ilterbank_tables.c
ilterbank_tables.h
ilterbanks.c
ntialize.c
sac.c
sac.gypi
attice.c
pc_analysis.c
pc_analysis.h
pc_gain_swb_tables.c
pc_gain_swb_tables.h
pc_shape_swb12_tables.c
pc_shape_swb12_tables.h
pc_shape_swb16_tables.c
pc_shape_swb16_tables.h
pc_tables.c
pc_tables.h
s_specific_inline.h
itch_estimator.c
itch_estimator.h
itch_filter.c
itch_gain_tables.c
itch_gain_tables.h
itch_lag_tables.c
itch_lag_tables.h
ettings.h
pectrum_ar_model_tables.c
pectrum_ar_model_tables.h
tructs.h
ransform.c