| Index: src/core/SkColorSpace_ICC.cpp
|
| diff --git a/src/core/SkColorSpace_ICC.cpp b/src/core/SkColorSpace_ICC.cpp
|
| index 92dcc0fcf5389985faf0f2d005eefdd7089b7d57..9ab1da007d16e8dee5aa5dae7b0a358d65effcb9 100755
|
| --- a/src/core/SkColorSpace_ICC.cpp
|
| +++ b/src/core/SkColorSpace_ICC.cpp
|
| @@ -260,14 +260,6 @@
|
| static float read_big_endian_16_dot_16(const uint8_t buf[4]) {
|
| // It just so happens that SkFixed is also 16.16!
|
| return SkFixedToFloat(read_big_endian_i32(buf));
|
| -}
|
| -
|
| -static inline float srgb_fn(float x) {
|
| - if (x <= 0.04045f) {
|
| - return x * (1.0f / 12.92f);
|
| - }
|
| -
|
| - return powf(x * (1.0f / 1.055f) + (0.055f / 1.055f), 2.4f);
|
| }
|
|
|
| /**
|
| @@ -378,35 +370,9 @@
|
| }
|
| }
|
|
|
| - // Perform a more robust check for sRGB. See if the table is a close
|
| - // match to an sRGB table. This is in addition to the previous sRGB
|
| - // checks for a couple reasons:
|
| - // (1) It is much slower.
|
| - // (2) The 26 entry "sRGB" curve is actually so inaccurate that it fails
|
| - // this check. But it still wants to be sRGB.
|
| - float x = 0.0f;
|
| - float dx = 1.0f / ((float) (count - 1));
|
| - for (uint32_t i = 0; i < count; i++) {
|
| - float y = srgb_fn(x);
|
| -
|
| - // Convert y to the same format as the table (0.16 fixed point), so we can
|
| - // compare values.
|
| - uint16_t srgbY = sk_float_round2int(y * (float) (1 << 16));
|
| - uint16_t actualY = read_big_endian_u16((const uint8_t*) &table[i]);
|
| -
|
| - // We allow "off by 1" curves to try to not be affected by rounding decisions.
|
| - if (SkTAbs((int32_t) srgbY - (int32_t) actualY) > 1) {
|
| - // Curve is not sRGB, will use table representation.
|
| - outData->fTable.fSize = count;
|
| - return SkGammas::Type::kTable_Type;
|
| - }
|
| -
|
| - x += dx;
|
| - }
|
| -
|
| - outData->fNamed = SkColorSpace::kSRGB_GammaNamed;
|
| - return SkGammas::Type::kNamed_Type;
|
| -
|
| + // Otherwise, we will represent gamma with a table.
|
| + outData->fTable.fSize = count;
|
| + return SkGammas::Type::kTable_Type;
|
| }
|
| case kTAG_ParaCurveType: {
|
| enum ParaCurveType {
|
|
|