mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-02-25 16:21:13 +00:00
adpcm: fix IMA SMJPEG decoding
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
(cherry picked from commit 01a01bf8bd
)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
4f94de84e8
commit
89cf156ace
@ -1007,11 +1007,15 @@ static int adpcm_decode_frame(AVCodecContext *avctx, void *data,
|
|||||||
break;
|
break;
|
||||||
case CODEC_ID_ADPCM_IMA_AMV:
|
case CODEC_ID_ADPCM_IMA_AMV:
|
||||||
case CODEC_ID_ADPCM_IMA_SMJPEG:
|
case CODEC_ID_ADPCM_IMA_SMJPEG:
|
||||||
c->status[0].predictor = (int16_t)bytestream_get_le16(&src);
|
if (avctx->codec->id == CODEC_ID_ADPCM_IMA_AMV) {
|
||||||
c->status[0].step_index = bytestream_get_le16(&src);
|
c->status[0].predictor = sign_extend(bytestream_get_le16(&src), 16);
|
||||||
|
c->status[0].step_index = bytestream_get_le16(&src);
|
||||||
if (avctx->codec->id == CODEC_ID_ADPCM_IMA_AMV)
|
src += 4;
|
||||||
src+=4;
|
} else {
|
||||||
|
c->status[0].predictor = sign_extend(bytestream_get_be16(&src), 16);
|
||||||
|
c->status[0].step_index = bytestream_get_byte(&src);
|
||||||
|
src += 1;
|
||||||
|
}
|
||||||
|
|
||||||
for (n = nb_samples >> (1 - st); n > 0; n--, src++) {
|
for (n = nb_samples >> (1 - st); n > 0; n--, src++) {
|
||||||
char hi, lo;
|
char hi, lo;
|
||||||
|
Loading…
Reference in New Issue
Block a user