<< "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(