adpcmenc: fix encoded s_0 value.
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 7 Apr 2012 08:12:58 +0000 (10:12 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 7 Apr 2012 08:58:10 +0000 (10:58 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/adpcmenc.c
tests/ref/acodec/adpcm_ima_qt

index e46e6f2..118a984 100644 (file)
@@ -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];
index c1db43f..a50c30a 100644 (file)
@@ -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