ref: 7bc775d93dd4cfb6a80dc6afeb7fe5f7cd1a241b
parent: e8feb2932f1263679368687bd1380856a7081298
parent: e494df1a3769677138baf59536c42e2313822625
author: Yaowu Xu <[email protected]>
date: Thu Sep 5 04:14:44 EDT 2013
Merge "Added ClearSystemState in a unit test"
--- a/test/fdct8x8_test.cc
+++ b/test/fdct8x8_test.cc
@@ -13,14 +13,16 @@
#include <string.h>
#include "third_party/googletest/src/include/gtest/gtest.h"
+#include "test/clear_system_state.h"
+#include "test/register_state_check.h"
#include "vpx_ports/mem.h"
extern "C" {
-#include "vp9_rtcd.h"
-void vp9_short_idct8x8_add_c(short *input, uint8_t *output, int pitch);
+#include "./vp9_rtcd.h"
+void vp9_short_idct8x8_add_c(int16_t *input, uint8_t *output, int pitch);
}
-#include "acm_random.h"
+#include "test/acm_random.h"
#include "vpx/vpx_integer.h"
using libvpx_test::ACMRandom;
@@ -62,6 +64,7 @@
inv_txfm = iht8x8_add;
}
}
+ virtual void TearDown() { libvpx_test::ClearSystemState(); }
protected:
void RunFwdTxfm(int16_t *in, int16_t *out, uint8_t *dst,
@@ -92,9 +95,10 @@
// Initialize a test block with input range [-255, 255].
for (int j = 0; j < 64; ++j)
test_input_block[j] = rnd.Rand8() - rnd.Rand8();
+ REGISTER_STATE_CHECK(
+ RunFwdTxfm(test_input_block, test_output_block,
+ NULL, pitch, tx_type_));
- RunFwdTxfm(test_input_block, test_output_block, NULL, pitch, tx_type_);
-
for (int j = 0; j < 64; ++j) {
if (test_output_block[j] < 0)
++count_sign_block[j][0];
@@ -121,9 +125,10 @@
// Initialize a test block with input range [-15, 15].
for (int j = 0; j < 64; ++j)
test_input_block[j] = (rnd.Rand8() >> 4) - (rnd.Rand8() >> 4);
+ REGISTER_STATE_CHECK(
+ RunFwdTxfm(test_input_block, test_output_block,
+ NULL, pitch, tx_type_));
- RunFwdTxfm(test_input_block, test_output_block, NULL, pitch, tx_type_);
-
for (int j = 0; j < 64; ++j) {
if (test_output_block[j] < 0)
++count_sign_block[j][0];
@@ -165,9 +170,11 @@
test_input_block[j] = src[j] - dst[j];
const int pitch = 16;
- RunFwdTxfm(test_input_block, test_temp_block, dst, pitch, tx_type_);
- for (int j = 0; j < 64; ++j){
- if(test_temp_block[j] > 0) {
+ REGISTER_STATE_CHECK(
+ RunFwdTxfm(test_input_block, test_temp_block,
+ dst, pitch, tx_type_));
+ for (int j = 0; j < 64; ++j) {
+ if (test_temp_block[j] > 0) {
test_temp_block[j] += 2;
test_temp_block[j] /= 4;
test_temp_block[j] *= 4;
@@ -177,7 +184,9 @@
test_temp_block[j] *= 4;
}
}
- RunInvTxfm(test_input_block, test_temp_block, dst, pitch, tx_type_);
+ REGISTER_STATE_CHECK(
+ RunInvTxfm(test_input_block, test_temp_block,
+ dst, pitch, tx_type_));
for (int j = 0; j < 64; ++j) {
const int diff = dst[j] - src[j];
@@ -216,8 +225,12 @@
test_input_block[j] = src[j] - dst[j];
const int pitch = 16;
- RunFwdTxfm(test_input_block, test_temp_block, dst, pitch, tx_type_);
- RunInvTxfm(test_input_block, test_temp_block, dst, pitch, tx_type_);
+ REGISTER_STATE_CHECK(
+ RunFwdTxfm(test_input_block, test_temp_block,
+ dst, pitch, tx_type_));
+ REGISTER_STATE_CHECK(
+ RunInvTxfm(test_input_block, test_temp_block,
+ dst, pitch, tx_type_));
for (int j = 0; j < 64; ++j) {
const int diff = dst[j] - src[j];