blob: 714021bad2efd67f56cee7207434be86292201a8 [file] [log] [blame]
Alexandre Lisiond204ea52013-10-15 10:16:25 -04001/*
2 * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
3 * Universitaet Berlin. See the accompanying file "COPYRIGHT" for
4 * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
5 */
6
7/* $Header: /tmp_amd/presto/export/kbs/jutta/src/gsm/RCS/toast_alaw.c,v 1.1 1992/10/28 00:15:50 jutta Exp $ */
8
9#include "toast.h"
10
11/* toast_alaw.c -- manipulate A-law encoded sound.
12 */
13
14extern FILE * in, * out;
15
16#define A2S(x) (a2s[ (unsigned char )(x) ])
17#define S2A(x) (s2a[ ((unsigned short)(x)) >> 4 ])
18
19static unsigned short a2s[] = {
20
21 5120,60160, 320,65200,20480,44032, 1280,64192,
22 2560,62848, 64,65456,10240,54784, 640,64864,
23 7168,58112, 448,65072,28672,35840, 1792,63680,
24 3584,61824, 192,65328,14336,50688, 896,64608,
25 4096,61184, 256,65264,16384,48128, 1024,64448,
26 2048,63360, 0,65520, 8192,56832, 512,64992,
27 6144,59136, 384,65136,24576,39936, 1536,63936,
28 3072,62336, 128,65392,12288,52736, 768,64736,
29 5632,59648, 352,65168,22528,41984, 1408,64064,
30 2816,62592, 96,65424,11264,53760, 704,64800,
31 7680,57600, 480,65040,30720,33792, 1920,63552,
32 3840,61568, 224,65296,15360,49664, 960,64544,
33 4608,60672, 288,65232,18432,46080, 1152,64320,
34 2304,63104, 32,65488, 9216,55808, 576,64928,
35 6656,58624, 416,65104,26624,37888, 1664,63808,
36 3328,62080, 160,65360,13312,51712, 832,64672,
37 5376,59904, 336,65184,21504,43008, 1344,64128,
38 2688,62720, 80,65440,10752,54272, 672,64832,
39 7424,57856, 464,65056,29696,34816, 1856,63616,
40 3712,61696, 208,65312,14848,50176, 928,64576,
41 4352,60928, 272,65248,17408,47104, 1088,64384,
42 2176,63232, 16,65504, 8704,56320, 544,64960,
43 6400,58880, 400,65120,25600,38912, 1600,63872,
44 3200,62208, 144,65376,12800,52224, 800,64704,
45 5888,59392, 368,65152,23552,40960, 1472,64000,
46 2944,62464, 112,65408,11776,53248, 736,64768,
47 7936,57344, 496,65024,31744,32768, 1984,63488,
48 3968,61440, 240,65280,15872,49152, 992,64512,
49 4864,60416, 304,65216,19456,45056, 1216,64256,
50 2432,62976, 48,65472, 9728,55296, 608,64896,
51 6912,58368, 432,65088,27648,36864, 1728,63744,
52 3456,61952, 176,65344,13824,51200, 864,64640
53};
54
55
56static unsigned char s2a[] = {
57
58 170, 42,234,106,138, 10,202, 74,186, 58,250,122,154, 26,218, 90,
59 162, 34,226, 98,130, 2,194, 66,178, 50,242,114,146, 18,210, 82,
60 174, 46, 46,238,238,110,110,142,142, 14, 14,206,206, 78, 78,190,
61 190, 62, 62,254,254,126,126,158,158, 30, 30,222,222, 94, 94,166,
62 166, 38, 38, 38, 38,230,230,230,230,102,102,102,102,134,134,134,
63 134, 6, 6, 6, 6,198,198,198,198, 70, 70, 70, 70,182,182,182,
64 182, 54, 54, 54, 54,246,246,246,246,118,118,118,118,150,150,150,
65 150, 22, 22, 22, 22,214,214,214,214, 86, 86, 86, 86,168,168,168,
66 168, 40, 40, 40, 40, 40, 40, 40, 40,232,232,232,232,232,232,232,
67 232,104,104,104,104,104,104,104,104,136,136,136,136,136,136,136,
68 136, 8, 8, 8, 8, 8, 8, 8, 8,200,200,200,200,200,200,200,
69 200, 72, 72, 72, 72, 72, 72, 72, 72,184,184,184,184,184,184,184,
70 184, 56, 56, 56, 56, 56, 56, 56, 56,248,248,248,248,248,248,248,
71 248,120,120,120,120,120,120,120,120,152,152,152,152,152,152,152,
72 152, 24, 24, 24, 24, 24, 24, 24, 24,216,216,216,216,216,216,216,
73 216, 88, 88, 88, 88, 88, 88, 88, 88,160,160,160,160,160,160,160,
74 160, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
75 32,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,
76 224, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
77 96,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,
78 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
79 0,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,
80 192, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
81 64,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,
82 176, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
83 48,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,
84 240,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,
85 112,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,
86 144, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
87 16,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,
88 208, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
89 80,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,
90 172, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
91 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
92 44,236,236,236,236,236,236,236,236,236,236,236,236,236,236,236,
93 236,236,236,236,236,236,236,236,236,236,236,236,236,236,236,236,
94 236,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,
95 108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,
96 108,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,
97 140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,
98 140, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
99 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
100 12,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,
101 204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,
102 204, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
103 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
104 76,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,
105 188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,
106 188, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
107 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
108 60,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,
109 252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,
110 252,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,
111 124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,
112 124,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,
113 156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,
114 156, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
115 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
116 28,220,220,220,220,220,220,220,220,220,220,220,220,220,220,220,
117 220,220,220,220,220,220,220,220,220,220,220,220,220,220,220,220,
118 220, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
119 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
120 92,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,
121 164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,
122 164, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
123 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
124 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
125 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
126 36,228,228,228,228,228,228,228,228,228,228,228,228,228,228,228,
127 228,228,228,228,228,228,228,228,228,228,228,228,228,228,228,228,
128 228,228,228,228,228,228,228,228,228,228,228,228,228,228,228,228,
129 228,228,228,228,228,228,228,228,228,228,228,228,228,228,228,228,
130 228,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,
131 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,
132 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,
133 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,
134 100,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,
135 132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,
136 132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,
137 132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,
138 132, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
139 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
140 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
141 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
142 4,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,
143 196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,
144 196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,
145 196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,
146 196, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
147 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
148 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
149 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
150 68,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,
151 180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,
152 180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,
153 180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,
154 180, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
155 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
156 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
157 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
158 52,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,
159 244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,
160 244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,
161 244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,
162 244,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,
163 116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,
164 116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,
165 116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,
166 116,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,
167 148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,
168 148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,
169 148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,
170 148, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
171 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
172 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
173 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
174 20,212,212,212,212,212,212,212,212,212,212,212,212,212,212,212,
175 212,212,212,212,212,212,212,212,212,212,212,212,212,212,212,212,
176 212,212,212,212,212,212,212,212,212,212,212,212,212,212,212,212,
177 212,212,212,212,212,212,212,212,212,212,212,212,212,212,212,212,
178 212, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
179 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
180 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
181 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
182 84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
183 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
184 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
185 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
186 85,213,213,213,213,213,213,213,213,213,213,213,213,213,213,213,
187 213,213,213,213,213,213,213,213,213,213,213,213,213,213,213,213,
188 213,213,213,213,213,213,213,213,213,213,213,213,213,213,213,213,
189 213,213,213,213,213,213,213,213,213,213,213,213,213,213,213,213,
190 213, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
191 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
192 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
193 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
194 21,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,
195 149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,
196 149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,
197 149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,
198 149,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,
199 117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,
200 117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,
201 117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,
202 117,245,245,245,245,245,245,245,245,245,245,245,245,245,245,245,
203 245,245,245,245,245,245,245,245,245,245,245,245,245,245,245,245,
204 245,245,245,245,245,245,245,245,245,245,245,245,245,245,245,245,
205 245,245,245,245,245,245,245,245,245,245,245,245,245,245,245,245,
206 245, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
207 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
208 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
209 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
210 53,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,
211 181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,
212 181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,
213 181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,
214 181, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
215 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
216 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
217 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
218 69,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,
219 197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,
220 197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,
221 197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,
222 197, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
223 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
224 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
225 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
226 5,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,
227 133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,
228 133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,
229 133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,
230 133,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,
231 101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,
232 101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,
233 101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,
234 101,229,229,229,229,229,229,229,229,229,229,229,229,229,229,229,
235 229,229,229,229,229,229,229,229,229,229,229,229,229,229,229,229,
236 229,229,229,229,229,229,229,229,229,229,229,229,229,229,229,229,
237 229,229,229,229,229,229,229,229,229,229,229,229,229,229,229,229,
238 229, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
239 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
240 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
241 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
242 37,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,
243 165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,
244 165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,
245 165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,
246 165, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
247 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
248 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
249 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
250 93,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,
251 221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,
252 221, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
253 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
254 29,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,
255 157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,
256 157,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,
257 125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,
258 125,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,
259 253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,
260 253, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
261 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
262 61,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,
263 189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,
264 189, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
265 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
266 77,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,
267 205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,
268 205, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
269 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
270 13,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,
271 141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,
272 141,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,
273 109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,
274 109,237,237,237,237,237,237,237,237,237,237,237,237,237,237,237,
275 237,237,237,237,237,237,237,237,237,237,237,237,237,237,237,237,
276 237, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
277 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
278 45,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,
279 173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,
280 173, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
281 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
282 81,209,209,209,209,209,209,209,209,209,209,209,209,209,209,209,
283 209, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
284 17,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,
285 145,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,
286 113,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,
287 241, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
288 49,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,
289 177, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
290 65,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,
291 193, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
292 1,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,
293 129, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
294 97,225,225,225,225,225,225,225,225,225,225,225,225,225,225,225,
295 225, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
296 33,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,
297 161, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
298 89,217,217,217,217,217,217,217,217, 25, 25, 25, 25, 25, 25, 25,
299 25,153,153,153,153,153,153,153,153,121,121,121,121,121,121,121,
300 121,249,249,249,249,249,249,249,249, 57, 57, 57, 57, 57, 57, 57,
301 57,185,185,185,185,185,185,185,185, 73, 73, 73, 73, 73, 73, 73,
302 73,201,201,201,201,201,201,201,201, 9, 9, 9, 9, 9, 9, 9,
303 9,137,137,137,137,137,137,137,137,105,105,105,105,105,105,105,
304 105,233,233,233,233,233,233,233,233, 41, 41, 41, 41, 41, 41, 41,
305 41,169,169,169,169,169,169,169,169, 87, 87, 87, 87, 87, 87, 87,
306 87,215,215,215,215, 23, 23, 23, 23,151,151,151,151,119,119,119,
307 119,247,247,247,247, 55, 55, 55, 55,183,183,183,183, 71, 71, 71,
308 71,199,199,199,199, 7, 7, 7, 7,135,135,135,135,103,103,103,
309 103,231,231,231,231, 39, 39, 39, 39,167,167,167,167, 95, 95, 95,
310 95,223,223, 31, 31,159,159,127,127,255,255, 63, 63,191,191, 79,
311 79,207,207, 15, 15,143,143,111,111,239,239, 47, 47,175,175, 83,
312 83,211, 19,147,115,243, 51,179, 67,195, 3,131, 99,227, 35,163,
313 91,219, 27,155,123,251, 59,187, 75,203, 11,139,107,235, 43,171
314};
315
316int alaw_input P1((buf), gsm_signal * buf)
317{
318 int i, c;
319
320 for (i = 0; i < 160 && (c = fgetc(in)) != EOF; i++) buf[i] = A2S( c );
321 if (c == EOF && ferror(in)) return -1;
322 return i;
323}
324
325int alaw_output P1((buf), gsm_signal * buf)
326{
327 int i;
328
329 for (i = 0; i < 160; i++, buf++)
330 if (fputc( S2A( *buf ), out) == EOF) return -1;
331 return 0;
332}
333