aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2017-04-03 14:43:40 -0400
committerMichael Niedermayer <michael@niedermayer.cc>2017-04-13 02:29:26 +0200
commite90de50195d4b4b61f3c2c4ea3bb8a09b433de8e (patch)
tree08e55f84dba14f4ae86c09206733ce1112b74a8a
parent51ca6fda0500da24e3d365c9dfce31bad42e8723 (diff)
downloadffmpeg-e90de50195d4b4b61f3c2c4ea3bb8a09b433de8e.tar.gz
png: set AVFrame flags/fields before calling setup_finished().
Fixes tsan warnings in fate-apng: WARNING: ThreadSanitizer: data race (pid=51230) Read of size 4 at 0x7d50000042fc by main thread (mutexes: write M1000): #0 frame_copy_props frame.c:302 (ffmpeg:x86_64+0x1019a35d6) [..] Previous write of size 4 at 0x7d50000042fc by thread T1 (mutexes: write M997): #0 decode_idat_chunk pngdec.c:708 (ffmpeg:x86_64+0x100f5562a) (cherry picked from commit eff2861a757b8a46398e6fcb844b960b4775daad) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavcodec/pngdec.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c
index d184c34b81..102551972e 100644
--- a/libavcodec/pngdec.c
+++ b/libavcodec/pngdec.c
@@ -701,12 +701,12 @@ static int decode_idat_chunk(AVCodecContext *avctx, PNGDecContext *s,
if ((ret = ff_thread_get_buffer(avctx, &s->previous_picture, AV_GET_BUFFER_FLAG_REF)) < 0)
return ret;
}
- ff_thread_finish_setup(avctx);
-
p->pict_type = AV_PICTURE_TYPE_I;
p->key_frame = 1;
p->interlaced_frame = !!s->interlace_type;
+ ff_thread_finish_setup(avctx);
+
/* compute the compressed row size */
if (!s->interlace_type) {
s->crow_size = s->row_size + 1;