png: split header state and data state in two separate variables.
authorRonald S. Bultje <rsbultje@gmail.com>
Mon, 3 Apr 2017 14:08:29 +0000 (10:08 -0400)
committerRonald S. Bultje <rsbultje@gmail.com>
Mon, 3 Apr 2017 14:08:29 +0000 (10:08 -0400)
commit478f1c3d5e5463a284ea7efecfc62d47ba3be11a
treed10182a9ab2d039c6d91d36a5c05f1630578467b
parent1f50baa2b2da7fdbfccf0662883f38a763ff6619
png: split header state and data state in two separate variables.

Fixes a reported (but false) race condition in tsan for fate-apng:

WARNING: ThreadSanitizer: data race (pid=6274)
  Read of size 4 at 0x7d680001ec78 by main thread (mutexes: write M1338):
    #0 update_thread_context src/libavcodec/pngdec.c:1456 (ffmpeg+0x000000dacf0c)
[..]
  Previous write of size 4 at 0x7d680001ec78 by thread T1 (mutexes: write M1335):
    #0 decode_idat_chunk src/libavcodec/pngdec.c:737 (ffmpeg+0x000000dae951)
libavcodec/png.h
libavcodec/pngdec.c