diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2017-04-03 14:43:40 -0400 |
---|---|---|
committer | Ronald S. Bultje <rsbultje@gmail.com> | 2017-04-03 14:46:26 -0400 |
commit | eff2861a757b8a46398e6fcb844b960b4775daad (patch) | |
tree | 9b881d005cabb20f1549d589420a3b3e8ffae4e2 /libavcodec/pngdec.c | |
parent | de9c93bf5393090cc267d3fb9584512714e48606 (diff) | |
download | ffmpeg-eff2861a757b8a46398e6fcb844b960b4775daad.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)
Diffstat (limited to 'libavcodec/pngdec.c')
-rw-r--r-- | libavcodec/pngdec.c | 4 |
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; |