Index: third_party/WebKit/Source/platform/graphics/ImageFrameGenerator.h |
diff --git a/third_party/WebKit/Source/platform/graphics/ImageFrameGenerator.h b/third_party/WebKit/Source/platform/graphics/ImageFrameGenerator.h |
index a177341eb26952ef934cffeeb18943f947fa3976..ad79c15693af2019680c3eaf40d84876ea35cbb8 100644 |
--- a/third_party/WebKit/Source/platform/graphics/ImageFrameGenerator.h |
+++ b/third_party/WebKit/Source/platform/graphics/ImageFrameGenerator.h |
@@ -77,7 +77,7 @@ public: |
// Decodes and scales the specified frame at |index|. The dimensions and output |
// format are given in SkImageInfo. Decoded pixels are written into |pixels| with |
// a stride of |rowBytes|. Returns true if decoding was successful. |
- bool decodeAndScale(size_t index, const SkImageInfo&, void* pixels, size_t rowBytes); |
+ bool decodeAndScale(size_t index, const SkImageInfo&, void* pixels, size_t rowBytes, SkPMColor ctable[] = nullptr, int* ctableCount = nullptr); |
// Decodes YUV components directly into the provided memory planes. |
bool decodeToYUV(size_t index, SkISize componentSizes[3], void* planes[3], size_t rowBytes[3]); |
@@ -91,6 +91,10 @@ public: |
bool getYUVComponentSizes(SkISize componentSizes[3]); |
+ // Specifies that there is decoder support, to optimize when to call canDecodeTo(). |
+ void setDecoderCanDecodeToIndex8(bool canIt) { m_decoderCanDecodeToIndex8 = canIt; } |
+ bool canDecodeTo(size_t index, SkColorType outputType); |
+ |
private: |
ImageFrameGenerator(const SkISize& fullSize, PassRefPtr<SharedBuffer>, bool allDataReceived, bool isMultiFrame); |
@@ -135,6 +139,7 @@ private: |
#if COMPILER(MSVC) |
friend struct ::WTF::OwnedPtrDeleter<ExternalMemoryAllocator>; |
#endif |
+ bool m_decoderCanDecodeToIndex8; |
}; |
} // namespace blink |