1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-28 20:53:54 +02:00
FFmpeg/tests/fate
Wan-Teh Chang 2170017a1c avutil: fix data race in av_get_cpu_flags()
Make the one-time initialization in av_get_cpu_flags() thread-safe. The
static variables |flags|, |cpuflags_mask|, and |checked| in
libavutil/cpu.c are read and written using normal load and store
operations. These are considered as data races. The fix is to use atomic
load and store operations.

Remove the |checked| variable because the invalid value of -1 for
|flags| can be used to indicate the same condition. Rename |flags| to
|cpu_flags| and move it to file scope.

The fix can be verified by running the libavutil/tests/cpu_init.c test
program under ThreadSanitizer:
    ./configure --toolchain=clang-tsan
    make libavutil/tests/cpu_init
    libavutil/tests/cpu_init

There should be no warnings from ThreadSanitizer.

Co-author: Dmitry Vyukov of Google, who suggested the data race fix.

Signed-off-by: Wan-Teh Chang <wtc@google.com>
2016-12-08 15:53:58 -05:00
..
aac.mak
ac3.mak
acodec.mak
adpcm.mak
alac.mak
als.mak
amrnb.mak
amrwb.mak
atrac.mak
audio.mak dca: change the core to work with integer coefficients. 2015-12-23 11:50:18 +01:00
avformat.mak
bmp.mak
canopus.mak fate: Move Canopus decoder tests to a separate file 2016-06-06 11:59:53 -04:00
cdxl.mak
checkasm.mak fate: checkasm: Split monolithic test into individual components 2016-11-08 17:32:25 +01:00
cover-art.mak
demux.mak fate: More fine-grained dependencies for demuxer tests 2016-05-25 15:16:38 +02:00
dfa.mak
dpcm.mak
ea.mak
fft.mak tests: Move all test programs to a subdirectory 2016-05-13 14:55:56 +02:00
filter-audio.mak
filter-video.mak build: Fix directory dependencies of tests/pixfmts.mak target 2016-09-05 13:21:13 +02:00
flac.mak
h264.mak fate: Add h264 and hevc extradata reload tests 2016-11-16 11:17:27 -05:00
hevc.mak fate: Add h264 and hevc extradata reload tests 2016-11-16 11:17:27 -05:00
image.mak fate: Add test for webp 2016-06-28 17:42:53 +02:00
indeo.mak fate: Add separate target for all indeo3 tests 2016-03-01 21:54:10 +01:00
libavcodec.mak tests: Move all test programs to a subdirectory 2016-05-13 14:55:56 +02:00
libavdevice.mak tests: Move all test programs to a subdirectory 2016-05-13 14:55:56 +02:00
libavformat.mak tests: Move all test programs to a subdirectory 2016-05-13 14:55:56 +02:00
libavresample.mak build: miscellaneous cosmetics 2016-04-07 15:26:08 +02:00
libavutil.mak avutil: fix data race in av_get_cpu_flags() 2016-12-08 15:53:58 -05:00
lossless-audio.mak
lossless-video.mak fate: Move Canopus decoder tests to a separate file 2016-06-06 11:59:53 -04:00
microsoft.mak fate: Add test for MTS2/MSS4 2016-05-02 16:12:04 +02:00
monkeysaudio.mak
mov.mak fate: Add spherical and stereo3d mov tests 2016-12-07 14:35:08 -05:00
mp3.mak fate/mp3: use the f32le format as output 2015-07-31 07:11:35 +02:00
mpc.mak
mpeg4.mak
opus.mak
pcm.mak
probe.mak
prores.mak
qt.mak
qtrle.mak
real.mak
screen.mak fate: Add test for rscc palette 2016-10-02 15:42:03 -04:00
seek.mak tests: Move all test programs to a subdirectory 2016-05-13 14:55:56 +02:00
utvideo.mak lavc: Move prediction_method to codec private options 2016-01-21 15:33:19 -05:00
vcodec.mak lavc: Move noise_reduction to codec private options 2016-01-21 15:33:19 -05:00
video.mak Replace leftover uses of -aframes|-dframes|-vframes with -frames:a|d|v 2016-10-22 16:50:41 +02:00
voice.mak fate: More fine-grained dependencies for voice codec tests 2016-05-25 15:16:25 +02:00
vorbis.mak
vpx.mak fate: Add TrueMotion 2 RT tests 2016-06-20 15:51:34 -04:00
vqf.mak
wavpack.mak avconv: use avcodec_parameters_copy() with streamcopy 2016-07-02 09:30:40 +02:00
wma.mak
xvid.mak