From 4db2c229be8e4d243ca19fac4080cda1eeb22710 Mon Sep 17 00:00:00 2001 From: Romain Guy Date: Thu, 23 Feb 2017 15:12:47 -0800 Subject: [PATCH] Add CIECAT02 chromatic adaptation transform Bug: 32984164 Test: CtsGraphicsTestCases Change-Id: Id13ff88ab7a21901bd914ed740f859588099a18e --- api/current.txt | 1 + api/system-current.txt | 1 + api/test-current.txt | 1 + graphics/java/android/graphics/ColorSpace.java | 14 ++++++++++++-- 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/api/current.txt b/api/current.txt index 475aa546ce268..9ff9415e007dc 100644 --- a/api/current.txt +++ b/api/current.txt @@ -12572,6 +12572,7 @@ package android.graphics { method public static android.graphics.ColorSpace.Adaptation valueOf(java.lang.String); method public static final android.graphics.ColorSpace.Adaptation[] values(); enum_constant public static final android.graphics.ColorSpace.Adaptation BRADFORD; + enum_constant public static final android.graphics.ColorSpace.Adaptation CIECAT02; enum_constant public static final android.graphics.ColorSpace.Adaptation VON_KRIES; } diff --git a/api/system-current.txt b/api/system-current.txt index 529781ebb122e..f0187f5b5d335 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -13208,6 +13208,7 @@ package android.graphics { method public static android.graphics.ColorSpace.Adaptation valueOf(java.lang.String); method public static final android.graphics.ColorSpace.Adaptation[] values(); enum_constant public static final android.graphics.ColorSpace.Adaptation BRADFORD; + enum_constant public static final android.graphics.ColorSpace.Adaptation CIECAT02; enum_constant public static final android.graphics.ColorSpace.Adaptation VON_KRIES; } diff --git a/api/test-current.txt b/api/test-current.txt index fec5edc931e28..78db40c9bc66b 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -12609,6 +12609,7 @@ package android.graphics { method public static android.graphics.ColorSpace.Adaptation valueOf(java.lang.String); method public static final android.graphics.ColorSpace.Adaptation[] values(); enum_constant public static final android.graphics.ColorSpace.Adaptation BRADFORD; + enum_constant public static final android.graphics.ColorSpace.Adaptation CIECAT02; enum_constant public static final android.graphics.ColorSpace.Adaptation VON_KRIES; } diff --git a/graphics/java/android/graphics/ColorSpace.java b/graphics/java/android/graphics/ColorSpace.java index ec00c453c6d41..b1a433cbaaebb 100644 --- a/graphics/java/android/graphics/ColorSpace.java +++ b/graphics/java/android/graphics/ColorSpace.java @@ -805,7 +805,8 @@ public abstract class ColorSpace { */ public enum Adaptation { /** - * Bradford matrix for the von Kries chromatic adaptation transform. + * Bradford chromatic adaptation transform, as defined in the + * CIECAM97s color appearance model. */ BRADFORD(new float[] { 0.8951f, -0.7502f, 0.0389f, @@ -813,12 +814,21 @@ public abstract class ColorSpace { -0.1614f, 0.0367f, 1.0296f }), /** - * von Kries matrix for the von Kries chromatic adaptation transform. + * von Kries chromatic adaptation transform. */ VON_KRIES(new float[] { 0.40024f, -0.22630f, 0.00000f, 0.70760f, 1.16532f, 0.00000f, -0.08081f, 0.04570f, 0.91822f + }), + /** + * CIECAT02 chromatic adaption transform, as defined in the + * CIECAM02 color appearance model. + */ + CIECAT02(new float[] { + 0.7328f, -0.7036f, 0.0030f, + 0.4296f, 1.6975f, 0.0136f, + -0.1624f, 0.0061f, 0.9834f }); final float[] mTransform;