1 /* 2 * Copyright 2015 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #ifndef CodecBench_DEFINED 9 #define CodecBench_DEFINED 10 11 #include "bench/Benchmark.h" 12 #include "include/core/SkData.h" 13 #include "include/core/SkImageInfo.h" 14 #include "include/core/SkRefCnt.h" 15 #include "include/core/SkString.h" 16 #include "src/core/SkAutoMalloc.h" 17 18 /** 19 * Time SkCodec. 20 */ 21 class CodecBench : public Benchmark { 22 public: 23 // Calls encoded->ref() 24 CodecBench(SkString basename, SkData* encoded, SkColorType colorType, SkAlphaType alphaType); 25 26 protected: 27 const char* onGetName() override; 28 bool isSuitableFor(Backend backend) override; 29 void onDraw(int n, SkCanvas* canvas) override; 30 void onDelayedSetup() override; 31 32 private: 33 SkString fName; 34 const SkColorType fColorType; 35 const SkAlphaType fAlphaType; 36 sk_sp<SkData> fData; 37 SkImageInfo fInfo; // Set in onDelayedSetup. 38 SkAutoMalloc fPixelStorage; 39 using INHERITED = Benchmark; 40 }; 41 #endif // CodecBench_DEFINED 42