From e3b7079ddf8322577e1d1f9ef762e96c2b0ad923 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 7 Apr 2012 10:12:58 +0200 Subject: [PATCH] adpcmenc: fix encoded s_0 value. Signed-off-by: Michael Niedermayer --- libavcodec/adpcmenc.c | 2 +- tests/ref/acodec/adpcm_ima_qt | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libavcodec/adpcmenc.c b/libavcodec/adpcmenc.c index e46e6f240b..118a9840d1 100644 --- a/libavcodec/adpcmenc.c +++ b/libavcodec/adpcmenc.c @@ -571,7 +571,7 @@ static int adpcm_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, init_put_bits(&pb, dst, pkt_size * 8); for (ch = 0; ch < avctx->channels; ch++) { - put_bits(&pb, 9, (c->status[ch].prev_sample + 0x10000) >> 7); + put_bits(&pb, 9, (c->status[ch].prev_sample & 0xFFFF) >> 7); put_bits(&pb, 7, c->status[ch].step_index); if (avctx->trellis > 0) { uint8_t buf[64]; diff --git a/tests/ref/acodec/adpcm_ima_qt b/tests/ref/acodec/adpcm_ima_qt index c1db43f1aa..a50c30a27c 100644 --- a/tests/ref/acodec/adpcm_ima_qt +++ b/tests/ref/acodec/adpcm_ima_qt @@ -1,4 +1,4 @@ -057d27978b35888776512e4e9669a63b *./tests/data/acodec/adpcm_qt.aiff +23cbae1182e150ebf28e0abfb9cba127 *./tests/data/acodec/adpcm_qt.aiff 281252 ./tests/data/acodec/adpcm_qt.aiff -169c40435c68d50112c9c61fc67e446d *./tests/data/adpcm_ima_qt.acodec.out.wav -stddev: 918.61 PSNR: 37.07 MAXDIFF:34029 bytes: 1058560/ 1058400 +b0fafd002c38fb70acaddfda1a31ed61 *./tests/data/adpcm_ima_qt.acodec.out.wav +stddev: 904.76 PSNR: 37.20 MAXDIFF:34029 bytes: 1058560/ 1058400