The bug was introduced in the last CL during optimization.
With the new inine ARM assembly, the resulted assembly code of the loop is 28 instructions, compared to 47 lines by the original.
The optimized (with WEBRTC_ARCH_ARM_V7A defined in This file) and un-optimized code (with WEBRTC_ARCH_ARM_V7A not defined in This file) are bit-exact.
Review URL: https://webrtc-codereview.appspot.com/748004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@2651 4adac7df-926f-26a2-2b94-8c16560cd09d
coding.c, to be sure about the changelist. You can go through the test to be sure the changes are tested. However, I don't intend to commi
t the test, as it would be a source of confusion and requires hack to iSAC to be able to run the test. It is basically a one-time test.
The part which not covered in this test is where we limit payload for super-wideband bit-stream. I'll add a test for that as well.
I kept format changes at minimum in all files except isac.c, which was in bad shape, and coding changes were minimum. I'm planning to uplo
ad following patches to this CL where I try to address formatting issues. But I don't intend to change variable names, for the moment.
The refactoring is not yet finished, so you would find part of the code which could be cleaned up, especially KLT transforms in entropy_co
ding.c
Review URL: https://webrtc-codereview.appspot.com/580004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@2359 4adac7df-926f-26a2-2b94-8c16560cd09d
Description:
On ChromeOS/ARM, compiler enforces to check return result of a function.
Currently, we don't check return result of fwrite, it causes building errors.
The following files need to patch. The patch should be similar, before I patch all
of them, I will start with 2 files, please take a quick look, if the patch is OK,
I will continue and upload a new patch that covers all of them.
it to all of them.
Review URL: https://webrtc-codereview.appspot.com/566016
git-svn-id: http://webrtc.googlecode.com/svn/trunk@2345 4adac7df-926f-26a2-2b94-8c16560cd09d
Note that,
(1) The main change is a new function PitchFilter() replacing a couple of common code blocks. Next step will be the assembly coding of this function in ARM.
(2) Resulted code is not bit exact with the original. The only reason is replacing two saturation blocks (lines 197 and 208) for the case of "type == 2" with the general case (line 147 and 159). The change makes the code more consistent, and I think the original code might just be a bug. I raised the issue in an email to Turaj and Bjorn last week.
Listening test might be needed. I will send the resulted files to Turaj for this purpose.
(3) I used Astyle to make the code more stylish, but didn't try extra effort to correct all the code style details. Local code style consistency was considered for new code. So this is not a full and final refactor project (will leave that to future refactoring).
Review URL: https://webrtc-codereview.appspot.com/573009
git-svn-id: http://webrtc.googlecode.com/svn/trunk@2344 4adac7df-926f-26a2-2b94-8c16560cd09d
Resolve coverity warnings.
14305.
The warning is not really valid. The 'decode' function should be called with a 'mode' variable, where inside the function it is assumed that mode is either zero or one. If mode is taking other values some varibles are used uninitialized. However, this is an internal function and it is always called with either ZERO or ONE. Therefore, the code operates correctly. I made small changes as I beleive it is a bit nicer way.
In ACM:
- Conditions on 'mode' is changed.
Tested with trybots.
BUG=None
TEST=None
Review URL: https://webrtc-codereview.appspot.com/564014
git-svn-id: http://webrtc.googlecode.com/svn/trunk@2297 4adac7df-926f-26a2-2b94-8c16560cd09d
I have uploaded this patch for your review. I have done an extensive test to be sure that removing of tables does not create any problem.
The test file, is called test_lpc.c which requires a hack to standard iSAC. The test computes LPC coefficients, then encodes and decodes with old and new (size-reduced) tables. It compares the results is all steps. I have ran the test over large set of files, more then 51 hours of audio, and there was no error.
I tried to do no formatting so the review to be easier, but I know it can be a tricky CL. Hopefully, the test file helps you to be more confident on the CL.
Thanks,... Turaj
In this change list the LPC tables associated with mode 1 & 2 are remoded, and necessary cahnges are made to other files.
The only model allowed is model number 0. Therefore, this CL breaks compatibility with iSAC released prior to 2.4.3. To avoid changing the bit-stream, we still keep the model number in the bit-stream.
entropy_coding.c is cleaned up, especially encoding of LAR had KLT transform of LPC gains which are removed now.
Review URL: https://webrtc-codereview.appspot.com/548004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@2186 4adac7df-926f-26a2-2b94-8c16560cd09d
In addition to our naming guidelines, this will cause these files to get parsed by Sonar, and to make searching/grepping the source using file extensions easier in the future.
BUG=
TEST=Compiling on Linux.
Review URL: http://webrtc-codereview.appspot.com/348005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1405 4adac7df-926f-26a2-2b94-8c16560cd09d
I found some issues in building ARMv5 with ICM. This CL includes fixes,
and a design change which now will exclude any NEON libraries unless
the build is for dynamic detection or for Neon specifically.
Review URL: http://webrtc-codereview.appspot.com/330021
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1335 4adac7df-926f-26a2-2b94-8c16560cd09d