comparison adpcm.c @ 1598:932d306bf1dc libavcodec

av_log() patch by (Michel Bardiaux <mbardiaux at peaktime dot be>)
author michael
date Mon, 03 Nov 2003 13:26:22 +0000
parents dbd0ede6623d
children d29e96720e21
comparison
equal deleted inserted replaced
1597:4c9165372ab3 1598:932d306bf1dc
127 { 127 {
128 if (avctx->channels > 2) 128 if (avctx->channels > 2)
129 return -1; /* only stereo or mono =) */ 129 return -1; /* only stereo or mono =) */
130 switch(avctx->codec->id) { 130 switch(avctx->codec->id) {
131 case CODEC_ID_ADPCM_IMA_QT: 131 case CODEC_ID_ADPCM_IMA_QT:
132 fprintf(stderr, "ADPCM: codec admcp_ima_qt unsupported for encoding !\n"); 132 av_log(avctx, AV_LOG_ERROR, "ADPCM: codec admcp_ima_qt unsupported for encoding !\n");
133 avctx->frame_size = 64; /* XXX: can multiple of avctx->channels * 64 (left and right blocks are interleaved) */ 133 avctx->frame_size = 64; /* XXX: can multiple of avctx->channels * 64 (left and right blocks are interleaved) */
134 return -1; 134 return -1;
135 break; 135 break;
136 case CODEC_ID_ADPCM_IMA_WAV: 136 case CODEC_ID_ADPCM_IMA_WAV:
137 avctx->frame_size = (BLKSIZE - 4 * avctx->channels) * 8 / (4 * avctx->channels) + 1; /* each 16 bits sample gives one nibble */ 137 avctx->frame_size = (BLKSIZE - 4 * avctx->channels) * 8 / (4 * avctx->channels) + 1; /* each 16 bits sample gives one nibble */
138 /* and we have 4 bytes per channel overhead */ 138 /* and we have 4 bytes per channel overhead */
139 avctx->block_align = BLKSIZE; 139 avctx->block_align = BLKSIZE;
140 /* seems frame_size isn't taken into account... have to buffer the samples :-( */ 140 /* seems frame_size isn't taken into account... have to buffer the samples :-( */
141 break; 141 break;
142 case CODEC_ID_ADPCM_MS: 142 case CODEC_ID_ADPCM_MS:
143 fprintf(stderr, "ADPCM: codec admcp_ms unsupported for encoding !\n"); 143 av_log(avctx, AV_LOG_ERROR, "ADPCM: codec admcp_ms unsupported for encoding !\n");
144 return -1; 144 return -1;
145 break; 145 break;
146 default: 146 default:
147 return -1; 147 return -1;
148 break; 148 break;
494 494
495 CLAMP_TO_SHORT(cs->predictor); 495 CLAMP_TO_SHORT(cs->predictor);
496 496
497 cs->step_index = (*src++) & 0x7F; 497 cs->step_index = (*src++) & 0x7F;
498 498
499 if (cs->step_index > 88) fprintf(stderr, "ERROR: step_index = %i\n", cs->step_index); 499 if (cs->step_index > 88) av_log(avctx, AV_LOG_ERROR, "ERROR: step_index = %i\n", cs->step_index);
500 if (cs->step_index > 88) cs->step_index = 88; 500 if (cs->step_index > 88) cs->step_index = 88;
501 501
502 cs->step = step_table[cs->step_index]; 502 cs->step = step_table[cs->step_index];
503 503
504 if (st && channel) 504 if (st && channel)
538 // XXX: is this correct ??: *samples++ = cs->predictor; 538 // XXX: is this correct ??: *samples++ = cs->predictor;
539 539
540 cs->step_index = *src++; 540 cs->step_index = *src++;
541 if (cs->step_index < 0) cs->step_index = 0; 541 if (cs->step_index < 0) cs->step_index = 0;
542 if (cs->step_index > 88) cs->step_index = 88; 542 if (cs->step_index > 88) cs->step_index = 88;
543 if (*src++) fprintf(stderr, "unused byte should be null !!\n"); /* unused */ 543 if (*src++) av_log(avctx, AV_LOG_ERROR, "unused byte should be null !!\n"); /* unused */
544 544
545 if (st) { 545 if (st) {
546 cs = &(c->status[1]); 546 cs = &(c->status[1]);
547 cs->predictor = (*src++) & 0x0FF; 547 cs->predictor = (*src++) & 0x0FF;
548 cs->predictor |= ((*src++) << 8) & 0x0FF00; 548 cs->predictor |= ((*src++) << 8) & 0x0FF00;