Index: bench/ColorCodecBench.h |
diff --git a/bench/ColorCodecBench.h b/bench/ColorCodecBench.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..570890de2680ebfe5e9c94f033bb22b4a0da5fcc |
--- /dev/null |
+++ b/bench/ColorCodecBench.h |
@@ -0,0 +1,50 @@ |
+/* |
+ * Copyright 2016 Google Inc. |
+ * |
+ * Use of this source code is governed by a BSD-style license that can be |
+ * found in the LICENSE file. |
+ */ |
+ |
+#ifndef ColorCodecBench_DEFINED |
+#define ColorCodecBench_DEFINED |
+ |
+#include "Benchmark.h" |
+#include "SkData.h" |
+#include "SkImageInfo.h" |
+ |
+#if !defined(GOOGLE3) |
+#include "qcms.h" |
+#endif |
+ |
+class ColorCodecBench : public Benchmark { |
+public: |
+ ColorCodecBench(const char* name, sk_sp<SkData> encoded); |
+ |
+protected: |
+ const char* onGetName() override; |
+ bool isSuitableFor(Backend backend) override; |
+ void onDraw(int n, SkCanvas* canvas) override; |
+ void onDelayedSetup() override; |
+ |
+private: |
+ void decodeAndXform(); |
+ void xformOnly(); |
+#if !defined(GOOGLE3) |
+ void decodeAndXformQCMS(); |
+ void xformOnlyQCMS(); |
+#endif |
+ |
+ SkString fName; |
+ sk_sp<SkData> fEncoded; |
+ SkImageInfo fInfo; |
+ SkAutoMalloc fDst; |
+ SkAutoMalloc fSrc; |
+ sk_sp<SkColorSpace> fDstSpace; |
+#if !defined(GOOGLE3) |
+ SkAutoTCallVProc<qcms_profile, qcms_profile_release> fDstSpaceQCMS; |
+#endif |
+ sk_sp<SkData> fSrcData; |
+ |
+ typedef Benchmark INHERITED; |
+}; |
+#endif // ColorCodecBench_DEFINED |