aboutsummaryrefslogtreecommitdiffhomepage
path: root/dm
diff options
context:
space:
mode:
authorGravatar Brian Osman <brianosman@google.com>2018-05-23 11:52:00 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-05-23 16:18:41 +0000
commitc494a708be977a458a105318b2e2f439ab985ed8 (patch)
tree4d9008b567f72afb1d7a069c014331c6f1d62349 /dm
parentfe75169912d5df74d4aab44f5552a31bb5d9b907 (diff)
Use skcms for ICC parsing in HP codec test
Change-Id: I6319b00ae35a15ffeaf8a785dde874b730f42c13 Reviewed-on: https://skia-review.googlesource.com/129649 Commit-Queue: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@google.com> Auto-Submit: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
Diffstat (limited to 'dm')
-rw-r--r--dm/DMSrcSink.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/dm/DMSrcSink.cpp b/dm/DMSrcSink.cpp
index 52826ac00b..6378fabd3a 100644
--- a/dm/DMSrcSink.cpp
+++ b/dm/DMSrcSink.cpp
@@ -71,6 +71,10 @@
#include "SkXMLWriter.h"
#endif
+#if defined(SK_USE_SKCMS)
+ #include "skcms.h"
+#endif
+
#if SK_SUPPORT_GPU
#include "GrBackendSurface.h"
#include "GrContextPriv.h"
@@ -1084,7 +1088,14 @@ Error ColorCodecSrc::draw(SkCanvas* canvas) const {
if (kDst_sRGB_Mode == fMode) {
dstSpace = SkColorSpace::MakeSRGB();
} else if (kDst_HPZR30w_Mode == fMode) {
- dstSpace = SkColorSpace::MakeICC(dstData->data(), dstData->size());
+#if defined(SK_USE_SKCMS)
+ skcms_ICCProfile profile;
+ SkAssertResult(skcms_Parse(dstData->data(), dstData->size(), &profile));
+ dstSpace = SkColorSpace::Make(profile);
+ SkASSERT(dstSpace);
+#else
+ return "Cannot use ICC profile without skcms support.";
+#endif
}
SkImageInfo decodeInfo = codec->getInfo().makeColorType(fColorType).makeColorSpace(dstSpace);