From 8e6c3b93a39e19111662a760ede97df55e51d39f Mon Sep 17 00:00:00 2001 From: sugoi Date: Wed, 15 Oct 2014 11:04:17 -0700 Subject: JPEG YUV Decoding Enabling JPEG YUV Decoding in Skia BUG=skia:3005, skia:1674 Review URL: https://codereview.chromium.org/399683007 --- include/core/SkImageDecoder.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'include/core/SkImageDecoder.h') 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. -- cgit v1.2.3