8#ifndef SkJpegCodec_DEFINED
9#define SkJpegCodec_DEFINED
41 static bool IsJpeg(
const void*,
size_t);
78 std::unique_ptr<SkStream>* gainmapImageStream)
override;
85 std::unique_ptr<SkEncodedInfo::ICCProfile> defaultColorProfile);
111 std::unique_ptr<SkEncodedInfo::ICCProfile> defaultColorProfile);
125 std::unique_ptr<SkStream>
stream,
130 bool needsCMYKToRGB);
137 SkSampler* getSampler(
bool createIfNecessary)
override;
139 const Options&
options)
override;
140 int onGetScanlines(
void*
dst,
int count,
size_t rowBytes)
override;
141 bool onSkipScanlines(
int count)
override;
143 std::unique_ptr<JpegDecoderMgr> fDecoderMgr;
147 const int fReadyState;
151 uint8_t* fSwizzleSrcRow =
nullptr;
152 uint32_t* fColorXformSrcRow =
nullptr;
159 std::unique_ptr<SkSwizzler> fSwizzler;
static void info(const char *fmt,...) SK_PRINTF_LIKE(1
const SkImageInfo & dstInfo() const
SkCodec(SkEncodedInfo &&, XformFormat srcFormat, std::unique_ptr< SkStream >, SkEncodedOrigin=kTopLeft_SkEncodedOrigin)
const Options & options() const
bool onQueryYUVAInfo(const SkYUVAPixmapInfo::SupportedDataTypes &, SkYUVAPixmapInfo *) const override
static bool IsJpeg(const void *, size_t)
Result onGetYUVAPlanes(const SkYUVAPixmaps &yuvaPixmaps) override
Result onGetPixels(const SkImageInfo &dstInfo, void *dst, size_t dstRowBytes, const Options &, int *) override
bool onDimensionsSupported(const SkISize &) override
SkISize onGetScaledDimensions(float desiredScale) const override
bool conversionSupported(const SkImageInfo &, bool, bool) override
bool onGetGainmapInfo(SkGainmapInfo *info, std::unique_ptr< SkStream > *gainmapImageStream) override
static std::unique_ptr< SkCodec > MakeFromStream(std::unique_ptr< SkStream >, Result *)
SkEncodedImageFormat onGetEncodedFormat() const override
static constexpr SkIRect MakeEmpty()