| 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
|
|
|