| /* | |
| * 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 AndroidCodecBench_DEFINED | |
| #define AndroidCodecBench_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/core/SkAutoMalloc.h" | |
| /** | |
| * Time SkAndroidCodec. | |
| */ | |
| class AndroidCodecBench : public Benchmark { | |
| public: | |
| // Calls encoded->ref() | |
| AndroidCodecBench(SkString basename, SkData* encoded, int sampleSize); | |
| protected: | |
| const char* onGetName() override; | |
| bool isSuitableFor(Backend backend) override; | |
| void onDraw(int n, SkCanvas* canvas) override; | |
| void onDelayedSetup() override; | |
| private: | |
| SkString fName; | |
| sk_sp<SkData> fData; | |
| const int fSampleSize; | |
| SkImageInfo fInfo; // Set in onDelayedSetup. | |
| SkAutoMalloc fPixelStorage; // Set in onDelayedSetup. | |
| using INHERITED = Benchmark; | |
| }; | |
| #endif // AndroidCodecBench_DEFINED |