History log of /external/webrtc/webrtc/common_audio/signal_processing/complex_fft.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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}
/external/webrtc/webrtc/common_audio/signal_processing/complex_fft.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}
/external/webrtc/webrtc/common_audio/signal_processing/complex_fft.c
affcfb2f16fa93b9e583f2af0c43881d09ff25de 24-Apr-2015 Bjorn Volcker <bjornv@chromium.org> Refactor common_audio/signal_processing: Removed usage of trivial 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 definitions on ARMv7 and MIPS, see common_audio/signal_processing/include/spl_inl_{armv7,mips}.h)

Also includes
- style changes
- replaced pointer operations with direct element access

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

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

Cr-Commit-Position: refs/heads/master@{#9075}
/external/webrtc/webrtc/common_audio/signal_processing/complex_fft.c
f567095f620ac9961b2d5b006b239f3a08fe576f 29-Oct-2014 bjornv@webrtc.org <bjornv@webrtc.org> common_audio: Removed macro WEBRTC_SPL_RSHIFT_W32

Replaces the trivial macro WEBRTC_SPL_RSHIFT_W32 with >> at various places in common_audio and removes it.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7558 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/common_audio/signal_processing/complex_fft.c
aafd7a88c50b21ab2ac56e9a53ba3f04c199f625 05-Jun-2014 bjornv@webrtc.org <bjornv@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/common_audio/signal_processing/complex_fft.c
aca5939dfc4bd649c415564af4d3f98d84f6dbb9 28-May-2014 bjornv@webrtc.org <bjornv@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> common_audio/signal_processing: Fixes arm compilation issues with gcc 4.8

In r6240 gcc was rolled from 4.6 to 4.8 changing the behavior on arm. The output of ComplexFFT differs causing both AECM and NS to perform worse. Looking at issues on gcc it says that there could be a memory shuffling/optimization despite using volatile affecting the output.
Splitting the three instructions in one call into two separate calls makes the compiler take proper actions resulting in correct outputs.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6261 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/common_audio/signal_processing/complex_fft.c
3d8647f17d6b269a889fd067cbaabb6353398bc1 16-Jul-2013 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Include files from webrtc/.. paths in signal_processing/.

BUG=1662
R=andrew@webrtc.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4352 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/common_audio/signal_processing/complex_fft.c
eed919d95d6f94a8cb001effc9ddc8b94963164a 30-May-2013 andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> MIPS optimizations for the following functions:
WebRtcSpl_ComplexBitReverse, WebRtcSpl_ComplexFFT, WebRtcSpl_ComplexIFFT, WebRtcSpl_DownsampleFast and WebRtcSpl_FilterARFastQ12.
Also, moved the common table used in complex_fft functions to a separate header file (webrtc/common_audio/signal_processing/include/complex_fft_tables.h).

R=andrew@webrtc.org, kma@webrtc.org

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4141 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/common_audio/signal_processing/complex_fft.c
aa30bb7ef5b02c9026dc2c036a0bed9999ae4cf2 27-May-2013 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Include files from webrtc/.. paths in common_audio/

BUG=1662
R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4107 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/common_audio/signal_processing/complex_fft.c
b09130763b8949023a061f3cfa665a3a6bbac0f0 09-Apr-2013 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> WebRtc_Word32 -> int32_t in common_audio/

BUG=314

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3803 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/common_audio/signal_processing/complex_fft.c
7d6f11302ec42a8b91bf985c1f1393692ba050ac 02-Mar-2013 kma@webrtc.org <kma@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Refactored inline assembly code in complex_fft.c, by combining the individual __asm lines into a single block, to avoid potential register usage problems when building with different tools.
Review URL: https://webrtc-codereview.appspot.com/1153004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3592 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/common_audio/signal_processing/complex_fft.c
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
/external/webrtc/webrtc/common_audio/signal_processing/complex_fft.c