Index: src/image/SkImage.cpp |
diff --git a/src/image/SkImage.cpp b/src/image/SkImage.cpp |
index 25370bcff15e09ad2e7276ec3a98f23e4a79cf35..21eedff8784ffe174b15efb1c6aa41389c1da81b 100644 |
--- a/src/image/SkImage.cpp |
+++ b/src/image/SkImage.cpp |
@@ -258,6 +258,25 @@ bool SkImage::readPixels(const SkPixmap& pmap, int srcX, int srcY, CachingHint c |
return this->readPixels(pmap.info(), pmap.writable_addr(), pmap.rowBytes(), srcX, srcY, chint); |
} |
+#if SK_SUPPORT_GPU |
+#include "GrTextureToYUVPlanes.h" |
+#endif |
+ |
+#include "SkRGBAToYUV.h" |
+ |
+bool SkImage::asYUV8Planes(const SkISize sizes[3], void* const planes[3], const size_t rowBytes[3], |
+ SkYUVColorSpace colorSpace) { |
+#if SK_SUPPORT_GPU |
+ if (GrTexture* texture = as_IB(this)->peekTexture()) { |
+ if (GrTextureToYUVPlanes(texture, sizes, planes, rowBytes, colorSpace)) { |
+ return true; |
+ } |
+ } |
+#endif |
+ SkRGBAToYUV(this, sizes, planes, rowBytes, colorSpace); |
reed1
2016/01/29 17:17:00
Hmmm, I thought the "utility" function would take
bsalomon
2016/01/29 17:36:42
I originally typed it that way and then realized I
|
+ return true; |
+} |
+ |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
SkImage* SkImage::NewFromBitmap(const SkBitmap& bm) { |