From 1ba310017c589c43a85122d39a706d8a5e2d7d91 Mon Sep 17 00:00:00 2001 From: Dan Field Date: Tue, 28 Jul 2020 17:46:02 -0700 Subject: [PATCH] support fallback codecs on Windows, macOS, iOS (#19989) --- lib/ui/painting.dart | 15 +++- lib/ui/painting/image_decoder.cc | 4 +- lib/ui/painting/image_decoder_unittests.cc | 3 +- lib/ui/painting/image_descriptor.cc | 82 +++++++++++++++++++-- lib/ui/painting/image_descriptor.h | 24 +++--- testing/dart/image_descriptor_test.dart | 13 ++++ testing/resources/grill_chicken.heic | Bin 0 -> 62443 bytes 7 files changed, 118 insertions(+), 23 deletions(-) create mode 100644 testing/resources/grill_chicken.heic diff --git a/lib/ui/painting.dart b/lib/ui/painting.dart index 1da73e4180..a37478dabe 100644 --- a/lib/ui/painting.dart +++ b/lib/ui/painting.dart @@ -20,7 +20,10 @@ part of dart.ui; // Update this list when changing the list of supported codecs. /// {@template flutter.dart:ui.imageFormats} -/// JPEG, PNG, GIF, Animated GIF, WebP, Animated WebP, BMP, and WBMP +/// JPEG, PNG, GIF, Animated GIF, WebP, Animated WebP, BMP, and WBMP. Additional +/// formats may be supported by the underlying platform. Flutter will +/// attempt to call platform API to decode unrecognized formats, and if the +/// platform API supports decoding the image Flutter will be able to render it. /// {@endtemplate} bool _rectIsValid(Rect rect) { @@ -1557,7 +1560,7 @@ enum PixelFormat { /// Opaque handle to raw decoded image data (pixels). /// -/// To obtain an [Image] object, use [instantiateImageCodec]. +/// To obtain an [Image] object, use the [ImageDescriptor] API. /// /// To draw an [Image], use one of the methods on the [Canvas] class, such as /// [Canvas.drawImage]. @@ -1565,6 +1568,9 @@ enum PixelFormat { /// See also: /// /// * [Image](https://api.flutter.dev/flutter/widgets/Image-class.html), the class in the [widgets] library. +/// * [ImageDescriptor], which allows reading information about the image and +/// creating a codec to decode it. +/// * [instantiateImageCodec], a utility method that wraps [ImageDescriptor]. /// @pragma('vm:entry-point') class Image extends NativeFieldWrapperClass2 { @@ -1678,6 +1684,11 @@ class Codec extends NativeFieldWrapperClass2 { /// Instantiates an image [Codec]. /// +/// This method is a convenience wrapper around the [ImageDescriptor] API, and +/// using [ImageDescriptor] directly is preferred since it allows the caller to +/// make better determinations about how and whether to use the `targetWidth` +/// and `targetHeight` parameters. +/// /// The `list` parameter is the binary image data (e.g a PNG or GIF binary data). /// The data can be for either static or animated images. The following image /// formats are supported: {@macro flutter.dart:ui.imageFormats} diff --git a/lib/ui/painting/image_decoder.cc b/lib/ui/painting/image_decoder.cc index 7fe26cec55..a2de0185bb 100644 --- a/lib/ui/painting/image_decoder.cc +++ b/lib/ui/painting/image_decoder.cc @@ -105,7 +105,7 @@ sk_sp ImageFromCompressedData(fml::RefPtr descriptor, if (!descriptor->should_resize(target_width, target_height)) { // No resizing requested. Just decode & rasterize the image. - return SkImage::MakeFromEncoded(descriptor->data())->makeRasterImage(); + return descriptor->image()->makeRasterImage(); } const SkISize source_dimensions = descriptor->image_info().dimensions(); @@ -149,7 +149,7 @@ sk_sp ImageFromCompressedData(fml::RefPtr descriptor, } } - auto image = SkImage::MakeFromEncoded(descriptor->data()); + auto image = descriptor->image(); if (!image) { return nullptr; } diff --git a/lib/ui/painting/image_decoder_unittests.cc b/lib/ui/painting/image_decoder_unittests.cc index 87c62857f2..b3572a5cff 100644 --- a/lib/ui/painting/image_decoder_unittests.cc +++ b/lib/ui/painting/image_decoder_unittests.cc @@ -165,7 +165,8 @@ TEST_F(ImageDecoderFixtureTest, InvalidImageResultsError) { ASSERT_FALSE(data); fml::RefPtr image_descriptor = - fml::MakeRefCounted(std::move(data), nullptr); + fml::MakeRefCounted(std::move(data), + std::unique_ptr(nullptr)); ImageDecoder::ImageResult callback = [&](SkiaGPUObject image) { ASSERT_TRUE(runners.GetUITaskRunner()->RunsTasksOnCurrentThread()); diff --git a/lib/ui/painting/image_descriptor.cc b/lib/ui/painting/image_descriptor.cc index e63e39d42b..76cd577c13 100644 --- a/lib/ui/painting/image_descriptor.cc +++ b/lib/ui/painting/image_descriptor.cc @@ -4,6 +4,7 @@ #include "flutter/lib/ui/painting/image_descriptor.h" +#include "flutter/fml/build_config.h" #include "flutter/fml/logging.h" #include "flutter/fml/trace_event.h" #include "flutter/lib/ui/painting/codec.h" @@ -11,10 +12,22 @@ #include "flutter/lib/ui/painting/multi_frame_codec.h" #include "flutter/lib/ui/painting/single_frame_codec.h" #include "flutter/lib/ui/ui_dart_state.h" -#include "third_party/skia/src/codec/SkCodecImageGenerator.h" #include "third_party/tonic/dart_binding_macros.h" #include "third_party/tonic/logging/dart_invoke.h" +#ifdef OS_MACOSX +#include "third_party/skia/include/ports/SkImageGeneratorCG.h" +#define PLATFORM_IMAGE_GENERATOR(data) \ + SkImageGeneratorCG::MakeFromEncodedCG(data) +#elif OS_WIN +#include "third_party/skia/include/ports/SkImageGeneratorWIC.h" +#define PLATFORM_IMAGE_GENERATOR(data) \ + SkImageGeneratorWIC::MakeFromEncodedWIC(data) +#else +#define PLATFORM_IMAGE_GENERATOR(data) \ + std::unique_ptr(nullptr) +#endif + namespace flutter { IMPLEMENT_WRAPPERTYPEINFO(ui, ImageDescriptor); @@ -35,10 +48,13 @@ void ImageDescriptor::RegisterNatives(tonic::DartLibraryNatives* natives) { } const SkImageInfo ImageDescriptor::CreateImageInfo() const { - if (!generator_) { - return SkImageInfo::MakeUnknown(); + if (generator_) { + return generator_->getInfo(); + } + if (platform_image_generator_) { + return platform_image_generator_->getInfo(); } - return generator_->getInfo(); + return SkImageInfo::MakeUnknown(); } ImageDescriptor::ImageDescriptor(sk_sp buffer, @@ -46,6 +62,7 @@ ImageDescriptor::ImageDescriptor(sk_sp buffer, std::optional row_bytes) : buffer_(std::move(buffer)), generator_(nullptr), + platform_image_generator_(nullptr), image_info_(std::move(image_info)), row_bytes_(row_bytes) {} @@ -56,6 +73,15 @@ ImageDescriptor::ImageDescriptor(sk_sp buffer, static_cast( SkCodecImageGenerator::MakeFromCodec(std::move(codec)) .release()))), + platform_image_generator_(nullptr), + image_info_(CreateImageInfo()), + row_bytes_(std::nullopt) {} + +ImageDescriptor::ImageDescriptor(sk_sp buffer, + std::unique_ptr generator) + : buffer_(std::move(buffer)), + generator_(nullptr), + platform_image_generator_(std::move(generator)), image_info_(CreateImageInfo()), row_bytes_(std::nullopt) {} @@ -77,15 +103,28 @@ void ImageDescriptor::initEncoded(Dart_NativeArguments args) { return; } + // This call will succeed if Skia has a built-in codec for this. + // If it fails, we will check if the platform knows how to decode this image. std::unique_ptr codec = SkCodec::MakeFromData(immutable_buffer->data()); + fml::RefPtr descriptor; if (!codec) { - Dart_SetReturnValue(args, tonic::ToDart("Invalid image data")); - return; + std::unique_ptr generator = + PLATFORM_IMAGE_GENERATOR(immutable_buffer->data()); + if (!generator) { + // We don't have a Skia codec for this image, and the platform doesn't + // know how to decode it. + Dart_SetReturnValue(args, tonic::ToDart("Invalid image data")); + return; + } + descriptor = fml::MakeRefCounted(immutable_buffer->data(), + std::move(generator)); + } else { + descriptor = fml::MakeRefCounted(immutable_buffer->data(), + std::move(codec)); } - auto descriptor = fml::MakeRefCounted( - immutable_buffer->data(), std::move(codec)); + FML_DCHECK(descriptor); descriptor->AssociateWithDartWrapper(descriptor_handle); tonic::DartInvoke(callback_handle, {Dart_TypeVoid()}); @@ -128,4 +167,31 @@ void ImageDescriptor::instantiateCodec(Dart_Handle codec_handle, } ui_codec->AssociateWithDartWrapper(codec_handle); } + +sk_sp ImageDescriptor::image() const { + SkBitmap bitmap; + if (!bitmap.tryAllocPixels(image_info_)) { + FML_LOG(ERROR) << "Failed to allocate memory for bitmap of size " + << image_info_.computeMinByteSize() << "B"; + return nullptr; + } + + const auto& pixmap = bitmap.pixmap(); + if (!get_pixels(pixmap)) { + FML_LOG(ERROR) << "Failed to get pixels for image."; + return nullptr; + } + bitmap.setImmutable(); + return SkImage::MakeFromBitmap(bitmap); +} + +bool ImageDescriptor::get_pixels(const SkPixmap& pixmap) const { + if (generator_) { + return generator_->getPixels(pixmap.info(), pixmap.writable_addr(), + pixmap.rowBytes()); + } + FML_DCHECK(platform_image_generator_); + return platform_image_generator_->getPixels(pixmap); +} + } // namespace flutter diff --git a/lib/ui/painting/image_descriptor.h b/lib/ui/painting/image_descriptor.h index 15ada34152..f644f29c48 100644 --- a/lib/ui/painting/image_descriptor.h +++ b/lib/ui/painting/image_descriptor.h @@ -13,6 +13,7 @@ #include "flutter/lib/ui/dart_wrapper.h" #include "flutter/lib/ui/painting/immutable_buffer.h" #include "third_party/skia/include/codec/SkCodec.h" +#include "third_party/skia/include/core/SkImageGenerator.h" #include "third_party/skia/include/core/SkImageInfo.h" #include "third_party/skia/src/codec/SkCodecImageGenerator.h" #include "third_party/tonic/dart_library_natives.h" @@ -81,31 +82,31 @@ class ImageDescriptor : public RefCountedDartWrappable { /// The underlying buffer for this image. sk_sp data() const { return buffer_; } + sk_sp image() const; + /// Whether this descriptor represents compressed (encoded) data or not. - bool is_compressed() const { return !!generator_; } + bool is_compressed() const { return generator_ || platform_image_generator_; } /// The orientation corrected image info for this image. const SkImageInfo& image_info() const { return image_info_; } + /// Gets the scaled dimensions of this image, if backed by a codec that can + /// perform efficient subpixel scaling. SkISize get_scaled_dimensions(float scale) { - if (!generator_) { - FML_DCHECK(false); - return image_info_.dimensions(); + if (generator_) { + return generator_->getScaledDimensions(scale); } - return generator_->getScaledDimensions(scale); + return image_info_.dimensions(); } /// Gets pixels for this image transformed based on the EXIF orientation tag, /// if applicable. - bool get_pixels(const SkPixmap& pixmap) const { - FML_DCHECK(generator_); - return generator_->getPixels(pixmap.info(), pixmap.writable_addr(), - pixmap.rowBytes()); - } + bool get_pixels(const SkPixmap& pixmap) const; void dispose() { ClearDartWrapper(); generator_.reset(); + platform_image_generator_.reset(); } size_t GetAllocationSize() const override { @@ -119,9 +120,12 @@ class ImageDescriptor : public RefCountedDartWrappable { const SkImageInfo& image_info, std::optional row_bytes); ImageDescriptor(sk_sp buffer, std::unique_ptr codec); + ImageDescriptor(sk_sp buffer, + std::unique_ptr generator); sk_sp buffer_; std::shared_ptr generator_; + std::unique_ptr platform_image_generator_; const SkImageInfo image_info_; std::optional row_bytes_; diff --git a/testing/dart/image_descriptor_test.dart b/testing/dart/image_descriptor_test.dart index 67ad8b28e9..ad63e5c5b7 100644 --- a/testing/dart/image_descriptor_test.dart +++ b/testing/dart/image_descriptor_test.dart @@ -70,6 +70,19 @@ void main() { final Codec codec = await descriptor.instantiateCodec(); expect(codec.frameCount, 1); }); + + test('HEIC image', () async { + final Uint8List bytes = await readFile('grill_chicken.heic'); + final ImmutableBuffer buffer = await ImmutableBuffer.fromUint8List(bytes); + final ImageDescriptor descriptor = await ImageDescriptor.encoded(buffer); + + expect(descriptor.width, 300); + expect(descriptor.height, 400); + expect(descriptor.bytesPerPixel, 4); + + final Codec codec = await descriptor.instantiateCodec(); + expect(codec.frameCount, 1); + }, skip: !(Platform.isIOS || Platform.isMacOS || Platform.isWindows)); } Future readFile(String fileName, ) async { diff --git a/testing/resources/grill_chicken.heic b/testing/resources/grill_chicken.heic new file mode 100644 index 0000000000000000000000000000000000000000..fe41a6e717e4b061e8a4a2e969f01a696a55a12f GIT binary patch literal 62443 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 Xiq&RmhfEa^4!L3jJY43)Y(8Uv