| Index: include/core/SkImageGenerator.h
|
| diff --git a/include/core/SkImageGenerator.h b/include/core/SkImageGenerator.h
|
| index 1a46f6b9cd7dfc39c753170b7da6046ed0877bb2..86e3053a06928b3d9f6dd4eecf576464dc1f8caf 100644
|
| --- a/include/core/SkImageGenerator.h
|
| +++ b/include/core/SkImageGenerator.h
|
| @@ -11,7 +11,6 @@
|
| #include "SkBitmap.h"
|
| #include "SkColor.h"
|
| #include "SkImageInfo.h"
|
| -#include "SkYUVSizeInfo.h"
|
|
|
| class GrContext;
|
| class GrTexture;
|
| @@ -130,26 +129,18 @@
|
| bool getPixels(const SkImageInfo& info, void* pixels, size_t rowBytes);
|
|
|
| /**
|
| - * If decoding to YUV is supported, this returns true. Otherwise, this
|
| - * returns false and does not modify any of the parameters.
|
| - *
|
| - * @param sizeInfo Output parameter indicating the sizes and required
|
| - * allocation widths of the Y, U, and V planes.
|
| - * @param colorSpace Output parameter.
|
| - */
|
| - bool queryYUV8(SkYUVSizeInfo* sizeInfo, SkYUVColorSpace* colorSpace) const;
|
| -
|
| - /**
|
| - * Returns true on success and false on failure.
|
| - * This always attempts to perform a full decode. If the client only
|
| - * wants size, it should call queryYUV8().
|
| - *
|
| - * @param sizeInfo Needs to exactly match the values returned by the
|
| - * query, except the WidthBytes may be larger than the
|
| - * recommendation (but not smaller).
|
| - * @param planes Memory for each of the Y, U, and V planes.
|
| - */
|
| - bool getYUV8Planes(const SkYUVSizeInfo& sizeInfo, void* planes[3]);
|
| + * If planes or rowBytes is NULL or if any entry in planes is NULL or if any entry in rowBytes
|
| + * is 0, this imagegenerator should output the sizes and return true if it can efficiently
|
| + * return YUV planar data. If it cannot, it should return false. Note that either planes and
|
| + * rowBytes are both fully defined and non NULL/non 0 or they are both NULL or have NULL or 0
|
| + * entries only. Having only partial planes/rowBytes information is not supported.
|
| + *
|
| + * If all planes and rowBytes entries are non NULL or non 0, then it should copy the
|
| + * associated YUV data into those planes of memory supplied by the caller. It should validate
|
| + * that the sizes match what it expected. If the sizes do not match, it should return false.
|
| + */
|
| + bool getYUV8Planes(SkISize sizes[3], void* planes[3], size_t rowBytes[3],
|
| + SkYUVColorSpace* colorSpace);
|
|
|
| /**
|
| * If the generator can natively/efficiently return its pixels as a GPU image (backed by a
|
| @@ -257,13 +248,9 @@
|
|
|
| virtual bool onGetPixels(const SkImageInfo& info, void* pixels, size_t rowBytes,
|
| SkPMColor ctable[], int* ctableCount);
|
| -
|
| - virtual bool onQueryYUV8(SkYUVSizeInfo*, SkYUVColorSpace*) const {
|
| - return false;
|
| - }
|
| - virtual bool onGetYUV8Planes(const SkYUVSizeInfo&, void*[3] /*planes*/) {
|
| - return false;
|
| - }
|
| + virtual bool onGetYUV8Planes(SkISize sizes[3], void* planes[3], size_t rowBytes[3]);
|
| + virtual bool onGetYUV8Planes(SkISize sizes[3], void* planes[3], size_t rowBytes[3],
|
| + SkYUVColorSpace* colorSpace);
|
|
|
| virtual GrTexture* onGenerateTexture(GrContext*, const SkIRect*) {
|
| return nullptr;
|
|
|