diff options
author | Peter Boström <pbos@chromium.org> | 2017-09-01 05:37:51 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2017-09-01 05:37:51 +0000 |
commit | be2ba48cacdf867f648535b57b002fd7d25fe836 (patch) | |
tree | 57dce1a22699ef644b644c7a657116c7727d9ce3 | |
parent | 334e9abb0b05881edc59fb25e91b4efbede848ef (diff) | |
parent | 9ab4d9df387d3dd3881fae4d7af6215f37e3c9b8 (diff) | |
download | libvpx-be2ba48cacdf867f648535b57b002fd7d25fe836.tar libvpx-be2ba48cacdf867f648535b57b002fd7d25fe836.tar.gz libvpx-be2ba48cacdf867f648535b57b002fd7d25fe836.tar.bz2 libvpx-be2ba48cacdf867f648535b57b002fd7d25fe836.zip |
Merge "Prevent data race from low-pass filter."
-rw-r--r-- | test/datarate_test.cc | 14 | ||||
-rw-r--r-- | vp8/encoder/onyx_if.c | 10 |
2 files changed, 3 insertions, 21 deletions
diff --git a/test/datarate_test.cc b/test/datarate_test.cc index 8e93de6b9..a88f786c1 100644 --- a/test/datarate_test.cc +++ b/test/datarate_test.cc @@ -258,14 +258,6 @@ TEST_P(DatarateTestLarge, ChangingDropFrameThresh) { } } -// Disabled for tsan, see: -// https://bugs.chromium.org/p/webm/issues/detail?id=1049 -#if defined(__has_feature) -#if __has_feature(thread_sanitizer) -#define BUILDING_WITH_TSAN -#endif -#endif -#ifndef BUILDING_WITH_TSAN TEST_P(DatarateTestLarge, DropFramesMultiThreads) { denoiser_on_ = 0; cfg_.rc_buf_initial_sz = 500; @@ -285,7 +277,6 @@ TEST_P(DatarateTestLarge, DropFramesMultiThreads) { ASSERT_LE(cfg_.rc_target_bitrate, file_datarate_ * 1.4) << " The datarate for the file missed the target!"; } -#endif // !BUILDING_WITH_TSAN class DatarateTestRealTime : public DatarateTestLarge { public: @@ -402,10 +393,6 @@ TEST_P(DatarateTestRealTime, ChangingDropFrameThresh) { } } -// Disabled for tsan, see: -// https://bugs.chromium.org/p/webm/issues/detail?id=1049 - -#ifndef BUILDING_WITH_TSAN TEST_P(DatarateTestRealTime, DropFramesMultiThreads) { denoiser_on_ = 0; cfg_.rc_buf_initial_sz = 500; @@ -426,7 +413,6 @@ TEST_P(DatarateTestRealTime, DropFramesMultiThreads) { ASSERT_LE(cfg_.rc_target_bitrate, file_datarate_ * 1.4) << " The datarate for the file missed the target!"; } -#endif TEST_P(DatarateTestRealTime, GFBoost) { denoiser_on_ = 0; diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c index 725e000e2..2c2a783a9 100644 --- a/vp8/encoder/onyx_if.c +++ b/vp8/encoder/onyx_if.c @@ -4445,6 +4445,9 @@ static void encode_frame_to_data_rate(VP8_COMP *cpi, size_t *size, /* start loopfilter in separate thread */ sem_post(&cpi->h_event_start_lpf); cpi->b_lpf_running = 1; + /* wait for the filter_level to be picked so that we can continue with + * stream packing */ + sem_wait(&cpi->h_event_end_lpf); } else #endif { @@ -4464,13 +4467,6 @@ static void encode_frame_to_data_rate(VP8_COMP *cpi, size_t *size, } #endif -#if CONFIG_MULTITHREAD - /* wait that filter_level is picked so that we can continue with stream - * packing */ - if (vpx_atomic_load_acquire(&cpi->b_multi_threaded)) - sem_wait(&cpi->h_event_end_lpf); -#endif - /* build the bitstream */ vp8_pack_bitstream(cpi, dest, dest_end, size); |