comparison mace.c @ 1064:b32afefe7d33 libavcodec

* UINTX -> uintx_t INTX -> intx_t
author kabi
date Tue, 11 Feb 2003 16:35:48 +0000
parents 6faecb29b3b5
children 1e39f273ecd6
comparison
equal deleted inserted replaced
1063:fdeac9642346 1064:b32afefe7d33
22 * Adapted to ffmpeg by Francois Revol <revol@free.fr> 22 * Adapted to ffmpeg by Francois Revol <revol@free.fr>
23 * (removed 68k REG stuff, changed types, added some statics and consts, 23 * (removed 68k REG stuff, changed types, added some statics and consts,
24 * libavcodec api, context stuff, interlaced stereo out). 24 * libavcodec api, context stuff, interlaced stereo out).
25 */ 25 */
26 26
27 static const UINT16 MACEtab1[] = { 0xfff3, 0x0008, 0x004c, 0x00de, 0x00de, 0x004c, 0x0008, 0xfff3 }; 27 static const uint16_t MACEtab1[] = { 0xfff3, 0x0008, 0x004c, 0x00de, 0x00de, 0x004c, 0x0008, 0xfff3 };
28 28
29 static const UINT16 MACEtab3[] = { 0xffee, 0x008c, 0x008c, 0xffee }; 29 static const uint16_t MACEtab3[] = { 0xffee, 0x008c, 0x008c, 0xffee };
30 30
31 static const UINT16 MACEtab2[][8] = { 31 static const uint16_t MACEtab2[][8] = {
32 { 0x0025, 0x0074, 0x00CE, 0x014A, 0xFEB5, 0xFF31, 0xFF8B, 0xFFDA }, 32 { 0x0025, 0x0074, 0x00CE, 0x014A, 0xFEB5, 0xFF31, 0xFF8B, 0xFFDA },
33 { 0x0027, 0x0079, 0x00D8, 0x015A, 0xFEA5, 0xFF27, 0xFF86, 0xFFD8 }, 33 { 0x0027, 0x0079, 0x00D8, 0x015A, 0xFEA5, 0xFF27, 0xFF86, 0xFFD8 },
34 { 0x0029, 0x007F, 0x00E1, 0x0169, 0xFE96, 0xFF1E, 0xFF80, 0xFFD6 }, 34 { 0x0029, 0x007F, 0x00E1, 0x0169, 0xFE96, 0xFF1E, 0xFF80, 0xFFD6 },
35 { 0x002A, 0x0084, 0x00EB, 0x0179, 0xFE86, 0xFF14, 0xFF7B, 0xFFD5 }, 35 { 0x002A, 0x0084, 0x00EB, 0x0179, 0xFE86, 0xFF14, 0xFF7B, 0xFFD5 },
36 { 0x002C, 0x0089, 0x00F5, 0x0188, 0xFE77, 0xFF0A, 0xFF76, 0xFFD3 }, 36 { 0x002C, 0x0089, 0x00F5, 0x0188, 0xFE77, 0xFF0A, 0xFF76, 0xFFD3 },
157 { 0x2281, 0x6A6A, 0x7FFF, 0x7FFF, 0x8000, 0x8000, 0x9595, 0xDD7E }, 157 { 0x2281, 0x6A6A, 0x7FFF, 0x7FFF, 0x8000, 0x8000, 0x9595, 0xDD7E },
158 { 0x240C, 0x6F29, 0x7FFF, 0x7FFF, 0x8000, 0x8000, 0x90D6, 0xDBF3 }, 158 { 0x240C, 0x6F29, 0x7FFF, 0x7FFF, 0x8000, 0x8000, 0x90D6, 0xDBF3 },
159 { 0x25A7, 0x741F, 0x7FFF, 0x7FFF, 0x8000, 0x8000, 0x8BE0, 0xDA58 }, 159 { 0x25A7, 0x741F, 0x7FFF, 0x7FFF, 0x8000, 0x8000, 0x8BE0, 0xDA58 },
160 }; 160 };
161 161
162 static const UINT16 MACEtab4[][8] = { 162 static const uint16_t MACEtab4[][8] = {
163 { 0x0040, 0x00D8, 0xFF27, 0xFFBF, 0, 0, 0, 0 }, { 0x0043, 0x00E2, 0xFF1D, 0xFFBC, 0, 0, 0, 0 }, 163 { 0x0040, 0x00D8, 0xFF27, 0xFFBF, 0, 0, 0, 0 }, { 0x0043, 0x00E2, 0xFF1D, 0xFFBC, 0, 0, 0, 0 },
164 { 0x0046, 0x00EC, 0xFF13, 0xFFB9, 0, 0, 0, 0 }, { 0x004A, 0x00F6, 0xFF09, 0xFFB5, 0, 0, 0, 0 }, 164 { 0x0046, 0x00EC, 0xFF13, 0xFFB9, 0, 0, 0, 0 }, { 0x004A, 0x00F6, 0xFF09, 0xFFB5, 0, 0, 0, 0 },
165 { 0x004D, 0x0101, 0xFEFE, 0xFFB2, 0, 0, 0, 0 }, { 0x0050, 0x010C, 0xFEF3, 0xFFAF, 0, 0, 0, 0 }, 165 { 0x004D, 0x0101, 0xFEFE, 0xFFB2, 0, 0, 0, 0 }, { 0x0050, 0x010C, 0xFEF3, 0xFFAF, 0, 0, 0, 0 },
166 { 0x0054, 0x0118, 0xFEE7, 0xFFAB, 0, 0, 0, 0 }, { 0x0058, 0x0126, 0xFED9, 0xFFA7, 0, 0, 0, 0 }, 166 { 0x0054, 0x0118, 0xFEE7, 0xFFAB, 0, 0, 0, 0 }, { 0x0058, 0x0126, 0xFED9, 0xFFA7, 0, 0, 0, 0 },
167 { 0x005C, 0x0133, 0xFECC, 0xFFA3, 0, 0, 0, 0 }, { 0x0060, 0x0141, 0xFEBE, 0xFF9F, 0, 0, 0, 0 }, 167 { 0x005C, 0x0133, 0xFECC, 0xFFA3, 0, 0, 0, 0 }, { 0x0060, 0x0141, 0xFEBE, 0xFF9F, 0, 0, 0, 0 },
232 short *outPtr; 232 short *outPtr;
233 } MACEContext; 233 } MACEContext;
234 234
235 /* /// "chomp3()" */ 235 /* /// "chomp3()" */
236 static void chomp3(MACEContext *ctx, 236 static void chomp3(MACEContext *ctx,
237 UINT8 val, 237 uint8_t val,
238 const UINT16 tab1[], 238 const uint16_t tab1[],
239 const UINT16 tab2[][8]) 239 const uint16_t tab2[][8])
240 { 240 {
241 short current; 241 short current;
242 242
243 current=(short)tab2[(ctx->index & 0x7f0) >> 4][val]; 243 current=(short)tab2[(ctx->index & 0x7f0) >> 4][val];
244 if (current+ctx->lev > 32767) current=32767; 244 if (current+ctx->lev > 32767) current=32767;
251 } 251 }
252 /* \\\ */ 252 /* \\\ */
253 253
254 /* /// "Exp1to3()" */ 254 /* /// "Exp1to3()" */
255 static void Exp1to3(MACEContext *ctx, 255 static void Exp1to3(MACEContext *ctx,
256 UINT8 *inBuffer, 256 uint8_t *inBuffer,
257 void *outBuffer, 257 void *outBuffer,
258 UINT32 cnt, 258 uint32_t cnt,
259 UINT32 numChannels, 259 uint32_t numChannels,
260 UINT32 whichChannel) 260 uint32_t whichChannel)
261 { 261 {
262 UINT8 pkt; 262 uint8_t pkt;
263 263
264 /* 264 /*
265 if (inState) { 265 if (inState) {
266 ctx->index=inState[0]; 266 ctx->index=inState[0];
267 ctx->lev=inState[1]; 267 ctx->lev=inState[1];
296 } 296 }
297 /* \\\ */ 297 /* \\\ */
298 298
299 /* /// "chomp6()" */ 299 /* /// "chomp6()" */
300 static void chomp6(MACEContext *ctx, 300 static void chomp6(MACEContext *ctx,
301 UINT8 val, 301 uint8_t val,
302 const UINT16 tab1[], 302 const uint16_t tab1[],
303 const UINT16 tab2[][8]) 303 const uint16_t tab2[][8])
304 { 304 {
305 short current; 305 short current;
306 306
307 current=(short)tab2[(ctx->index & 0x7f0) >> 4][val]; 307 current=(short)tab2[(ctx->index & 0x7f0) >> 4][val];
308 308
333 } 333 }
334 /* \\\ */ 334 /* \\\ */
335 335
336 /* /// "Exp1to6()" */ 336 /* /// "Exp1to6()" */
337 static void Exp1to6(MACEContext *ctx, 337 static void Exp1to6(MACEContext *ctx,
338 UINT8 *inBuffer, 338 uint8_t *inBuffer,
339 void *outBuffer, 339 void *outBuffer,
340 UINT32 cnt, 340 uint32_t cnt,
341 UINT32 numChannels, 341 uint32_t numChannels,
342 UINT32 whichChannel) 342 uint32_t whichChannel)
343 { 343 {
344 UINT8 pkt; 344 uint8_t pkt;
345 345
346 /* 346 /*
347 if (inState) { 347 if (inState) {
348 ctx->previous=inState[0]; 348 ctx->previous=inState[0];
349 ctx->prev2=inState[1]; 349 ctx->prev2=inState[1];
387 return 0; 387 return 0;
388 } 388 }
389 389
390 static int mace_decode_frame(AVCodecContext *avctx, 390 static int mace_decode_frame(AVCodecContext *avctx,
391 void *data, int *data_size, 391 void *data, int *data_size,
392 UINT8 *buf, int buf_size) 392 uint8_t *buf, int buf_size)
393 { 393 {
394 short *samples; 394 short *samples;
395 MACEContext *c = avctx->priv_data; 395 MACEContext *c = avctx->priv_data;
396 396
397 samples = (short *)data; 397 samples = (short *)data;