| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/test/pixel_comparator.h" | 5 #include "cc/test/pixel_comparator.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 | 10 |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 107 SkColor actual_color = actual_bmp.getColor(x, y); | 107 SkColor actual_color = actual_bmp.getColor(x, y); |
| 108 SkColor expected_color = expected_bmp.getColor(x, y); | 108 SkColor expected_color = expected_bmp.getColor(x, y); |
| 109 if (discard_alpha_) { | 109 if (discard_alpha_) { |
| 110 SkColorSetA(actual_color, 0); | 110 SkColorSetA(actual_color, 0); |
| 111 SkColorSetA(expected_color, 0); | 111 SkColorSetA(expected_color, 0); |
| 112 } | 112 } |
| 113 | 113 |
| 114 if (actual_color != expected_color) { | 114 if (actual_color != expected_color) { |
| 115 ++error_pixels_count; | 115 ++error_pixels_count; |
| 116 | 116 |
| 117 LOG(ERROR) << "Pixel error at x=" << x << " y=" << y << "; " | |
| 118 << "actual RGBA=(" | |
| 119 << SkColorGetR(actual_color) << "," | |
| 120 << SkColorGetG(actual_color) << "," | |
| 121 << SkColorGetB(actual_color) << "," | |
| 122 << SkColorGetA(actual_color) << "); " | |
| 123 << "expected RGBA=(" | |
| 124 << SkColorGetR(expected_color) << "," | |
| 125 << SkColorGetG(expected_color) << "," | |
| 126 << SkColorGetB(expected_color) << "," | |
| 127 << SkColorGetA(expected_color) << ")"; | |
| 128 | |
| 129 // Compute per channel errors | 117 // Compute per channel errors |
| 130 int error_r = SkColorGetR(actual_color) - SkColorGetR(expected_color); | 118 int error_r = SkColorGetR(actual_color) - SkColorGetR(expected_color); |
| 131 int error_g = SkColorGetG(actual_color) - SkColorGetG(expected_color); | 119 int error_g = SkColorGetG(actual_color) - SkColorGetG(expected_color); |
| 132 int error_b = SkColorGetB(actual_color) - SkColorGetB(expected_color); | 120 int error_b = SkColorGetB(actual_color) - SkColorGetB(expected_color); |
| 133 int error_a = SkColorGetA(actual_color) - SkColorGetA(expected_color); | 121 int error_a = SkColorGetA(actual_color) - SkColorGetA(expected_color); |
| 134 int abs_error_r = std::abs(error_r); | 122 int abs_error_r = std::abs(error_r); |
| 135 int abs_error_g = std::abs(error_g); | 123 int abs_error_g = std::abs(error_g); |
| 136 int abs_error_b = std::abs(error_b); | 124 int abs_error_b = std::abs(error_b); |
| 137 int abs_error_a = std::abs(error_a); | 125 int abs_error_a = std::abs(error_a); |
| 138 | 126 |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 197 LOG(ERROR) << "Average absolute error (excluding identical pixels): " | 185 LOG(ERROR) << "Average absolute error (excluding identical pixels): " |
| 198 << "R=" << avg_abs_error_r << " " | 186 << "R=" << avg_abs_error_r << " " |
| 199 << "G=" << avg_abs_error_g << " " | 187 << "G=" << avg_abs_error_g << " " |
| 200 << "B=" << avg_abs_error_b << " " | 188 << "B=" << avg_abs_error_b << " " |
| 201 << "A=" << avg_abs_error_a; | 189 << "A=" << avg_abs_error_a; |
| 202 LOG(ERROR) << "Largest absolute error: " | 190 LOG(ERROR) << "Largest absolute error: " |
| 203 << "R=" << max_abs_error_r << " " | 191 << "R=" << max_abs_error_r << " " |
| 204 << "G=" << max_abs_error_g << " " | 192 << "G=" << max_abs_error_g << " " |
| 205 << "B=" << max_abs_error_b << " " | 193 << "B=" << max_abs_error_b << " " |
| 206 << "A=" << max_abs_error_a; | 194 << "A=" << max_abs_error_a; |
| 195 |
| 196 for (int x = 0; x < actual_bmp.width(); ++x) { |
| 197 for (int y = 0; y < actual_bmp.height(); ++y) { |
| 198 SkColor actual_color = actual_bmp.getColor(x, y); |
| 199 SkColor expected_color = expected_bmp.getColor(x, y); |
| 200 if (discard_alpha_) { |
| 201 SkColorSetA(actual_color, 0); |
| 202 SkColorSetA(expected_color, 0); |
| 203 } |
| 204 if (actual_color != expected_color) { |
| 205 LOG(ERROR) << "Pixel error at x=" << x << " y=" << y << "; " |
| 206 << "actual RGBA=(" |
| 207 << SkColorGetR(actual_color) << "," |
| 208 << SkColorGetG(actual_color) << "," |
| 209 << SkColorGetB(actual_color) << "," |
| 210 << SkColorGetA(actual_color) << "); " |
| 211 << "expected RGBA=(" |
| 212 << SkColorGetR(expected_color) << "," |
| 213 << SkColorGetG(expected_color) << "," |
| 214 << SkColorGetB(expected_color) << "," |
| 215 << SkColorGetA(expected_color) << ")"; |
| 216 } |
| 217 } |
| 218 } |
| 219 |
| 207 return false; | 220 return false; |
| 208 } else { | 221 } else { |
| 209 return true; | 222 return true; |
| 210 } | 223 } |
| 211 } | 224 } |
| 212 | 225 |
| 213 } // namespace cc | 226 } // namespace cc |
| OLD | NEW |