Commit 6db4d93a authored by Ronald S. Bultje's avatar Ronald S. Bultje Committed by Gerrit Code Review
Browse files

Merge "change to properly account for coef scaling in unit tests" into experimental

parents 2d60bee1 95ee7f11
No related merge requests found
Showing with 24 additions and 1 deletion
...@@ -107,6 +107,19 @@ TEST(Vp8FdctTest, RoundTripErrorCheck) { ...@@ -107,6 +107,19 @@ TEST(Vp8FdctTest, RoundTripErrorCheck) {
// to test optimized versions of this function. // to test optimized versions of this function.
const int pitch = 8; const int pitch = 8;
vp8_short_fdct4x4_c(test_input_block, test_temp_block, pitch); vp8_short_fdct4x4_c(test_input_block, test_temp_block, pitch);
for (int j = 0; j < 16; ++j) {
if(test_temp_block[j] > 0) {
test_temp_block[j] += 2;
test_temp_block[j] /= 4;
test_temp_block[j] *= 4;
} else {
test_temp_block[j] -= 2;
test_temp_block[j] /= 4;
test_temp_block[j] *= 4;
}
}
// Because the bitstream is not frozen yet, use the idct in the codebase. // Because the bitstream is not frozen yet, use the idct in the codebase.
vp8_short_idct4x4llm_c(test_temp_block, test_output_block, pitch); vp8_short_idct4x4llm_c(test_temp_block, test_output_block, pitch);
...@@ -118,7 +131,6 @@ TEST(Vp8FdctTest, RoundTripErrorCheck) { ...@@ -118,7 +131,6 @@ TEST(Vp8FdctTest, RoundTripErrorCheck) {
total_error += error; total_error += error;
} }
} }
EXPECT_GE(1, max_error) EXPECT_GE(1, max_error)
<< "Error: FDCT/IDCT has an individual roundtrip error > 1"; << "Error: FDCT/IDCT has an individual roundtrip error > 1";
......
...@@ -101,6 +101,17 @@ TEST(VP8Fdct8x8Test, RoundTripErrorCheck) { ...@@ -101,6 +101,17 @@ TEST(VP8Fdct8x8Test, RoundTripErrorCheck) {
const int pitch = 16; const int pitch = 16;
vp8_short_fdct8x8_c(test_input_block, test_temp_block, pitch); vp8_short_fdct8x8_c(test_input_block, test_temp_block, pitch);
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;
} else {
test_temp_block[j] -= 2;
test_temp_block[j] /= 4;
test_temp_block[j] *= 4;
}
}
vp8_short_idct8x8_c(test_temp_block, test_output_block, pitch); vp8_short_idct8x8_c(test_temp_block, test_output_block, pitch);
for (int j = 0; j < 64; ++j) { for (int j = 0; j < 64; ++j) {
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment