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

Side by Side Diff: webrtc/modules/audio_coding/codecs/g722/g722_encode.c

Issue 1820023004: Remove all uses of the HAVE_CONFIG_H define. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebased Created 4 years, 8 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
« no previous file with comments | « webrtc/modules/audio_coding/codecs/g722/g722_decode.c ('k') | webrtc/pc/channelmanager.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * SpanDSP - a series of DSP components for telephony 2 * SpanDSP - a series of DSP components for telephony
3 * 3 *
4 * g722_encode.c - The ITU G.722 codec, encode part. 4 * g722_encode.c - The ITU G.722 codec, encode part.
5 * 5 *
6 * Written by Steve Underwood <steveu@coppice.org> 6 * Written by Steve Underwood <steveu@coppice.org>
7 * 7 *
8 * Copyright (C) 2005 Steve Underwood 8 * Copyright (C) 2005 Steve Underwood
9 * 9 *
10 * All rights reserved. 10 * All rights reserved.
11 * 11 *
12 * Despite my general liking of the GPL, I place my own contributions 12 * Despite my general liking of the GPL, I place my own contributions
13 * to this code in the public domain for the benefit of all mankind - 13 * to this code in the public domain for the benefit of all mankind -
14 * even the slimy ones who might try to proprietize my work and use it 14 * even the slimy ones who might try to proprietize my work and use it
15 * to my detriment. 15 * to my detriment.
16 * 16 *
17 * Based on a single channel 64kbps only G.722 codec which is: 17 * Based on a single channel 64kbps only G.722 codec which is:
18 * 18 *
19 ***** Copyright (c) CMU 1993 ***** 19 ***** Copyright (c) CMU 1993 *****
20 * Computer Science, Speech Group 20 * Computer Science, Speech Group
21 * Chengxiang Lu and Alex Hauptmann 21 * Chengxiang Lu and Alex Hauptmann
22 * 22 *
23 * $Id: g722_encode.c,v 1.14 2006/07/07 16:37:49 steveu Exp $ 23 * $Id: g722_encode.c,v 1.14 2006/07/07 16:37:49 steveu Exp $
24 * 24 *
25 * Modifications for WebRtc, 2011/04/28, by tlegrand: 25 * Modifications for WebRtc, 2011/04/28, by tlegrand:
26 * -Removed usage of inttypes.h and tgmath.h 26 * -Removed usage of inttypes.h and tgmath.h
27 * -Changed to use WebRtc types 27 * -Changed to use WebRtc types
28 * -Added option to run encoder bitexact with ITU-T reference implementation 28 * -Added option to run encoder bitexact with ITU-T reference implementation
29 */ 29 */
30 30
31 /*! \file */ 31 /*! \file */
32 32
33 #ifdef HAVE_CONFIG_H
34 #include <config.h>
35 #endif
36
37 #include <memory.h> 33 #include <memory.h>
38 #include <stdio.h> 34 #include <stdio.h>
39 #include <stdlib.h> 35 #include <stdlib.h>
40 36
41 #include "g722_enc_dec.h" 37 #include "g722_enc_dec.h"
42 #include "webrtc/typedefs.h" 38 #include "webrtc/typedefs.h"
43 39
44 #if !defined(FALSE) 40 #if !defined(FALSE)
45 #define FALSE 0 41 #define FALSE 0
46 #endif 42 #endif
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 wd3 = (s->band[band].b[i]*32640) >> 15; 111 wd3 = (s->band[band].b[i]*32640) >> 15;
116 s->band[band].bp[i] = saturate(wd2 + wd3); 112 s->band[band].bp[i] = saturate(wd2 + wd3);
117 } 113 }
118 114
119 /* Block 4, DELAYA */ 115 /* Block 4, DELAYA */
120 for (i = 6; i > 0; i--) 116 for (i = 6; i > 0; i--)
121 { 117 {
122 s->band[band].d[i] = s->band[band].d[i - 1]; 118 s->band[band].d[i] = s->band[band].d[i - 1];
123 s->band[band].b[i] = s->band[band].bp[i]; 119 s->band[band].b[i] = s->band[band].bp[i];
124 } 120 }
125 121
126 for (i = 2; i > 0; i--) 122 for (i = 2; i > 0; i--)
127 { 123 {
128 s->band[band].r[i] = s->band[band].r[i - 1]; 124 s->band[band].r[i] = s->band[band].r[i - 1];
129 s->band[band].p[i] = s->band[band].p[i - 1]; 125 s->band[band].p[i] = s->band[band].p[i - 1];
130 s->band[band].a[i] = s->band[band].ap[i]; 126 s->band[band].a[i] = s->band[band].ap[i];
131 } 127 }
132 128
133 /* Block 4, FILTEP */ 129 /* Block 4, FILTEP */
134 wd1 = saturate(s->band[band].r[1] + s->band[band].r[1]); 130 wd1 = saturate(s->band[band].r[1] + s->band[band].r[1]);
135 wd1 = (s->band[band].a[1]*wd1) >> 15; 131 wd1 = (s->band[band].a[1]*wd1) >> 15;
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 xlow = amp[j++] >> 1; 300 xlow = amp[j++] >> 1;
305 } 301 }
306 else 302 else
307 { 303 {
308 /* Apply the transmit QMF */ 304 /* Apply the transmit QMF */
309 /* Shuffle the buffer down */ 305 /* Shuffle the buffer down */
310 for (i = 0; i < 22; i++) 306 for (i = 0; i < 22; i++)
311 s->x[i] = s->x[i + 2]; 307 s->x[i] = s->x[i + 2];
312 s->x[22] = amp[j++]; 308 s->x[22] = amp[j++];
313 s->x[23] = amp[j++]; 309 s->x[23] = amp[j++];
314 310
315 /* Discard every other QMF output */ 311 /* Discard every other QMF output */
316 sumeven = 0; 312 sumeven = 0;
317 sumodd = 0; 313 sumodd = 0;
318 for (i = 0; i < 12; i++) 314 for (i = 0; i < 12; i++)
319 { 315 {
320 sumodd += s->x[2*i]*qmf_coeffs[i]; 316 sumodd += s->x[2*i]*qmf_coeffs[i];
321 sumeven += s->x[2*i + 1]*qmf_coeffs[11 - i]; 317 sumeven += s->x[2*i + 1]*qmf_coeffs[11 - i];
322 } 318 }
323 /* We shift by 12 to allow for the QMF filters (DC gain = 4096), plus 1 319 /* We shift by 12 to allow for the QMF filters (DC gain = 4096), plus 1
324 to allow for us summing two filters, plus 1 to allow for the 15 bit 320 to allow for us summing two filters, plus 1 to allow for the 15 bit
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 else if (s->band[0].nb > 18432) 360 else if (s->band[0].nb > 18432)
365 s->band[0].nb = 18432; 361 s->band[0].nb = 18432;
366 362
367 /* Block 3L, SCALEL */ 363 /* Block 3L, SCALEL */
368 wd1 = (s->band[0].nb >> 6) & 31; 364 wd1 = (s->band[0].nb >> 6) & 31;
369 wd2 = 8 - (s->band[0].nb >> 11); 365 wd2 = 8 - (s->band[0].nb >> 11);
370 wd3 = (wd2 < 0) ? (ilb[wd1] << -wd2) : (ilb[wd1] >> wd2); 366 wd3 = (wd2 < 0) ? (ilb[wd1] << -wd2) : (ilb[wd1] >> wd2);
371 s->band[0].det = wd3 << 2; 367 s->band[0].det = wd3 << 2;
372 368
373 block4(s, 0, dlow); 369 block4(s, 0, dlow);
374 370
375 if (s->eight_k) 371 if (s->eight_k)
376 { 372 {
377 /* Just leave the high bits as zero */ 373 /* Just leave the high bits as zero */
378 code = (0xC0 | ilow) >> (8 - s->bits_per_sample); 374 code = (0xC0 | ilow) >> (8 - s->bits_per_sample);
379 } 375 }
380 else 376 else
381 { 377 {
382 /* Block 1H, SUBTRA */ 378 /* Block 1H, SUBTRA */
383 eh = saturate(xhigh - s->band[1].s); 379 eh = saturate(xhigh - s->band[1].s);
384 380
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
425 } 421 }
426 else 422 else
427 { 423 {
428 g722_data[g722_bytes++] = (uint8_t) code; 424 g722_data[g722_bytes++] = (uint8_t) code;
429 } 425 }
430 } 426 }
431 return g722_bytes; 427 return g722_bytes;
432 } 428 }
433 /*- End of function --------------------------------------------------------*/ 429 /*- End of function --------------------------------------------------------*/
434 /*- End of file ------------------------------------------------------------*/ 430 /*- End of file ------------------------------------------------------------*/
OLDNEW
« no previous file with comments | « webrtc/modules/audio_coding/codecs/g722/g722_decode.c ('k') | webrtc/pc/channelmanager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698