summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/adpcm.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/libavcodec/adpcm.c b/libavcodec/adpcm.c
index 8997780158..b68b064f11 100644
--- a/libavcodec/adpcm.c
+++ b/libavcodec/adpcm.c
@@ -451,7 +451,7 @@ static int adpcm_encode_frame(AVCodecContext *avctx,
*dst++ = 0; /* unknown */
samples++;
if (avctx->channels == 2) {
- c->status[1].prev_sample = (signed short)samples[1];
+ c->status[1].prev_sample = (signed short)samples[0];
/* c->status[1].step_index = 0; */
bytestream_put_le16(&dst, c->status[1].prev_sample);
*dst++ = (unsigned char)c->status[1].step_index;
@@ -936,11 +936,9 @@ static int adpcm_decode_frame(AVCodecContext *avctx,
for(i=0; i<avctx->channels; i++){
cs = &(c->status[i]);
- cs->predictor = (int16_t)(src[0] + (src[1]<<8));
+ cs->predictor = *samples++ = (int16_t)(src[0] + (src[1]<<8));
src+=2;
- // XXX: is this correct ??: *samples++ = cs->predictor;
-
cs->step_index = *src++;
if (cs->step_index > 88){
av_log(avctx, AV_LOG_ERROR, "ERROR: step_index = %i\n", cs->step_index);