169 colorants = {0.310, 0.316};
170 colorants.append({0.67, 0.33});
171 colorants.append({0.21, 0.71});
172 colorants.append({0.14, 0.08});
177 colorants = {0.3127, 0.3290};
178 colorants.append({0.64, 0.33});
179 colorants.append({0.29, 0.60});
180 colorants.append({0.1500, 0.06});
183 colorants = {0.3127, 0.3290};
184 colorants.append({0.630, 0.340});
185 colorants.append({0.310, 0.595});
186 colorants.append({0.155, 0.070});
189 colorants = {0.3127, 0.3290};
190 colorants.append({0.630, 0.340});
191 colorants.append({0.310, 0.595});
192 colorants.append({0.155, 0.070});
195 colorants = {0.310, 0.316};
196 colorants.append({0.681, 0.319});
197 colorants.append({0.243, 0.692});
198 colorants.append({0.145, 0.049});
203 colorants = {0.3127, 0.3290};
204 colorants.append({0.708012540607, 0.291993664388});
205 colorants.append({0.169991652439, 0.797007778423});
206 colorants.append({0.130997824007, 0.045996550894});
209 colorants = {1.0/3, 1.0/3};
210 colorants.append({1.0, 0});
211 colorants.append({0, 1.0});
212 colorants.append({0, 0});
215 colorants = {0.314, 0.351};
216 colorants.append({0.6800, 0.3200});
217 colorants.append({0.2650, 0.6900});
218 colorants.append({0.1500, 0.0600});
221 colorants = {0.3127, 0.3290};
222 colorants.append({0.6800, 0.3200});
223 colorants.append({0.2650, 0.6900});
224 colorants.append({0.1500, 0.0600});
227 colorants = {0.3127, 0.3290};
228 colorants.append({0.63, 0.34});
229 colorants.append({0.295, 0.605});
230 colorants.append({0.155, 0.077});
234 colorants = {0.3457, 0.3585};
235 colorants.append({0.7347, 0.2653});
236 colorants.append({0.1596, 0.8404});
237 colorants.append({0.0366, 0.0001});
241 colorants = {0.3127, 0.3290};
242 colorants.append({0.639996511, 0.329996864});
243 colorants.append({0.210005295, 0.710004866});
244 colorants.append({0.149997606, 0.060003644});
249 colorants = {0.3127, 0.3290};
250 colorants.append({0.639998686, 0.330010138});
251 colorants.append({0.300003784, 0.600003357});
252 colorants.append({0.150002046, 0.059997204});
262 const double error = 0.0001;
264 const bool isUniformTRC = (estimatedTRC[0] == estimatedTRC[1] && estimatedTRC[0] == estimatedTRC[2]);
268 }
else if (std::fabs(estimatedTRC[0] - (461.0 / 256.0)) < error) {
272 }
else if (std::fabs(estimatedTRC[0] - (563.0 / 256.0)) < error) {
275 }
else if (std::fabs(estimatedTRC[0] - 1.8) < error) {
277 }
else if (std::fabs(estimatedTRC[0] - 2.2) < error) {
279 }
else if (std::fabs(estimatedTRC[0] - 2.4) < error) {
281 }
else if (std::fabs(estimatedTRC[0] - 2.8) < error) {
285 static constexpr std::array<TransferCharacteristics, 12> trcList = {{
TRC_ITU_R_BT_709_5,
297 const auto characteristic =
299 return compareTRC(check, static_cast<float>(error));
301 if (characteristic != trcList.end()) {
302 d->characteristics = *characteristic;
306 return d->characteristics;