8#ifndef SkHeifCodec_DEFINED
9#define SkHeifCodec_DEFINED
19#if __has_include("HeifDecoderAPI.h")
20 #include "HeifDecoderAPI.h"
45 void*
dst,
size_t dstRowBytes,
47 int* rowsDecoded)
override;
75 size_t rowBytes,
int count,
const Options&);
80 SkSampler* getSampler(
bool createIfNecessary)
override;
82 const Options&
options)
override;
83 int onGetScanlines(
void*
dst,
int count,
size_t rowBytes)
override;
84 bool onSkipScanlines(
int count)
override;
86 std::unique_ptr<HeifDecoder> fHeifDecoder;
89 uint8_t* fSwizzleSrcRow;
90 uint32_t* fColorXformSrcRow;
92 std::unique_ptr<SkSwizzler> fSwizzler;
102 return SkEncodedInfo::Alpha::kOpaque_Alpha;
111 ~FrameHolder()
override {}
112 void setScreenSize(
int w,
int h) {
116 Frame* appendNewFrame();
117 const Frame*
frame(
int i)
const;
118 Frame* editFrameAt(
int i);
120 return static_cast<int>(fFrames.size());
122 void reserve(
int size) {
123 fFrames.reserve(
size);
127 const SkFrame* onGetFrame(
int i)
const override;
130 std::vector<Frame> fFrames;
133 FrameHolder fFrameHolder;
#define INHERITED(method,...)
const SkImageInfo & dstInfo() const
SkCodec(SkEncodedInfo &&, XformFormat srcFormat, std::unique_ptr< SkStream >, SkEncodedOrigin=kTopLeft_SkEncodedOrigin)
const Options & options() const
int onGetFrameCount() override
SkEncodedImageFormat onGetEncodedFormat() const override
static bool IsSupported(const void *, size_t, SkEncodedImageFormat *format)
const SkFrameHolder * getFrameHolder() const override
int onGetRepetitionCount() override
bool conversionSupported(const SkImageInfo &, bool, bool) override
static std::unique_ptr< SkCodec > MakeFromStream(std::unique_ptr< SkStream >, SkCodec::SelectionPolicy selectionPolicy, Result *)
bool onGetFrameInfo(int, FrameInfo *) const override
Result onGetPixels(const SkImageInfo &dstInfo, void *dst, size_t dstRowBytes, const Options &options, int *rowsDecoded) override
uint32_t uint32_t * format
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive keep the shell running after the Dart script has completed enable serial On low power devices with low core running concurrent GC tasks on threads can cause them to contend with the UI thread which could potentially lead to jank This option turns off all concurrent GC activities domain network JSON encoded network policy per domain This overrides the DisallowInsecureConnections switch Embedder can specify whether to allow or disallow insecure connections at a domain level old gen heap size