Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(86)

Unified Diff: include/core/SkImageGenerator.h

Issue 374743003: Skia side RGB to YUV gpu conversion (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | include/core/SkPixelRef.h » ('j') | include/core/SkPixelRef.h » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: include/core/SkImageGenerator.h
diff --git a/include/core/SkImageGenerator.h b/include/core/SkImageGenerator.h
index 157bfdb0010646cc7e82d70466a2d4bbf9fd2d62..5dd1e81156b03a8b278ec4408f33ae20b5e1f1d8 100644
--- a/include/core/SkImageGenerator.h
+++ b/include/core/SkImageGenerator.h
@@ -116,12 +116,28 @@ public:
bool getPixels(const SkImageInfo& info, void* pixels, size_t rowBytes);
#endif
+ struct YUV8Planes {
+ // do we want/need per-buffer rowbytes? or just assume tight?
+ SkImageInfo fInfo;
sugoi1 2014/07/08 14:42:02 The SkImageInfo member is required so that onGetYU
+ uint8_t* fPixels;
sugoi1 2014/07/08 14:42:02 The current implementation in Blink makes it very
+ };
+ /**
+ * If planes is NULL, this imagegenerator should output the sizes and return true
+ * if it can efficiently return YUV planar data. If it cannot, it should return false.
+ *
+ * If planes is not NULL, then it should copy the associated Y,U,V 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, const YUV8Planes* planes = NULL);
Stephen White 2014/07/08 15:00:19 Does "planes" have to be a default parameter? It m
reed1 2014/07/08 15:08:52 What about struct Plane8 { uint8_t* fPixels;
+
protected:
virtual SkData* onRefEncodedData();
virtual bool onGetInfo(SkImageInfo* info);
virtual bool onGetPixels(const SkImageInfo& info,
void* pixels, size_t rowBytes,
SkPMColor ctable[], int* ctableCount);
+ virtual bool onGetYUV8Planes(SkISize*, const YUV8Planes*);
};
#endif // SkImageGenerator_DEFINED
« no previous file with comments | « no previous file | include/core/SkPixelRef.h » ('j') | include/core/SkPixelRef.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698