OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) Research In Motion Limited 2009-2010. All rights reserved. | 2 * Copyright (C) Research In Motion Limited 2009-2010. All rights reserved. |
3 * | 3 * |
4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
5 * modify it under the terms of the GNU Library General Public | 5 * modify it under the terms of the GNU Library General Public |
6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
8 * | 8 * |
9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
237 // this frame is a blank frame, so it can again be decoded alone. | 237 // this frame is a blank frame, so it can again be decoded alone. |
238 // Otherwise, the previous frame contributes to this frame. | 238 // Otherwise, the previous frame contributes to this frame. |
239 return (prevBuffer->originalFrameRect().contains(IntRect(IntPoint(), siz e())) | 239 return (prevBuffer->originalFrameRect().contains(IntRect(IntPoint(), siz e())) |
240 || (prevBuffer->requiredPreviousFrameIndex() == kNotFound)) ? kNotFo und : prevFrame; | 240 || (prevBuffer->requiredPreviousFrameIndex() == kNotFound)) ? kNotFo und : prevFrame; |
241 default: | 241 default: |
242 ASSERT_NOT_REACHED(); | 242 ASSERT_NOT_REACHED(); |
243 return kNotFound; | 243 return kNotFound; |
244 } | 244 } |
245 } | 245 } |
246 | 246 |
247 #if USE(QCMSLIB) | |
248 ImageDecoder::OutputDeviceProfile::OutputDeviceProfile() : m_outputDeviceProfile (0) | |
249 { | |
250 ColorProfileStatus status = ColorProfileSuccess; | |
251 | |
252 ColorProfile profile = screenColorProfile(); | |
253 if (!profile.isEmpty()) { | |
254 if (ImageDecoder::isICCv4(profile.data(), profile.size())) { | |
255 status = ColorProfileIsV4; | |
Noel Gordon
2015/12/23 15:28:48
We don't seem to actually read / use the profile i
Justin Novosad
2015/12/23 15:58:10
The prupose is to track the prevalence of ICC v4 p
| |
256 } else { | |
257 m_outputDeviceProfile = qcms_profile_from_memory(profile.data(), pro file.size()); | |
258 if (!m_outputDeviceProfile) { | |
259 status = ColorProfileFailedDecode; | |
Noel Gordon
2015/12/23 15:28:48
ColorProfileFailedDecode -> ColorProfileInvalidCon
| |
260 } else { | |
261 if (qcms_profile_is_bogus(m_outputDeviceProfile)) { | |
262 status = ColorProfileIsBogus; | |
Noel Gordon
2015/12/23 15:28:48
ColorProfileIsBogus -> ColorProfileInvalidProfile
| |
263 qcms_profile_release(m_outputDeviceProfile); | |
264 m_outputDeviceProfile = 0; | |
265 } | |
266 } | |
267 } | |
268 } else { | |
269 status = ColorProfileNone; | |
Noel Gordon
2015/12/23 15:28:47
ColorProfileNone -> ColorProfileEmpty
the profile
| |
270 } | |
271 | |
272 Platform::current()->histogramEnumeration("ColorManagement.ColorProfileStatu s.Display", status, ColorProfileStatus::ValueCount); | |
273 | |
274 if (!m_outputDeviceProfile) | |
275 m_outputDeviceProfile = qcms_profile_sRGB(); | |
276 if (m_outputDeviceProfile) | |
277 qcms_profile_precache_output_transform(m_outputDeviceProfile); | |
278 } | |
279 #endif | |
280 | |
247 ImagePlanes::ImagePlanes() | 281 ImagePlanes::ImagePlanes() |
248 { | 282 { |
249 for (int i = 0; i < 3; ++i) { | 283 for (int i = 0; i < 3; ++i) { |
250 m_planes[i] = 0; | 284 m_planes[i] = 0; |
251 m_rowBytes[i] = 0; | 285 m_rowBytes[i] = 0; |
252 } | 286 } |
253 } | 287 } |
254 | 288 |
255 ImagePlanes::ImagePlanes(void* planes[3], size_t rowBytes[3]) | 289 ImagePlanes::ImagePlanes(void* planes[3], size_t rowBytes[3]) |
256 { | 290 { |
257 for (int i = 0; i < 3; ++i) { | 291 for (int i = 0; i < 3; ++i) { |
258 m_planes[i] = planes[i]; | 292 m_planes[i] = planes[i]; |
259 m_rowBytes[i] = rowBytes[i]; | 293 m_rowBytes[i] = rowBytes[i]; |
260 } | 294 } |
261 } | 295 } |
262 | 296 |
263 void* ImagePlanes::plane(int i) | 297 void* ImagePlanes::plane(int i) |
264 { | 298 { |
265 ASSERT((i >= 0) && i < 3); | 299 ASSERT((i >= 0) && i < 3); |
266 return m_planes[i]; | 300 return m_planes[i]; |
267 } | 301 } |
268 | 302 |
269 size_t ImagePlanes::rowBytes(int i) const | 303 size_t ImagePlanes::rowBytes(int i) const |
270 { | 304 { |
271 ASSERT((i >= 0) && i < 3); | 305 ASSERT((i >= 0) && i < 3); |
272 return m_rowBytes[i]; | 306 return m_rowBytes[i]; |
273 } | 307 } |
274 | 308 |
275 } // namespace blink | 309 } // namespace blink |
OLD | NEW |