hevc: fix race condition in max_ra/seq_decode.
authorRonald S. Bultje <rsbultje@gmail.com>
Wed, 24 May 2017 15:46:07 +0000 (11:46 -0400)
committerRonald S. Bultje <rsbultje@gmail.com>
Thu, 25 May 2017 14:29:07 +0000 (10:29 -0400)
commitca2209d67af0a73fe0edb2fce1cea2445dbfd8db
tree8195440acc607e5ae37d62f456c13b27e2299af6
parent4dc3714c48e74e75a3a9c7d9fb52fd5917107508
hevc: fix race condition in max_ra/seq_decode.

These variables are shared between frame threads, but they are updated
post-setup_finished() if a EOB/EOS slice type occurs. Moving the EOB/EOS
slices to the next frame thread instance (by parsing them leading into
the next picture instead of trailing behind the last picture) effectively
prevents this race condition.

This fixes tsan failures on hevc-conformance-NoOutPrior_A_Qualcomm_1.
libavcodec/hevc_parser.c
libavcodec/hevcdec.c