From: Peter de Rivaz Date: Tue, 27 Oct 2015 10:50:00 +0000 (+0000) Subject: Accumulate EXT_TX counts for multithread X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=325b96dcacc6b01db991aa0b6ed707d199aca8d0;p=libvpx Accumulate EXT_TX counts for multithread EXT_TX introduces some new symbols to be decoded. The encoder counts how many times these are used. In multithreaded mode, the counts from the worker threads need to be accumulated into the main thread. This change means that VP10/VPxEncoderThreadTest now works with more choices of cpu-used and number of passes. Change-Id: Ibe7e6a3c58145265f4ead155ff98fb4cb37c3513 --- diff --git a/test/vp9_ethread_test.cc b/test/vp9_ethread_test.cc index 767c5c141..e621d847b 100644 --- a/test/vp9_ethread_test.cc +++ b/test/vp9_ethread_test.cc @@ -137,6 +137,6 @@ VP9_INSTANTIATE_TEST_CASE( VP10_INSTANTIATE_TEST_CASE( VPxEncoderThreadTest, - ::testing::Values(::libvpx_test::kTwoPassGood), - ::testing::Range(0, 1)); + ::testing::Values(::libvpx_test::kTwoPassGood, ::libvpx_test::kOnePassGood), + ::testing::Range(0, 9)); } // namespace diff --git a/vp10/common/thread_common.c b/vp10/common/thread_common.c index e83cb8e67..5523abbbd 100644 --- a/vp10/common/thread_common.c +++ b/vp10/common/thread_common.c @@ -435,6 +435,17 @@ void vp10_accumulate_frame_counts(VP10_COMMON *cm, FRAME_COUNTS *counts, comps->fp[i] += comps_t->fp[i]; } +#if CONFIG_EXT_TX + for (i = 0; i < EXT_TX_SIZES; i++) + for (j = 0; j < TX_TYPES; j++) + cm->counts.inter_tx_type[i][j] += counts->inter_tx_type[i][j]; + + for (i = 0; i < EXT_TX_SIZES; i++) + for (j = 0; j < INTRA_MODES; j++) + for (k = 0; k < TX_TYPES; k++) + cm->counts.intra_tx_type[i][j][k] += counts->intra_tx_type[i][j][k]; +#endif + #if CONFIG_MISC_FIXES for (i = 0; i < PREDICTION_PROBS; i++) for (j = 0; j < 2; j++)