diff options
author | Zane van Iperen <zane@zanevaniperen.com> | 2021-03-23 20:55:17 +1000 |
---|---|---|
committer | Zane van Iperen <zane@zanevaniperen.com> | 2021-03-25 12:51:08 +1000 |
commit | efb58ec8f9c26f0b779a05df15782dfe002aaacc (patch) | |
tree | 09b8aaf4e5d4e5fba64540e3131060ab5d78317d /libavcodec/adpcm.c | |
parent | 95280cf3e795c18175f7e5ca8bb05ef40abb6c42 (diff) |
avcodec/adpcm_aica: reset state in flush callback
Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
Diffstat (limited to 'libavcodec/adpcm.c')
-rw-r--r-- | libavcodec/adpcm.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/libavcodec/adpcm.c b/libavcodec/adpcm.c index b145622f4f..b035406550 100644 --- a/libavcodec/adpcm.c +++ b/libavcodec/adpcm.c @@ -1811,11 +1811,6 @@ static int adpcm_decode_frame(AVCodecContext *avctx, void *data, } break; case AV_CODEC_ID_ADPCM_AICA: - if (!c->has_status) { - for (channel = 0; channel < avctx->channels; channel++) - c->status[channel].step = 0; - c->has_status = 1; - } for (channel = 0; channel < avctx->channels; channel++) { samples = samples_p[channel]; for (n = nb_samples >> 1; n > 0; n--) { @@ -2116,6 +2111,11 @@ static void adpcm_flush(AVCodecContext *avctx) ADPCMDecodeContext *c = avctx->priv_data; switch(avctx->codec_id) { + case AV_CODEC_ID_ADPCM_AICA: + for (int channel = 0; channel < avctx->channels; channel++) + c->status[channel].step = 0; + break; + case AV_CODEC_ID_ADPCM_ZORK: for (int channel = 0; channel < avctx->channels; channel++) { c->status[channel].predictor = 0; |