| /* |
| * Copyright 2015 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #ifndef CodecBench_DEFINED |
| #define CodecBench_DEFINED |
| |
| #include "bench/Benchmark.h" |
| #include "include/core/SkData.h" |
| #include "include/core/SkImageInfo.h" |
| #include "include/core/SkRefCnt.h" |
| #include "include/core/SkString.h" |
| #include "src/base/SkAutoMalloc.h" |
| |
| /** |
| * Time SkCodec. |
| */ |
| class CodecBench : public Benchmark { |
| public: |
| // Calls encoded->ref() |
| CodecBench(SkString basename, SkData* encoded, SkColorType colorType, SkAlphaType alphaType); |
| |
| protected: |
| const char* onGetName() override; |
| bool isSuitableFor(Backend backend) override; |
| void onDraw(int n, SkCanvas* canvas) override; |
| void onDelayedSetup() override; |
| |
| private: |
| SkString fName; |
| const SkColorType fColorType; |
| const SkAlphaType fAlphaType; |
| sk_sp<SkData> fData; |
| SkImageInfo fInfo; // Set in onDelayedSetup. |
| SkAutoMalloc fPixelStorage; |
| using INHERITED = Benchmark; |
| }; |
| #endif // CodecBench_DEFINED |