Mercurial > libavcodec.hg
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; |