[FFmpeg-devel] [PATCH] avcodec/h264_slice: don't sync default_ref[] between threads.

Ronald S. Bultje rsbultje at gmail.com
Fri Jul 28 00:22:24 EEST 2017


Hi,

On Tue, Jul 18, 2017 at 7:34 PM, Wan-Teh Chang <wtc-at-google.com at ffmpeg.org
> wrote:

> default_ref[] is unconditionally initialized in h264_initialise_ref_list()
> (called from ff_h264_build_ref_list(), called from h264_slice_init()).
>
> This fixes the following tsan warning when running fate-h264:
>
> WARNING: ThreadSanitizer: data race (pid=31070)
>   Write of size 8 at 0x7bbc000082a8 by thread T1 (mutexes: write M1628):
>     #0 memcpy /work/release-test/final/llvm.src/projects/compiler-rt/lib/
> tsan/../sanitizer_common/sanitizer_common_interceptors.inc:655:5
> (ffmpeg+0x10de9d)
>     #1 h264_initialise_ref_list ffmpeg/libavcodec/h264_refs.c:214:29
> (ffmpeg+0x1186b3f)
>     #2 ff_h264_build_ref_list ffmpeg/libavcodec/h264_refs.c:306
> (ffmpeg+0x1186b3f)
>     #3 h264_slice_init ffmpeg/libavcodec/h264_slice.c:1900:11
> (ffmpeg+0x1191149)
> [..]
>   Previous read of size 8 at 0x7bbc000082a8 by main thread (mutexes:
> write M1630):
>     #0 memcpy /work/release-test/final/llvm.src/projects/compiler-rt/lib/
> tsan/../sanitizer_common/sanitizer_common_interceptors.inc:655:5
> (ffmpeg+0x10de9d)
>     #1 ff_h264_update_thread_context ffmpeg/libavcodec/h264_slice.c:411:5
> (ffmpeg+0x118b7dc)
>
> Signed-off-by: Wan-Teh Chang <wtc at google.com>
> ---
>  libavcodec/h264_slice.c | 1 -
>  1 file changed, 1 deletion(-)


Pushed.

Ronald


More information about the ffmpeg-devel mailing list