diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2017-04-03 14:43:40 -0400 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2017-04-13 02:29:26 +0200 |
commit | e90de50195d4b4b61f3c2c4ea3bb8a09b433de8e (patch) | |
tree | 08e55f84dba14f4ae86c09206733ce1112b74a8a /libavcodec | |
parent | 51ca6fda0500da24e3d365c9dfce31bad42e8723 (diff) | |
download | ffmpeg-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>
Diffstat (limited to 'libavcodec')
-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; |