91d6edef35e7275879c30ce16ecb8b6dc73c6e4a |
|
17-Sep-2015 |
henrikg <henrikg@webrtc.org> |
Add RTC_ prefix to (D)CHECKs and related macros. We must remove dependency on Chromium, i.e. we can't use Chromium's base/logging.h. That means we need to define these macros in WebRTC also when doing Chromium builds. And this causes redefinition. Alternative solutions: * Check if we already have defined e.g. CHECK, and don't define them in that case. This makes us depend on include order in Chromium, which is not acceptable. * Don't allow using the macros in WebRTC headers. Error prone since if someone adds it there by mistake it may compile fine, but later break if a header in added or order is changed in Chromium. That will be confusing and hard to enforce. * Ensure that headers that are included by an embedder don't include our macros. This would require some heavy refactoring to be maintainable and enforcable. * Changes in Chromium for this is obviously not an option. BUG=chromium:468375 NOTRY=true Review URL: https://codereview.webrtc.org/1335923002 Cr-Commit-Position: refs/heads/master@{#9964}
/external/webrtc/webrtc/common_audio/resampler/push_sinc_resampler.cc
|
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/resampler/push_sinc_resampler.cc
|
2c29c2eae2500c0651e8c074bb5bed042c3ec9d9 |
|
11-Feb-2015 |
andrew@webrtc.org <andrew@webrtc.org> |
C++ readability review for ajm. As part of the review, refactored AudioConverter into internal derived classes, each focused on one type of conversion. A factory method returns the correct converter (or chain of converters, via CompositionConverter). BUG=b/18938079 R=rojer@google.com Review URL: https://webrtc-codereview.appspot.com/35699004 Cr-Commit-Position: refs/heads/master@{#8322} git-svn-id: http://webrtc.googlecode.com/svn/trunk@8322 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/common_audio/resampler/push_sinc_resampler.cc
|
4fc4addc815379c6cc1d04f4853a528390fe09ba |
|
30-Oct-2014 |
andrew@webrtc.org <andrew@webrtc.org> |
Refactor audio conversion functions. Use a consistent naming scheme that can be understood at the callsite without having to refer to documentation. Remove hacks in AudioBuffer intended to maintain bit-exactness with the float path. The conversions etc. are now all natural, and instead we enforce close but not bit-exact output between the two paths. Output of ApmTest.Process: https://paste.googleplex.com/5931055831842816 R=aluebs@webrtc.org, bjornv@webrtc.org, kwiberg@webrtc.org Review URL: https://webrtc-codereview.appspot.com/13049004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7561 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/common_audio/resampler/push_sinc_resampler.cc
|
f2aafe4355c4b7ecbd122798f08a5c5ec5d2693a |
|
29-Apr-2014 |
henrike@webrtc.org <henrike@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
Added include of assert.h for files calling assert but missing the include. BUG=N/A R=niklas.enbom@webrtc.org Review URL: https://webrtc-codereview.appspot.com/19409005 git-svn-id: http://webrtc.googlecode.com/svn/trunk@6022 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/common_audio/resampler/push_sinc_resampler.cc
|
d32797f8530882bea873ab6a42079b9c1912e3b9 |
|
10-Mar-2014 |
andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
Add a float interface to PushSincResampler. Provides a push interface to SincResampler without the int16->float overhead. This is required to support resampling in the new AudioProcessing float path. BUG=2894 TESTED=unit tests R=turaj@webrtc.org Review URL: https://webrtc-codereview.appspot.com/9529004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@5673 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/common_audio/resampler/push_sinc_resampler.cc
|
d4d5be87819307ba88819e86af41b5681c1ee8d7 |
|
20-Feb-2014 |
turaj@webrtc.org <turaj@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
Minor improvement in RoundToInt16 implementation. R=andrew@webrtc.org, bjornv@webrtc.org Review URL: https://webrtc-codereview.appspot.com/8959004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@5586 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/common_audio/resampler/push_sinc_resampler.cc
|
31628aae7e0d5a00e816f1f5db4b65101319a307 |
|
22-Oct-2013 |
andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
Upgrade scoped_ptr to Chromium's latest version. Analogous to the recent libjingle change: http://cl/54929753-p10. This supports scoped_ptr<T[]> and scoped_ptr<C, FreeDeleter> rather than scoped_array and scoped_ptr_malloc respectively. - Add Chromium's template-based COMPILE_ASSERT. We didn't have this previously in order to support the macro in C. Instead, move the existing macro to compile_assert_c.h. - Additionally copy the move.h and template_util.h depedencies and add the WARN_UNUSED_RESULT macro. - Leave scoped_array and scoped_ptr_malloc for now, but mark as deprecated. - Remove scoped_ptr foo(NULL) use. The default constructor handles it. - Remove the now redundant COMPILE_ASSERT from peerconnection_jni.cc. - Add a CHECK_ARRAY_SIZE macro to rtp_format_vp8_unittest.cc to remove some repeated code. TESTED=trybots R=pbos@webrtc.org, tommi@webrtc.org Review URL: https://webrtc-codereview.appspot.com/2449005 git-svn-id: http://webrtc.googlecode.com/svn/trunk@5015 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/common_audio/resampler/push_sinc_resampler.cc
|
15b8871e4a3f9c73699adcc75911d056a4ce7243 |
|
14-Sep-2013 |
andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
Allocate float_buffer_ in the initializer list. This may fix a Dr. Memory error: "allocated with operator new, freed with operator delete[]". I suspect this is a false positive; in the existing implementation the reset causes a delete[] on NULL. This is a no-op of course, but Dr. Memory might be flagging it. We shall see. In any case, this change is an improvement. BUG=2321 TBR=bjornv Review URL: https://webrtc-codereview.appspot.com/2215004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@4748 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/common_audio/resampler/push_sinc_resampler.cc
|
b159c2e3dd25b67ce064f61024ac831b6661f4c1 |
|
06-Sep-2013 |
andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
Reduce cost of PushSincResampler::Resample(). Ideally, PushSincResampler would have very little overhead on SincResampler. This gets closer to that ideal. Replace std::min/max and floor with inline functions. Add a benchmark test to verify the improvement. On a MacBook Retina, this results in PushSincResampler::Resample() accounting for ~1% of CPU usage on voe_cmd_test vs the earlier ~2% (with ISAC16 and 48 kHz audio devices). Using the new benchmark, this results in a performance improvement of: 16 -> 44.1 : 1.7x 16 -> 48 : 1.9x 32 -> 44.1 : 1.6x 32 -> 48 : 1.7x 44.1 -> 16 : 1.5x 44.1 -> 32 : 1.7x 44.1 -> 48 : 1.7x 48 -> 16 : 1.5x 48 -> 32 : 1.5x 48 -> 44.1 : 1.8x R=turaj@webrtc.org Review URL: https://webrtc-codereview.appspot.com/2157005 git-svn-id: http://webrtc.googlecode.com/svn/trunk@4695 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/common_audio/resampler/push_sinc_resampler.cc
|
12dc1a38ca54a000e4fecfbc6d41138b895c9ca5 |
|
05-Aug-2013 |
pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
Switch C++-style C headers with their C equivalents. The C++ headers define the C functions within the std:: namespace, but we mainly don't use the std:: namespace for C functions. Therefore we should include the C headers. BUG=1833 R=tommi@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1917004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@4486 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/common_audio/resampler/push_sinc_resampler.cc
|
b86fbaf1d41db539205ec671ff399a3a3aa50734 |
|
26-Jul-2013 |
andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
Downstream latest Chromium SincResampler changes. Replace the BlockSize() workaround we were using previously to support the push wrapper with the upstream request_frames interface. This requires a bit of a trick to ensure we don't add more delay than necessary. On the first pass we use a dummy Resample() call in order to prime the buffer such that all later calls only require a single input request through Run(). Notably, this brings in an optimized loop condition, improving performance by ~2% - 3% on tested platforms and avoids a 20% performance hit with clang. This addresses issue2041. Only negligible changes to the PushSincResamplerTest SNR thresholds, due to a fractional sample adjustment in output delay. This still retains the per-instance CPU detection, as webrtc lacks a LazyInstance helper for static initialization. Ideally, we would adopt SetRatio() in PushSincResampler's InitializeIfNeeded() for on-the-fly changes, but this will require a way to update request_frames. The diff against Chromium upstream is available here: https://codereview.chromium.org/19470003 BUG=2041 TESTED=unit tests, voe_cmd_test in loopback running through all codecs with 44.1 kHz and 48 kHz device formats using a stereo mic. R=dalecurtis@chromium.org Review URL: https://webrtc-codereview.appspot.com/1838004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@4406 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/common_audio/resampler/push_sinc_resampler.cc
|
8fc05feed43c702eb84fc26b36aecce33622b06b |
|
26-Apr-2013 |
andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
Add a push-based wrapper around SincResampler. Includes a unittest to ensure we meet the same quality thresholds as SincResampler (modulo quantization error). BUG=webrtc:1395 Review URL: https://webrtc-codereview.appspot.com/1323011 git-svn-id: http://webrtc.googlecode.com/svn/trunk@3909 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/common_audio/resampler/push_sinc_resampler.cc
|