* Support HDR
* Support HDR
* When using SDWebImageProgressiveLoad and setting it to SDWebImageContextImageDecodeToHDR, it will be decoded to HDR only when loading is complete.
* When SDImageIOAnimatedCoder turns on incremental, it does not need to be decoded to HDR when it is not completed
* Sample image to remove sensitive information
* 1、use remote resources for HDR testing
2、add simulator log for HDR
* Support HDR encode
* Support HDR encode
* imageRef release error
* HDR Decoded is not required for decoding, otherwise the type will be lost
* HDR encode format
* hdrImageRef not released correctly
* HDR image must be lazy decode
* HDR image must be lazy decode
* JEPG HDR image must be lazy decode, otherwise it will crash
* HDR, encoding properties add kCGImageDestinationEncodeToISOGainmap, compatible with SDR displays while preserving HDR
* 支持 decode to HDR
* HDR encoding is not currently supported
* add UIImage.sd_isHighDynamicRange, use check UIImage is HDR
* refactor: Do not hack on HEICS and distinguish static/aniamted image encoding UTI
* refactor: Move cross-platform screen info into SDDeviceHelper
* change: Do not disable force decode when turn on decodeToHDR
Need actually check the HDR info of CGImage, or better, we can pre-decode to drop lazy HDR image
* change: use UIImage.imageRendererFormat when force decode using graphics renderer
This can inherit the possible info like dynamic range
* fix: When decode HDR image to SDR, need specify the decode request
Tested on macOS 14.5 and iOS 18.0 behavior
* test: Added unit test for HDR decoding
* demo: Update the macOS demo to show the HDR image
* test: workaround the SDR decode on Simulator environment
* change: The `sd_isHighDynamicRange` should check CGImage as fallback as well
* test: temp disable a unused test case
---------
Co-authored-by: DreamPiggy <lizhuoli1126@126.com>
This allows the animated image to apply post-transform
Currently we don't change the old `SDWebImageTransformAnimatedImage` behavior. This feature is opt-in
Merged SDWebImage iOS static + SDWebImage watchOS static targets into SDWebImage static target (supports all platforms)
Created dedicated SDWebImageMapKit target
All this is done for:
- ability to install via Carthage without MapKit dependency now we generate SDWebImage.framework and SDWebImageMapKit.framework so the users can choose to link against core or core+MapKit.
- simpler management of targets (no need to duplicate effort).
Replacement for #2078
Merged SDWebImage iOS + SDWebImage OSX + SDWebImage tvOS + SDWebImage watchOS targets into SDWebImage target (supports all platforms)
Merged SDWebImage iOS static + SDWebImage watchOS static targets into SDWebImage static target (supports all platforms)
Created dedicated SDWebImageMapKit target
All this is done for:
- ability to install via Carthage without MapKit dependency now we generate SDWebImage.framework and SDWebImageMapKit.framework so the users can choose to link against core or core+MapKit.
- simpler management of targets (no need to duplicate effort).
Replacement for #2078