diff options
author | msarett <msarett@google.com> | 2016-04-18 16:20:00 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-04-18 16:20:00 -0700 |
commit | f682d9ad70d690a343bc15e26ef321d86770be41 (patch) | |
tree | d060890436619e2f3a03789400ed8276f421e5ce /include/codec/SkCodec.h | |
parent | bde57ed11b8a6bd6da6043189e000c58bf146422 (diff) |
Add SkEncodedInfo to report properties of encoded image data
All this does is build an SkEncodedInfo for each codec, and
then convert it to an SkImageInfo.
In future steps I intend to:
(1) Use SkEncodedInfo in place of SrcConfig in SkSwizzler.
(2) Support more conversions in SkSwizzler (non-native
BGRA/RGBA, 16-bit components, float, fixed point)
(3) Investigate optimizing conversions from encoded data
to linear color spaces.
BUG=skia:4133
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1820073002
Review URL: https://codereview.chromium.org/1820073002
Diffstat (limited to 'include/codec/SkCodec.h')
-rw-r--r-- | include/codec/SkCodec.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/include/codec/SkCodec.h b/include/codec/SkCodec.h index 629274d21c..50875e46c4 100644 --- a/include/codec/SkCodec.h +++ b/include/codec/SkCodec.h @@ -11,6 +11,7 @@ #include "../private/SkTemplates.h" #include "SkColor.h" #include "SkEncodedFormat.h" +#include "SkEncodedInfo.h" #include "SkImageInfo.h" #include "SkSize.h" #include "SkStream.h" @@ -100,6 +101,8 @@ public: */ const SkImageInfo& getInfo() const { return fSrcInfo; } + const SkEncodedInfo& getEncodedInfo() const { return fEncodedInfo; } + /** * Returns the color space associated with the codec. * Does not affect ownership. @@ -511,7 +514,9 @@ protected: /** * Takes ownership of SkStream* */ - SkCodec(const SkImageInfo&, + SkCodec(int width, + int height, + const SkEncodedInfo&, SkStream*, sk_sp<SkColorSpace> = nullptr, Origin = kTopLeft_Origin); @@ -642,6 +647,7 @@ protected: virtual int onOutputScanline(int inputScanline) const; private: + const SkEncodedInfo fEncodedInfo; const SkImageInfo fSrcInfo; SkAutoTDelete<SkStream> fStream; bool fNeedsRewind; |