skia2/src/codec
Leon Scroggins III 196f319b72 Allow decoding without color conversion
Bug: b/135133301

Especially for the Android NDK, which may not be able to report the
default profile, we should be able to decode the image without doing
any color correction. That way if the client wants to figure out
the color profile on their own (e.g. by parsing the data manually),
they can retrieve the un-corrected pixels and treat them appropriately.

Note that internally, we still require a destination profile for F16,
but we will use the source profile if there is one, or SRGB for source
and destination otherwise. Regardless, this will result in no color
correction.

Change-Id: Id1157bb99d3119a114b25f64b38620480a027f34
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/268157
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2020-02-03 18:21:35 +00:00
..
SkAndroidCodec.cpp DCI-P3 -> Display P3 in Skia 2020-01-16 21:24:16 +00:00
SkAndroidCodecAdapter.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkAndroidCodecAdapter.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkBmpBaseCodec.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkBmpBaseCodec.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkBmpCodec.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkBmpCodec.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkBmpMaskCodec.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkBmpMaskCodec.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkBmpRLECodec.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkBmpRLECodec.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkBmpStandardCodec.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkBmpStandardCodec.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkCodec.cpp Allow decoding without color conversion 2020-02-03 18:21:35 +00:00
SkCodecAnimationPriv.h Make SkCodec more flexible about its required frame 2017-06-07 20:15:17 +00:00
SkCodecImageGenerator.cpp use std::make_unique 2019-12-12 22:32:45 +00:00
SkCodecImageGenerator.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkCodecPriv.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkColorTable.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkColorTable.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkEncodedInfo.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkFrameHolder.h header self-sufficiency and idempotency 2019-06-26 19:12:43 +00:00
SkHeifCodec.cpp heif: Update to actual frame duration when the frame is decoded 2019-08-26 18:56:21 +00:00
SkHeifCodec.h heif: Update to actual frame duration when the frame is decoded 2019-08-26 18:56:21 +00:00
SkIcoCodec.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkIcoCodec.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkJpegCodec.cpp Move is_orientation_marker into its own file 2019-09-24 17:08:03 +00:00
SkJpegCodec.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkJpegDecoderMgr.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkJpegDecoderMgr.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkJpegPriv.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkJpegUtility.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkJpegUtility.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkMasks.cpp Remove 565 mask data from GrStrikeCache to constexpr varialbe 2020-02-03 16:27:05 +00:00
SkMasks.h Remove 565 mask data from GrStrikeCache to constexpr varialbe 2020-02-03 16:27:05 +00:00
SkMaskSwizzler.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkMaskSwizzler.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkParseEncodedOrigin.cpp Move is_orientation_marker into its own file 2019-09-24 17:08:03 +00:00
SkParseEncodedOrigin.h Move is_orientation_marker into its own file 2019-09-24 17:08:03 +00:00
SkPngCodec.cpp Revert "manually register codecs in DM" 2019-05-15 22:03:02 +00:00
SkPngCodec.h Revert "manually register codecs in DM" 2019-05-15 22:03:02 +00:00
SkPngPriv.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkRawCodec.cpp use std::make_unique 2019-12-12 22:32:45 +00:00
SkRawCodec.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSampledCodec.cpp Reland "Reland "SkSurface asynchronous read APIs allow client to extend pixel lifetime"" 2019-10-03 19:14:22 +00:00
SkSampledCodec.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSampler.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSampler.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkScalingCodec.h header self-sufficiency and idempotency 2019-06-26 19:12:43 +00:00
SkStreamBuffer.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkStreamBuffer.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkStubHeifDecoderAPI.h Remove SK_LEGACY_HEIF_API 2019-08-22 16:28:29 +00:00
SkSwizzler.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSwizzler.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkWbmpCodec.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkWbmpCodec.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkWebpCodec.cpp use std::make_unique 2019-12-12 22:32:45 +00:00
SkWebpCodec.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkWuffsCodec.cpp Have SkWuffsCodec.cpp link to Wuffs API docs 2019-12-16 15:06:04 +00:00
SkWuffsCodec.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00