aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/mss2.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2023-09-12 15:47:42 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2023-09-15 13:08:37 +0200
commitd2bc039501cdfe2067365ca1bf4be7201f071c05 (patch)
tree6e5b86aef80f94591c7e6f3574f90e560c711441 /libavcodec/mss2.c
parent4f4dc0a1a29d3689ba8e73a08c13d4f2e152aad1 (diff)
downloadffmpeg-d2bc039501cdfe2067365ca1bf4be7201f071c05.tar.gz
avcodec/error_resilience: Make applying decode_error_flags optional
Add a pointer parameter that if supplied will be used to return the updated decode_error_flags. This will allow to fix several races when using frame-threading; these resulted from AVFrame that the earlier code updated concurrently being used as source in an av_frame_ref() call in the decoder's update_thread_context. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavcodec/mss2.c')
-rw-r--r--libavcodec/mss2.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/mss2.c b/libavcodec/mss2.c
index 70aa56cb84..2237cc8bb1 100644
--- a/libavcodec/mss2.c
+++ b/libavcodec/mss2.c
@@ -422,7 +422,7 @@ static int decode_wmv9(AVCodecContext *avctx, const uint8_t *buf, int buf_size,
ff_vc1_decode_blocks(v);
if (v->end_mb_x == s->mb_width && s->end_mb_y == s->mb_height) {
- ff_er_frame_end(&s->er);
+ ff_er_frame_end(&s->er, NULL);
} else {
av_log(v->s.avctx, AV_LOG_WARNING,
"disabling error correction due to block count mismatch %dx%d != %dx%d\n",