[FFmpeg-cvslog] avcodec/adpcm_argo: reset state on flush
Zane van Iperen
git at videolan.org
Thu Mar 25 05:04:01 EET 2021
ffmpeg | branch: master | Zane van Iperen <zane at zanevaniperen.com> | Tue Mar 23 20:58:33 2021 +1000| [660c14a9b9fe6e7add23163f8fc63a4f0824b434] | committer: Zane van Iperen
avcodec/adpcm_argo: reset state on flush
Commit 003b5c800fef909fa84dd2fae43d66bd434d3f7e introduced seeking in argo_asf,
but this was missed, leading to non-deterministic output.
Signed-off-by: Zane van Iperen <zane at zanevaniperen.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=660c14a9b9fe6e7add23163f8fc63a4f0824b434
---
libavcodec/adpcm.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/libavcodec/adpcm.c b/libavcodec/adpcm.c
index b035406550..07fa1a65b3 100644
--- a/libavcodec/adpcm.c
+++ b/libavcodec/adpcm.c
@@ -2116,6 +2116,13 @@ static void adpcm_flush(AVCodecContext *avctx)
c->status[channel].step = 0;
break;
+ case AV_CODEC_ID_ADPCM_ARGO:
+ for (int channel = 0; channel < avctx->channels; channel++) {
+ c->status[channel].sample1 = 0;
+ c->status[channel].sample2 = 0;
+ }
+ break;
+
case AV_CODEC_ID_ADPCM_ZORK:
for (int channel = 0; channel < avctx->channels; channel++) {
c->status[channel].predictor = 0;
More information about the ffmpeg-cvslog
mailing list