Index: src/core/SkColorSpace.cpp |
diff --git a/src/core/SkColorSpace.cpp b/src/core/SkColorSpace.cpp |
index e2f983f7b8a25696e1b0bdf05f47e1e31145d762..8f67a7f9580fed78ea359d2fae199e339fda7f6a 100644 |
--- a/src/core/SkColorSpace.cpp |
+++ b/src/core/SkColorSpace.cpp |
@@ -623,19 +623,19 @@ bool load_matrix(SkMatrix44* toXYZ, const uint8_t* src, size_t len) { |
array[ 0] = SkFixedToFloat(read_big_endian_int(src)); |
array[ 1] = SkFixedToFloat(read_big_endian_int(src + 4)); |
array[ 2] = SkFixedToFloat(read_big_endian_int(src + 8)); |
- array[ 3] = 0; |
+ array[ 3] = SkFixedToFloat(read_big_endian_int(src + 36)); // translate R |
array[ 4] = SkFixedToFloat(read_big_endian_int(src + 12)); |
array[ 5] = SkFixedToFloat(read_big_endian_int(src + 16)); |
array[ 6] = SkFixedToFloat(read_big_endian_int(src + 20)); |
- array[ 7] = 0; |
+ array[ 7] = SkFixedToFloat(read_big_endian_int(src + 40)); // translate G |
array[ 8] = SkFixedToFloat(read_big_endian_int(src + 24)); |
array[ 9] = SkFixedToFloat(read_big_endian_int(src + 28)); |
array[10] = SkFixedToFloat(read_big_endian_int(src + 32)); |
- array[11] = 0; |
- array[12] = SkFixedToFloat(read_big_endian_int(src + 36)); // translate R |
- array[13] = SkFixedToFloat(read_big_endian_int(src + 40)); // translate G |
- array[14] = SkFixedToFloat(read_big_endian_int(src + 44)); |
- array[15] = 1; |
+ array[11] = SkFixedToFloat(read_big_endian_int(src + 44)); // translate B |
+ array[12] = 0.0f; |
+ array[13] = 0.0f; |
+ array[14] = 0.0f; |
+ array[15] = 1.0f; |
toXYZ->setColMajorf(array); |
return true; |
} |