diff options
author | 2014-10-15 11:04:17 -0700 | |
---|---|---|
committer | 2014-10-15 11:04:18 -0700 | |
commit | 8e6c3b93a39e19111662a760ede97df55e51d39f (patch) | |
tree | c063ae61138c6cfd30cf0238eecb2c879d38db4e /include | |
parent | 6251d17dfadbbeba8a7e72affde5cbdbd0c0c95f (diff) |
JPEG YUV Decoding
Enabling JPEG YUV Decoding in Skia
BUG=skia:3005, skia:1674
Review URL: https://codereview.chromium.org/399683007
Diffstat (limited to 'include')
-rw-r--r-- | include/core/SkImageDecoder.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/include/core/SkImageDecoder.h b/include/core/SkImageDecoder.h index 5910d33a99..94831762de 100644 --- a/include/core/SkImageDecoder.h +++ b/include/core/SkImageDecoder.h @@ -47,6 +47,15 @@ public: */ virtual Format getFormat() const; + /** If planes or rowBytes is NULL, decodes the header and computes componentSizes + for memory allocation. + Otherwise, decodes the YUV planes into the provided image planes and + updates componentSizes to the final image size. + Returns whether the decoding was successful. + */ + bool decodeYUV8Planes(SkStream* stream, SkISize componentSizes[3], void* planes[3], + size_t rowBytes[3], SkYUVColorSpace*); + /** Return the format of the SkStreamRewindable or kUnknown_Format if it cannot be determined. Rewinds the stream before returning. */ @@ -339,6 +348,17 @@ protected: return false; } + /** If planes or rowBytes is NULL, decodes the header and computes componentSizes + for memory allocation. + Otherwise, decodes the YUV planes into the provided image planes and + updates componentSizes to the final image size. + Returns whether the decoding was successful. + */ + virtual bool onDecodeYUV8Planes(SkStream* stream, SkISize componentSizes[3], void* planes[3], + size_t rowBytes[3], SkYUVColorSpace*) { + return false; + } + /* * Crop a rectangle from the src Bitmap to the dest Bitmap. src and dst are * both sampled by sampleSize from an original Bitmap. |