From: Johann Date: Thu, 27 Oct 2016 04:24:46 +0000 (-0700) Subject: partial_idct_test: add _add_ test X-Git-Tag: v1.6.1~138^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7994dba6c0f20f47a990a09e05a71bd73df74c69;p=platform%2Fupstream%2Flibvpx.git partial_idct_test: add _add_ test The result of the transform is added to the destination buffers. In the existing tests the destination buffer is always empty so that portion of the code was never exercised. Change-Id: I1858c4fed2274f1b9faf834d2ba4186a4510492a --- diff --git a/test/partial_idct_test.cc b/test/partial_idct_test.cc index c41813d..0c704c5 100644 --- a/test/partial_idct_test.cc +++ b/test/partial_idct_test.cc @@ -162,6 +162,30 @@ TEST_P(PartialIDctTest, ResultsMatch) { << "Error: partial inverse transform produces different results"; } } + +TEST_P(PartialIDctTest, AddOutputBlock) { + ACMRandom rnd(ACMRandom::DeterministicSeed()); + const int count_test_block = 10; + for (int i = 0; i < count_test_block; ++i) { + memset(input_block_, 0, sizeof(*input_block_) * block_size_); + for (int j = 0; j < last_nonzero_; ++j) { + input_block_[vp9_default_scan_orders[tx_size_].scan[j]] = 10; + } + + for (int j = 0; j < block_size_; ++j) { + output_block_[j] = output_block_ref_[j] = rnd.Rand8(); + } + + ASM_REGISTER_STATE_CHECK( + full_itxfm_(input_block_, output_block_ref_, size_)); + ASM_REGISTER_STATE_CHECK( + partial_itxfm_(input_block_, output_block_, size_)); + + ASSERT_EQ(0, memcmp(output_block_ref_, output_block_, + sizeof(*output_block_) * block_size_)) + << "Error: Transform results are not correctly added to output."; + } +} using std::tr1::make_tuple; INSTANTIATE_TEST_CASE_P(