1/* 2 * Copyright 2016 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 AndroidCodecBench_DEFINED 9#define AndroidCodecBench_DEFINED 10 11#include "Benchmark.h" 12#include "SkAutoMalloc.h" 13#include "SkData.h" 14#include "SkImageInfo.h" 15#include "SkRefCnt.h" 16#include "SkString.h" 17 18/** 19 * Time SkAndroidCodec. 20 */ 21class AndroidCodecBench : public Benchmark { 22public: 23 // Calls encoded->ref() 24 AndroidCodecBench(SkString basename, SkData* encoded, int sampleSize); 25 26protected: 27 const char* onGetName() override; 28 bool isSuitableFor(Backend backend) override; 29 void onDraw(int n, SkCanvas* canvas) override; 30 void onDelayedSetup() override; 31 32private: 33 SkString fName; 34 sk_sp<SkData> fData; 35 const int fSampleSize; 36 SkImageInfo fInfo; // Set in onDelayedSetup. 37 SkAutoMalloc fPixelStorage; // Set in onDelayedSetup. 38 typedef Benchmark INHERITED; 39}; 40#endif // AndroidCodecBench_DEFINED 41