source: roaraudio/libroardsp/alaw.c @ 735:aa6ba210e826

Last change on this file since 735:aa6ba210e826 was 735:aa6ba210e826, checked in by phi, 16 years ago

added alaw reading support to libroardsp

File size: 3.5 KB
Line 
1//alaw.c:
2
3/*
4 *      Copyright (C) Philipp 'ph3-der-loewe' Schafft - August 2008
5 *
6 *  This file is part of libroardsp a part of RoarAudio,
7 *  a cross-platform sound system for both, home and professional use.
8 *  See README for details.
9 *
10 *  This file is free software; you can redistribute it and/or modify
11 *  it under the terms of the GNU General Public License version 3
12 *  as published by the Free Software Foundation.
13 *
14 *  libroardsp is distributed in the hope that it will be useful,
15 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
16 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 *  GNU General Public License for more details.
18 *
19 *  You should have received a copy of the GNU General Public License
20 *  along with this software; see the file COPYING.  If not, write to
21 *  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
22 *
23 */
24
25#include "libroardsp.h"
26
27int16_t _roardsp_alaw2pcm16[] = {
28     -5504,   -5248,   -6016,   -5760,   -4480,   -4224,   -4992,
29     -4736,   -7552,   -7296,   -8064,   -7808,   -6528,   -6272,
30     -7040,   -6784,   -2752,   -2624,   -3008,   -2880,   -2240,
31     -2112,   -2496,   -2368,   -3776,   -3648,   -4032,   -3904,
32     -3264,   -3136,   -3520,   -3392,  -22016,  -20992,  -24064,
33    -23040,  -17920,  -16896,  -19968,  -18944,  -30208,  -29184,
34    -32256,  -31232,  -26112,  -25088,  -28160,  -27136,  -11008,
35    -10496,  -12032,  -11520,   -8960,   -8448,   -9984,   -9472,
36    -15104,  -14592,  -16128,  -15616,  -13056,  -12544,  -14080,
37    -13568,    -344,    -328,    -376,    -360,    -280,    -264,
38      -312,    -296,    -472,    -456,    -504,    -488,    -408,
39      -392,    -440,    -424,     -88,     -72,    -120,    -104,
40       -24,      -8,     -56,     -40,    -216,    -200,    -248,
41      -232,    -152,    -136,    -184,    -168,   -1376,   -1312,
42     -1504,   -1440,   -1120,   -1056,   -1248,   -1184,   -1888,
43     -1824,   -2016,   -1952,   -1632,   -1568,   -1760,   -1696,
44      -688,    -656,    -752,    -720,    -560,    -528,    -624,
45      -592,    -944,    -912,   -1008,    -976,    -816,    -784,
46      -880,    -848,    5504,    5248,    6016,    5760,    4480,
47      4224,    4992,    4736,    7552,    7296,    8064,    7808,
48      6528,    6272,    7040,    6784,    2752,    2624,    3008,
49      2880,    2240,    2112,    2496,    2368,    3776,    3648,
50      4032,    3904,    3264,    3136,    3520,    3392,   22016,
51     20992,   24064,   23040,   17920,   16896,   19968,   18944,
52     30208,   29184,   32256,   31232,   26112,   25088,   28160,
53     27136,   11008,   10496,   12032,   11520,    8960,    8448,
54      9984,    9472,   15104,   14592,   16128,   15616,   13056,
55     12544,   14080,   13568,     344,     328,     376,     360,
56       280,     264,     312,     296,     472,     456,     504,
57       488,     408,     392,     440,     424,      88,      72,
58       120,     104,      24,       8,      56,      40,     216,
59       200,     248,     232,     152,     136,     184,     168,
60      1376,    1312,    1504,    1440,    1120,    1056,    1248,
61      1184,    1888,    1824,    2016,    1952,    1632,    1568,
62      1760,    1696,     688,     656,     752,     720,     560,
63       528,     624,     592,     944,     912,    1008,     976,
64       816,     784,     880,     848
65};
66
67int roardsp_conv_alaw2pcm16 (int16_t * out, char * in, size_t len) {
68 unsigned char * inp = (unsigned char *) in;
69 size_t i;
70
71 for (i = 0; i < len; i++) {
72  out[i] = _roardsp_alaw2pcm16[inp[i]];
73 }
74
75 return 0;
76}
77
78//ll
Note: See TracBrowser for help on using the repository browser.