[FFmpeg-devel] [PATCH 01/14] avcodec/ffv1dec: Remove redundant writes, fix races

Anton Khirnov anton at khirnov.net
Sun Apr 25 13:58:53 EEST 2021


Quoting Andreas Rheinhardt (2021-04-24 12:53:24)
> Every modification of the data that is copied in update_thread_context()
> is a data race if it happens after ff_thread_finish_setup. ffv1dec's
> update_thread_context() simply uses memcpy for updating the new context,
> so that every modification of the src's context is a race.
> Some of these modifications are unnecessary: picture_number is write-only
> for the decoder and cur will be reset when decoding the next frame anyway.
> So remove them. And while just at it, also don't set cur for the slice
> contexts as this variable is write-only.
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
> Weirdly ubitux's TSAN fate-box (which uses frame threading by default)
> does not show any failing FFV1 tests; although (Clang-)TSAN does it
> for me and it is totally obvious that these are data races.

Ok

-- 
Anton Khirnov


More information about the ffmpeg-devel mailing list