Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(309)

Side by Side Diff: ui/gfx/color_transform_unittest.cc

Issue 2696603003: color: Towards ColorTransform optimizations and code generation (Closed)
Patch Set: Keep fixing the windows build Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ui/gfx/color_transform_fuzzer.cc ('k') | ui/gfx/skia_color_space_util.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2016 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2016 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 "base/logging.h" 5 #include "base/logging.h"
6 #include "testing/gtest/include/gtest/gtest.h" 6 #include "testing/gtest/include/gtest/gtest.h"
7 #include "ui/gfx/color_space.h" 7 #include "ui/gfx/color_space.h"
8 #include "ui/gfx/color_transform.h" 8 #include "ui/gfx/color_transform.h"
9 #include "ui/gfx/icc_profile.h" 9 #include "ui/gfx/icc_profile.h"
10 #include "ui/gfx/test/icc_profiles.h" 10 #include "ui/gfx/test/icc_profiles.h"
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 ColorTransform::Intent intents[] = {ColorTransform::Intent::INTENT_ABSOLUTE, 59 ColorTransform::Intent intents[] = {ColorTransform::Intent::INTENT_ABSOLUTE,
60 ColorTransform::Intent::TEST_NO_OPT}; 60 ColorTransform::Intent::TEST_NO_OPT};
61 61
62 TEST(SimpleColorSpace, BT709toSRGB) { 62 TEST(SimpleColorSpace, BT709toSRGB) {
63 ColorSpace bt709 = ColorSpace::CreateREC709(); 63 ColorSpace bt709 = ColorSpace::CreateREC709();
64 ColorSpace sRGB = ColorSpace::CreateSRGB(); 64 ColorSpace sRGB = ColorSpace::CreateSRGB();
65 std::unique_ptr<ColorTransform> t(ColorTransform::NewColorTransform( 65 std::unique_ptr<ColorTransform> t(ColorTransform::NewColorTransform(
66 bt709, sRGB, ColorTransform::Intent::INTENT_ABSOLUTE)); 66 bt709, sRGB, ColorTransform::Intent::INTENT_ABSOLUTE));
67 67
68 ColorTransform::TriStim tmp(16.0f / 255.0f, 0.5f, 0.5f); 68 ColorTransform::TriStim tmp(16.0f / 255.0f, 0.5f, 0.5f);
69 t->transform(&tmp, 1); 69 t->Transform(&tmp, 1);
70 EXPECT_NEAR(tmp.x(), 0.0f, 0.001f); 70 EXPECT_NEAR(tmp.x(), 0.0f, 0.001f);
71 EXPECT_NEAR(tmp.y(), 0.0f, 0.001f); 71 EXPECT_NEAR(tmp.y(), 0.0f, 0.001f);
72 EXPECT_NEAR(tmp.z(), 0.0f, 0.001f); 72 EXPECT_NEAR(tmp.z(), 0.0f, 0.001f);
73 73
74 tmp = ColorTransform::TriStim(235.0f / 255.0f, 0.5f, 0.5f); 74 tmp = ColorTransform::TriStim(235.0f / 255.0f, 0.5f, 0.5f);
75 t->transform(&tmp, 1); 75 t->Transform(&tmp, 1);
76 EXPECT_NEAR(tmp.x(), 1.0f, 0.001f); 76 EXPECT_NEAR(tmp.x(), 1.0f, 0.001f);
77 EXPECT_NEAR(tmp.y(), 1.0f, 0.001f); 77 EXPECT_NEAR(tmp.y(), 1.0f, 0.001f);
78 EXPECT_NEAR(tmp.z(), 1.0f, 0.001f); 78 EXPECT_NEAR(tmp.z(), 1.0f, 0.001f);
79 79
80 // Test a blue color 80 // Test a blue color
81 tmp = ColorTransform::TriStim(128.0f / 255.0f, 240.0f / 255.0f, 0.5f); 81 tmp = ColorTransform::TriStim(128.0f / 255.0f, 240.0f / 255.0f, 0.5f);
82 t->transform(&tmp, 1); 82 t->Transform(&tmp, 1);
83 EXPECT_GT(tmp.z(), tmp.x()); 83 EXPECT_GT(tmp.z(), tmp.x());
84 EXPECT_GT(tmp.z(), tmp.y()); 84 EXPECT_GT(tmp.z(), tmp.y());
85 } 85 }
86 86
87 TEST(SimpleColorSpace, SRGBFromICCAndNotICC) {
88 float kEpsilon = 0.001f;
89 ColorTransform::TriStim value_fromicc;
90 ColorTransform::TriStim value_default;
91
92 ICCProfile srgb_icc_profile = ICCProfileForTestingSRGB();
93 ColorSpace srgb_fromicc = srgb_icc_profile.GetColorSpace();
94 ColorSpace srgb_default = gfx::ColorSpace::CreateSRGB();
95 ColorSpace xyzd50 = gfx::ColorSpace::CreateXYZD50();
96
97 value_fromicc = value_default = ColorTransform::TriStim(0.1f, 0.5f, 0.9f);
98
99 std::unique_ptr<ColorTransform> toxyzd50_fromicc(
100 ColorTransform::NewColorTransform(
101 srgb_fromicc, xyzd50, ColorTransform::Intent::INTENT_ABSOLUTE));
102 // This will have 1 step, namely, the QCMS transform.
103 EXPECT_EQ(toxyzd50_fromicc->NumberOfStepsForTesting(), 1u);
104 toxyzd50_fromicc->Transform(&value_fromicc, 1);
105
106 std::unique_ptr<ColorTransform> toxyzd50_default(
107 ColorTransform::NewColorTransform(
108 srgb_default, xyzd50, ColorTransform::Intent::INTENT_ABSOLUTE));
109 // This will have a transfer function and then linear transform.
110 EXPECT_EQ(toxyzd50_default->NumberOfStepsForTesting(), 2u);
111 toxyzd50_default->Transform(&value_default, 1);
112
113 EXPECT_NEAR(value_fromicc.x(), value_default.x(), kEpsilon);
114 EXPECT_NEAR(value_fromicc.y(), value_default.y(), kEpsilon);
115 EXPECT_NEAR(value_fromicc.z(), value_default.z(), kEpsilon);
116
117 value_fromicc = value_default = ColorTransform::TriStim(0.1f, 0.5f, 0.9f);
118
119 std::unique_ptr<ColorTransform> fromxyzd50_fromicc(
120 ColorTransform::NewColorTransform(
121 xyzd50, srgb_fromicc, ColorTransform::Intent::INTENT_ABSOLUTE));
122 fromxyzd50_fromicc->Transform(&value_fromicc, 1);
123
124 std::unique_ptr<ColorTransform> fromxyzd50_default(
125 ColorTransform::NewColorTransform(
126 xyzd50, srgb_default, ColorTransform::Intent::INTENT_ABSOLUTE));
127 fromxyzd50_default->Transform(&value_default, 1);
128
129 EXPECT_NEAR(value_fromicc.x(), value_default.x(), kEpsilon);
130 EXPECT_NEAR(value_fromicc.y(), value_default.y(), kEpsilon);
131 EXPECT_NEAR(value_fromicc.z(), value_default.z(), kEpsilon);
132 }
133
87 TEST(SimpleColorSpace, BT709toSRGBICC) { 134 TEST(SimpleColorSpace, BT709toSRGBICC) {
88 ICCProfile srgb_icc = ICCProfileForTestingSRGB(); 135 ICCProfile srgb_icc = ICCProfileForTestingSRGB();
89 ColorSpace bt709 = ColorSpace::CreateREC709(); 136 ColorSpace bt709 = ColorSpace::CreateREC709();
90 ColorSpace sRGB = srgb_icc.GetColorSpace(); 137 ColorSpace sRGB = srgb_icc.GetColorSpace();
91 std::unique_ptr<ColorTransform> t(ColorTransform::NewColorTransform( 138 std::unique_ptr<ColorTransform> t(ColorTransform::NewColorTransform(
92 bt709, sRGB, ColorTransform::Intent::INTENT_ABSOLUTE)); 139 bt709, sRGB, ColorTransform::Intent::INTENT_ABSOLUTE));
93 140
94 ColorTransform::TriStim tmp(16.0f / 255.0f, 0.5f, 0.5f); 141 ColorTransform::TriStim tmp(16.0f / 255.0f, 0.5f, 0.5f);
95 t->transform(&tmp, 1); 142 t->Transform(&tmp, 1);
96 EXPECT_NEAR(tmp.x(), 0.0f, 0.001f); 143 EXPECT_NEAR(tmp.x(), 0.0f, 0.001f);
97 EXPECT_NEAR(tmp.y(), 0.0f, 0.001f); 144 EXPECT_NEAR(tmp.y(), 0.0f, 0.001f);
98 EXPECT_NEAR(tmp.z(), 0.0f, 0.001f); 145 EXPECT_NEAR(tmp.z(), 0.0f, 0.001f);
99 146
100 tmp = ColorTransform::TriStim(235.0f / 255.0f, 0.5f, 0.5f); 147 tmp = ColorTransform::TriStim(235.0f / 255.0f, 0.5f, 0.5f);
101 t->transform(&tmp, 1); 148 t->Transform(&tmp, 1);
102 EXPECT_NEAR(tmp.x(), 1.0f, 0.001f); 149 EXPECT_NEAR(tmp.x(), 1.0f, 0.001f);
103 EXPECT_NEAR(tmp.y(), 1.0f, 0.001f); 150 EXPECT_NEAR(tmp.y(), 1.0f, 0.001f);
104 EXPECT_NEAR(tmp.z(), 1.0f, 0.001f); 151 EXPECT_NEAR(tmp.z(), 1.0f, 0.001f);
105 152
106 // Test a blue color 153 // Test a blue color
107 tmp = ColorTransform::TriStim(128.0f / 255.0f, 240.0f / 255.0f, 0.5f); 154 tmp = ColorTransform::TriStim(128.0f / 255.0f, 240.0f / 255.0f, 0.5f);
108 t->transform(&tmp, 1); 155 t->Transform(&tmp, 1);
109 EXPECT_GT(tmp.z(), tmp.x()); 156 EXPECT_GT(tmp.z(), tmp.x());
110 EXPECT_GT(tmp.z(), tmp.y()); 157 EXPECT_GT(tmp.z(), tmp.y());
111 } 158 }
112 159
113 TEST(SimpleColorSpace, GetColorSpace) { 160 TEST(SimpleColorSpace, GetColorSpace) {
114 ICCProfile srgb_icc = ICCProfileForTestingSRGB(); 161 ICCProfile srgb_icc = ICCProfileForTestingSRGB();
115 ColorSpace sRGB = srgb_icc.GetColorSpace(); 162 ColorSpace sRGB = srgb_icc.GetColorSpace();
116 ColorSpace sRGB2 = sRGB; 163 ColorSpace sRGB2 = sRGB;
117 const float kEpsilon = 1.5f / 255.f; 164 const float kEpsilon = 1.5f / 255.f;
118 165
119 // Prevent sRGB2 from using a cached ICC profile. 166 // Prevent sRGB2 from using a cached ICC profile.
120 sRGB2.icc_profile_id_ = 0; 167 sRGB2.icc_profile_id_ = 0;
121 168
122 std::unique_ptr<ColorTransform> t(ColorTransform::NewColorTransform( 169 std::unique_ptr<ColorTransform> t(ColorTransform::NewColorTransform(
123 sRGB, sRGB2, ColorTransform::Intent::INTENT_ABSOLUTE)); 170 sRGB, sRGB2, ColorTransform::Intent::INTENT_ABSOLUTE));
124 171
125 ColorTransform::TriStim tmp(1.0f, 1.0f, 1.0f); 172 ColorTransform::TriStim tmp(1.0f, 1.0f, 1.0f);
126 t->transform(&tmp, 1); 173 t->Transform(&tmp, 1);
127 EXPECT_NEAR(tmp.x(), 1.0f, kEpsilon); 174 EXPECT_NEAR(tmp.x(), 1.0f, kEpsilon);
128 EXPECT_NEAR(tmp.y(), 1.0f, kEpsilon); 175 EXPECT_NEAR(tmp.y(), 1.0f, kEpsilon);
129 EXPECT_NEAR(tmp.z(), 1.0f, kEpsilon); 176 EXPECT_NEAR(tmp.z(), 1.0f, kEpsilon);
130 177
131 tmp = ColorTransform::TriStim(1.0f, 0.0f, 0.0f); 178 tmp = ColorTransform::TriStim(1.0f, 0.0f, 0.0f);
132 t->transform(&tmp, 1); 179 t->Transform(&tmp, 1);
133 EXPECT_NEAR(tmp.x(), 1.0f, kEpsilon); 180 EXPECT_NEAR(tmp.x(), 1.0f, kEpsilon);
134 EXPECT_NEAR(tmp.y(), 0.0f, kEpsilon); 181 EXPECT_NEAR(tmp.y(), 0.0f, kEpsilon);
135 EXPECT_NEAR(tmp.z(), 0.0f, kEpsilon); 182 EXPECT_NEAR(tmp.z(), 0.0f, kEpsilon);
136 183
137 tmp = ColorTransform::TriStim(0.0f, 1.0f, 0.0f); 184 tmp = ColorTransform::TriStim(0.0f, 1.0f, 0.0f);
138 t->transform(&tmp, 1); 185 t->Transform(&tmp, 1);
139 EXPECT_NEAR(tmp.x(), 0.0f, kEpsilon); 186 EXPECT_NEAR(tmp.x(), 0.0f, kEpsilon);
140 EXPECT_NEAR(tmp.y(), 1.0f, kEpsilon); 187 EXPECT_NEAR(tmp.y(), 1.0f, kEpsilon);
141 EXPECT_NEAR(tmp.z(), 0.0f, kEpsilon); 188 EXPECT_NEAR(tmp.z(), 0.0f, kEpsilon);
142 189
143 tmp = ColorTransform::TriStim(0.0f, 0.0f, 1.0f); 190 tmp = ColorTransform::TriStim(0.0f, 0.0f, 1.0f);
144 t->transform(&tmp, 1); 191 t->Transform(&tmp, 1);
145 EXPECT_NEAR(tmp.x(), 0.0f, kEpsilon); 192 EXPECT_NEAR(tmp.x(), 0.0f, kEpsilon);
146 EXPECT_NEAR(tmp.y(), 0.0f, kEpsilon); 193 EXPECT_NEAR(tmp.y(), 0.0f, kEpsilon);
147 EXPECT_NEAR(tmp.z(), 1.0f, kEpsilon); 194 EXPECT_NEAR(tmp.z(), 1.0f, kEpsilon);
148 } 195 }
149 196
150 TEST(SimpleColorSpace, UnknownToSRGB) { 197 TEST(SimpleColorSpace, UnknownToSRGB) {
151 ColorSpace unknown; 198 ColorSpace unknown;
152 ColorSpace sRGB = ColorSpace::CreateSRGB(); 199 ColorSpace sRGB = ColorSpace::CreateSRGB();
153 std::unique_ptr<ColorTransform> t(ColorTransform::NewColorTransform( 200 std::unique_ptr<ColorTransform> t(ColorTransform::NewColorTransform(
154 unknown, sRGB, ColorTransform::Intent::INTENT_PERCEPTUAL)); 201 unknown, sRGB, ColorTransform::Intent::INTENT_PERCEPTUAL));
155 202
156 ColorTransform::TriStim tmp(16.0f / 255.0f, 0.5f, 0.5f); 203 ColorTransform::TriStim tmp(16.0f / 255.0f, 0.5f, 0.5f);
157 t->transform(&tmp, 1); 204 t->Transform(&tmp, 1);
158 EXPECT_NEAR(tmp.x(), 0.0f, 0.001f); 205 EXPECT_NEAR(tmp.x(), 0.0f, 0.001f);
159 EXPECT_NEAR(tmp.y(), 0.0f, 0.001f); 206 EXPECT_NEAR(tmp.y(), 0.0f, 0.001f);
160 EXPECT_NEAR(tmp.z(), 0.0f, 0.001f); 207 EXPECT_NEAR(tmp.z(), 0.0f, 0.001f);
161 208
162 tmp = ColorTransform::TriStim(235.0f / 255.0f, 0.5f, 0.5f); 209 tmp = ColorTransform::TriStim(235.0f / 255.0f, 0.5f, 0.5f);
163 t->transform(&tmp, 1); 210 t->Transform(&tmp, 1);
164 EXPECT_NEAR(tmp.x(), 1.0f, 0.001f); 211 EXPECT_NEAR(tmp.x(), 1.0f, 0.001f);
165 EXPECT_NEAR(tmp.y(), 1.0f, 0.001f); 212 EXPECT_NEAR(tmp.y(), 1.0f, 0.001f);
166 EXPECT_NEAR(tmp.z(), 1.0f, 0.001f); 213 EXPECT_NEAR(tmp.z(), 1.0f, 0.001f);
167 214
168 // Test a blue color 215 // Test a blue color
169 tmp = ColorTransform::TriStim(128.0f / 255.0f, 240.0f / 255.0f, 0.5f); 216 tmp = ColorTransform::TriStim(128.0f / 255.0f, 240.0f / 255.0f, 0.5f);
170 t->transform(&tmp, 1); 217 t->Transform(&tmp, 1);
171 EXPECT_GT(tmp.z(), tmp.x()); 218 EXPECT_GT(tmp.z(), tmp.x());
172 EXPECT_GT(tmp.z(), tmp.y()); 219 EXPECT_GT(tmp.z(), tmp.y());
173 } 220 }
174 221
175 class TransferTest : public testing::TestWithParam<ColorSpace::TransferID> {}; 222 class TransferTest : public testing::TestWithParam<ColorSpace::TransferID> {};
176 223
177 TEST_P(TransferTest, basicTest) { 224 TEST_P(TransferTest, basicTest) {
225 gfx::ColorSpace space_with_transfer(ColorSpace::PrimaryID::BT709, GetParam(),
226 ColorSpace::MatrixID::RGB,
227 ColorSpace::RangeID::FULL);
228 gfx::ColorSpace space_linear(
229 ColorSpace::PrimaryID::BT709, ColorSpace::TransferID::LINEAR,
230 ColorSpace::MatrixID::RGB, ColorSpace::RangeID::FULL);
231
232 std::unique_ptr<ColorTransform> to_linear(ColorTransform::NewColorTransform(
233 space_with_transfer, space_linear,
234 ColorTransform::Intent::INTENT_ABSOLUTE));
235
236 std::unique_ptr<ColorTransform> from_linear(ColorTransform::NewColorTransform(
237 space_linear, space_with_transfer,
238 ColorTransform::Intent::INTENT_ABSOLUTE));
239
240 // The transforms will ahve 1 or 0 steps (0 for linear).
241 size_t expected_steps = 1u;
242 if (GetParam() == ColorSpace::TransferID::LINEAR)
243 expected_steps = 0u;
244 EXPECT_EQ(to_linear->NumberOfStepsForTesting(), expected_steps);
245 EXPECT_EQ(from_linear->NumberOfStepsForTesting(), expected_steps);
246
178 for (float x = 0.0f; x <= 1.0f; x += 1.0f / 128.0f) { 247 for (float x = 0.0f; x <= 1.0f; x += 1.0f / 128.0f) {
179 float linear = ColorTransform::ToLinearForTesting(GetParam(), x); 248 ColorTransform::TriStim tristim(x, x, x);
180 float x2 = ColorTransform::FromLinearForTesting(GetParam(), linear); 249 to_linear->Transform(&tristim, 1);
181 EXPECT_NEAR(x, x2, 0.001f); 250 from_linear->Transform(&tristim, 1);
251 EXPECT_NEAR(x, tristim.x(), 0.001f);
182 } 252 }
183 } 253 }
184 254
185 INSTANTIATE_TEST_CASE_P(ColorSpace, 255 INSTANTIATE_TEST_CASE_P(ColorSpace,
186 TransferTest, 256 TransferTest,
187 testing::ValuesIn(all_transfers)); 257 testing::ValuesIn(all_transfers));
188 258
189 typedef std::tr1::tuple<ColorSpace::PrimaryID, 259 typedef std::tr1::tuple<ColorSpace::PrimaryID,
190 ColorSpace::TransferID, 260 ColorSpace::TransferID,
191 ColorSpace::MatrixID, 261 ColorSpace::MatrixID,
(...skipping 12 matching lines...) Expand all
204 274
205 protected: 275 protected:
206 ColorSpace color_space_; 276 ColorSpace color_space_;
207 ColorTransform::Intent intent_; 277 ColorTransform::Intent intent_;
208 }; 278 };
209 279
210 TEST_P(ColorSpaceTest, testNullTransform) { 280 TEST_P(ColorSpaceTest, testNullTransform) {
211 std::unique_ptr<ColorTransform> t( 281 std::unique_ptr<ColorTransform> t(
212 ColorTransform::NewColorTransform(color_space_, color_space_, intent_)); 282 ColorTransform::NewColorTransform(color_space_, color_space_, intent_));
213 ColorTransform::TriStim tristim(0.4f, 0.5f, 0.6f); 283 ColorTransform::TriStim tristim(0.4f, 0.5f, 0.6f);
214 t->transform(&tristim, 1); 284 t->Transform(&tristim, 1);
215 EXPECT_NEAR(tristim.x(), 0.4f, 0.001f); 285 EXPECT_NEAR(tristim.x(), 0.4f, 0.001f);
216 EXPECT_NEAR(tristim.y(), 0.5f, 0.001f); 286 EXPECT_NEAR(tristim.y(), 0.5f, 0.001f);
217 EXPECT_NEAR(tristim.z(), 0.6f, 0.001f); 287 EXPECT_NEAR(tristim.z(), 0.6f, 0.001f);
218 } 288 }
219 289
220 TEST_P(ColorSpaceTest, toXYZandBack) { 290 TEST_P(ColorSpaceTest, toXYZandBack) {
221 std::unique_ptr<ColorTransform> t1(ColorTransform::NewColorTransform( 291 std::unique_ptr<ColorTransform> t1(ColorTransform::NewColorTransform(
222 color_space_, ColorSpace::CreateXYZD50(), intent_)); 292 color_space_, ColorSpace::CreateXYZD50(), intent_));
223 std::unique_ptr<ColorTransform> t2(ColorTransform::NewColorTransform( 293 std::unique_ptr<ColorTransform> t2(ColorTransform::NewColorTransform(
224 ColorSpace::CreateXYZD50(), color_space_, intent_)); 294 ColorSpace::CreateXYZD50(), color_space_, intent_));
225 ColorTransform::TriStim tristim(0.4f, 0.5f, 0.6f); 295 ColorTransform::TriStim tristim(0.4f, 0.5f, 0.6f);
226 t1->transform(&tristim, 1); 296 t1->Transform(&tristim, 1);
227 t2->transform(&tristim, 1); 297 t2->Transform(&tristim, 1);
228 EXPECT_NEAR(tristim.x(), 0.4f, 0.001f); 298 EXPECT_NEAR(tristim.x(), 0.4f, 0.001f);
229 EXPECT_NEAR(tristim.y(), 0.5f, 0.001f); 299 EXPECT_NEAR(tristim.y(), 0.5f, 0.001f);
230 EXPECT_NEAR(tristim.z(), 0.6f, 0.001f); 300 EXPECT_NEAR(tristim.z(), 0.6f, 0.001f);
231 } 301 }
232 302
233 INSTANTIATE_TEST_CASE_P( 303 INSTANTIATE_TEST_CASE_P(
234 A, 304 A,
235 ColorSpaceTest, 305 ColorSpaceTest,
236 testing::Combine(testing::ValuesIn(all_primaries), 306 testing::Combine(testing::ValuesIn(all_primaries),
237 testing::ValuesIn(all_transfers), 307 testing::ValuesIn(all_transfers),
(...skipping 12 matching lines...) Expand all
250 320
251 INSTANTIATE_TEST_CASE_P( 321 INSTANTIATE_TEST_CASE_P(
252 C, 322 C,
253 ColorSpaceTest, 323 ColorSpaceTest,
254 testing::Combine(testing::ValuesIn(all_primaries), 324 testing::Combine(testing::ValuesIn(all_primaries),
255 testing::Values(ColorSpace::TransferID::BT709), 325 testing::Values(ColorSpace::TransferID::BT709),
256 testing::ValuesIn(all_matrices), 326 testing::ValuesIn(all_matrices),
257 testing::ValuesIn(all_ranges), 327 testing::ValuesIn(all_ranges),
258 testing::ValuesIn(intents))); 328 testing::ValuesIn(intents)));
259 } // namespace 329 } // namespace
OLDNEW
« no previous file with comments | « ui/gfx/color_transform_fuzzer.cc ('k') | ui/gfx/skia_color_space_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698