Lines Matching refs:sample
37 static unsigned char ulaw_encode (int sample) ;
63 /* Generate a file containing all possible 16 bit sample values
73 /* Now open that file and compare the ulaw encoded sample values
93 { printf ("Encoder error : sample #%d (0x%02X should be 0x%02X)\n", k, ulaw_buffer [k], ulaw_encode (short_buffer [k])) ;
104 ** sample values and write it to disk as ulaw encoded.frames.
119 /* Now open that file and compare the ulaw decoded sample values
140 { printf ("Decoder error : sample #%d (0x%04X should be 0x%04X)\n", k, short_buffer [k], ulaw_decode (ulaw_buffer [k])) ;
180 ** Input: Signed 16 bit linear sample
181 ** Output: 8 bit ulaw sample
188 unsigned char ulaw_encode (int sample)
211 /* Get the sample into sign-magnitude. */
212 sign = (sample >> 8) & 0x80 ; /* set aside the sign */
214 sample = -sample ; /* get magnitude */
215 if (sample > uCLIP)
216 sample = uCLIP ; /* clip the magnitude */
219 sample = sample + uBIAS ;
220 exponent = exp_lut [(sample >> 7) & 0xFF] ;
221 mantissa = (sample >> (exponent + 3)) & 0x0F ;
240 ** Input: 8 bit ulaw sample
241 ** Output: signed 16 bit linear sample
247 int sign, exponent, mantissa, sample ;
253 sample = exp_lut [exponent] + (mantissa << (exponent + 3)) ;
255 sample = -sample ;
257 return sample ;