summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--graphics/java/android/graphics/ColorSpace.java19
1 files changed, 12 insertions, 7 deletions
diff --git a/graphics/java/android/graphics/ColorSpace.java b/graphics/java/android/graphics/ColorSpace.java
index 99bebb8b9812..a2319a53a659 100644
--- a/graphics/java/android/graphics/ColorSpace.java
+++ b/graphics/java/android/graphics/ColorSpace.java
@@ -199,6 +199,8 @@ public abstract class ColorSpace {
private static final float[] SRGB_PRIMARIES = { 0.640f, 0.330f, 0.300f, 0.600f, 0.150f, 0.060f };
private static final float[] NTSC_1953_PRIMARIES = { 0.67f, 0.33f, 0.21f, 0.71f, 0.14f, 0.08f };
+ private static final float[] DCI_P3_PRIMARIES =
+ { 0.680f, 0.320f, 0.265f, 0.690f, 0.150f, 0.060f };
private static final float[] BT2020_PRIMARIES =
{ 0.708f, 0.292f, 0.170f, 0.797f, 0.131f, 0.046f };
/**
@@ -211,6 +213,9 @@ public abstract class ColorSpace {
private static final Rgb.TransferParameters SRGB_TRANSFER_PARAMETERS =
new Rgb.TransferParameters(1 / 1.055, 0.055 / 1.055, 1 / 12.92, 0.04045, 2.4);
+ private static final Rgb.TransferParameters SMPTE_170M_TRANSFER_PARAMETERS =
+ new Rgb.TransferParameters(1 / 1.099, 0.099 / 1.099, 1 / 4.5, 0.081, 1 / 0.45);
+
// HLG transfer with an SDR whitepoint of 203 nits
private static final Rgb.TransferParameters BT2020_HLG_TRANSFER_PARAMETERS =
new Rgb.TransferParameters(2.0, 2.0, 1 / 0.17883277, 0.28466892, 0.55991073,
@@ -1559,10 +1564,10 @@ public abstract class ColorSpace {
DataSpace.DATASPACE_SCRGB_LINEAR, Named.LINEAR_EXTENDED_SRGB.ordinal());
sNamedColorSpaces[Named.BT709.ordinal()] = new ColorSpace.Rgb(
"Rec. ITU-R BT.709-5",
- new float[] { 0.640f, 0.330f, 0.300f, 0.600f, 0.150f, 0.060f },
+ SRGB_PRIMARIES,
ILLUMINANT_D65,
null,
- new Rgb.TransferParameters(1 / 1.099, 0.099 / 1.099, 1 / 4.5, 0.081, 1 / 0.45),
+ SMPTE_170M_TRANSFER_PARAMETERS,
Named.BT709.ordinal()
);
sDataToColorSpaces.put(DataSpace.DATASPACE_BT709, Named.BT709.ordinal());
@@ -1577,7 +1582,7 @@ public abstract class ColorSpace {
sDataToColorSpaces.put(DataSpace.DATASPACE_BT2020, Named.BT2020.ordinal());
sNamedColorSpaces[Named.DCI_P3.ordinal()] = new ColorSpace.Rgb(
"SMPTE RP 431-2-2007 DCI (P3)",
- new float[] { 0.680f, 0.320f, 0.265f, 0.690f, 0.150f, 0.060f },
+ DCI_P3_PRIMARIES,
new float[] { 0.314f, 0.351f },
2.6,
0.0f, 1.0f,
@@ -1586,7 +1591,7 @@ public abstract class ColorSpace {
sDataToColorSpaces.put(DataSpace.DATASPACE_DCI_P3, Named.DCI_P3.ordinal());
sNamedColorSpaces[Named.DISPLAY_P3.ordinal()] = new ColorSpace.Rgb(
"Display P3",
- new float[] { 0.680f, 0.320f, 0.265f, 0.690f, 0.150f, 0.060f },
+ DCI_P3_PRIMARIES,
ILLUMINANT_D65,
null,
SRGB_TRANSFER_PARAMETERS,
@@ -1598,7 +1603,7 @@ public abstract class ColorSpace {
NTSC_1953_PRIMARIES,
ILLUMINANT_C,
null,
- new Rgb.TransferParameters(1 / 1.099, 0.099 / 1.099, 1 / 4.5, 0.081, 1 / 0.45),
+ SMPTE_170M_TRANSFER_PARAMETERS,
Named.NTSC_1953.ordinal()
);
sNamedColorSpaces[Named.SMPTE_C.ordinal()] = new ColorSpace.Rgb(
@@ -1606,7 +1611,7 @@ public abstract class ColorSpace {
new float[] { 0.630f, 0.340f, 0.310f, 0.595f, 0.155f, 0.070f },
ILLUMINANT_D65,
null,
- new Rgb.TransferParameters(1 / 1.099, 0.099 / 1.099, 1 / 4.5, 0.081, 1 / 0.45),
+ SMPTE_170M_TRANSFER_PARAMETERS,
Named.SMPTE_C.ordinal()
);
sNamedColorSpaces[Named.ADOBE_RGB.ordinal()] = new ColorSpace.Rgb(
@@ -3057,7 +3062,7 @@ public abstract class ColorSpace {
* primaries for such a ColorSpace does not make sense, so we use a special
* set of primaries that are all 1s.</p>
*
- * @return A new non-null array of 2 floats
+ * @return A new non-null array of 6 floats
*
* @see #getPrimaries(float[])
*/