Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(73)

Side by Side Diff: webrtc/modules/audio_coding/codecs/ilbc/state_search.c

Issue 1230503003: Update a ton of audio code to use size_t more correctly and in general reduce (Closed) Base URL: https://chromium.googlesource.com/external/webrtc@master
Patch Set: Resync Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 15 matching lines...) Expand all
26 26
27 void WebRtcIlbcfix_StateSearch( 27 void WebRtcIlbcfix_StateSearch(
28 IlbcEncoder *iLBCenc_inst, 28 IlbcEncoder *iLBCenc_inst,
29 /* (i) Encoder instance */ 29 /* (i) Encoder instance */
30 iLBC_bits *iLBC_encbits,/* (i/o) Encoded bits (output idxForMax 30 iLBC_bits *iLBC_encbits,/* (i/o) Encoded bits (output idxForMax
31 and idxVec, input state_first) */ 31 and idxVec, input state_first) */
32 int16_t *residual, /* (i) target residual vector */ 32 int16_t *residual, /* (i) target residual vector */
33 int16_t *syntDenum, /* (i) lpc synthesis filter */ 33 int16_t *syntDenum, /* (i) lpc synthesis filter */
34 int16_t *weightDenum /* (i) weighting filter denuminator */ 34 int16_t *weightDenum /* (i) weighting filter denuminator */
35 ) { 35 ) {
36 int16_t k, index; 36 size_t k, index;
37 int16_t maxVal; 37 int16_t maxVal;
38 int16_t scale, shift; 38 int16_t scale, shift;
39 int32_t maxValsq; 39 int32_t maxValsq;
40 int16_t scaleRes; 40 int16_t scaleRes;
41 int16_t max; 41 int16_t max;
42 int i; 42 int i;
43 /* Stack based */ 43 /* Stack based */
44 int16_t numerator[1+LPC_FILTERORDER]; 44 int16_t numerator[1+LPC_FILTERORDER];
45 int16_t residualLongVec[2*STATE_SHORT_LEN_30MS+LPC_FILTERORDER]; 45 int16_t residualLongVec[2*STATE_SHORT_LEN_30MS+LPC_FILTERORDER];
46 int16_t sampleMa[2*STATE_SHORT_LEN_30MS]; 46 int16_t sampleMa[2*STATE_SHORT_LEN_30MS];
(...skipping 10 matching lines...) Expand all
57 } 57 }
58 58
59 /* Copy the residual to a temporary buffer that we can filter 59 /* Copy the residual to a temporary buffer that we can filter
60 * and set the remaining samples to zero. 60 * and set the remaining samples to zero.
61 */ 61 */
62 WEBRTC_SPL_MEMCPY_W16(residualLong, residual, iLBCenc_inst->state_short_len); 62 WEBRTC_SPL_MEMCPY_W16(residualLong, residual, iLBCenc_inst->state_short_len);
63 WebRtcSpl_MemSetW16(residualLong + iLBCenc_inst->state_short_len, 0, iLBCenc_i nst->state_short_len); 63 WebRtcSpl_MemSetW16(residualLong + iLBCenc_inst->state_short_len, 0, iLBCenc_i nst->state_short_len);
64 64
65 /* Run the Zero-Pole filter (Ciurcular convolution) */ 65 /* Run the Zero-Pole filter (Ciurcular convolution) */
66 WebRtcSpl_MemSetW16(residualLongVec, 0, LPC_FILTERORDER); 66 WebRtcSpl_MemSetW16(residualLongVec, 0, LPC_FILTERORDER);
67 WebRtcSpl_FilterMAFastQ12( 67 WebRtcSpl_FilterMAFastQ12(residualLong, sampleMa, numerator,
68 residualLong, sampleMa, 68 LPC_FILTERORDER + 1,
69 numerator, LPC_FILTERORDER+1, (int16_t)(iLBCenc_inst->state_short_len + LP C_FILTERORDER)); 69 iLBCenc_inst->state_short_len + LPC_FILTERORDER);
70 WebRtcSpl_MemSetW16(&sampleMa[iLBCenc_inst->state_short_len + LPC_FILTERORDER] , 0, iLBCenc_inst->state_short_len - LPC_FILTERORDER); 70 WebRtcSpl_MemSetW16(&sampleMa[iLBCenc_inst->state_short_len + LPC_FILTERORDER] , 0, iLBCenc_inst->state_short_len - LPC_FILTERORDER);
71 71
72 WebRtcSpl_FilterARFastQ12( 72 WebRtcSpl_FilterARFastQ12(
73 sampleMa, sampleAr, 73 sampleMa, sampleAr,
74 syntDenum, LPC_FILTERORDER+1, 2 * iLBCenc_inst->state_short_len); 74 syntDenum, LPC_FILTERORDER+1, 2 * iLBCenc_inst->state_short_len);
75 75
76 for(k=0;k<iLBCenc_inst->state_short_len;k++){ 76 for(k=0;k<iLBCenc_inst->state_short_len;k++){
77 sampleAr[k] += sampleAr[k+iLBCenc_inst->state_short_len]; 77 sampleAr[k] += sampleAr[k+iLBCenc_inst->state_short_len];
78 } 78 }
79 79
(...skipping 30 matching lines...) Expand all
110 110
111 /* Set up vectors for AbsQuant and rescale it with the scale factor */ 111 /* Set up vectors for AbsQuant and rescale it with the scale factor */
112 WebRtcSpl_ScaleVectorWithSat(sampleAr, sampleAr, scale, 112 WebRtcSpl_ScaleVectorWithSat(sampleAr, sampleAr, scale,
113 iLBCenc_inst->state_short_len, (int16_t)(shift-sca leRes)); 113 iLBCenc_inst->state_short_len, (int16_t)(shift-sca leRes));
114 114
115 /* Quantize the values in fout[] */ 115 /* Quantize the values in fout[] */
116 WebRtcIlbcfix_AbsQuant(iLBCenc_inst, iLBC_encbits, sampleAr, weightDenum); 116 WebRtcIlbcfix_AbsQuant(iLBCenc_inst, iLBC_encbits, sampleAr, weightDenum);
117 117
118 return; 118 return;
119 } 119 }
OLDNEW
« no previous file with comments | « webrtc/modules/audio_coding/codecs/ilbc/state_construct.c ('k') | webrtc/modules/audio_coding/codecs/ilbc/swap_bytes.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698