7f69144aaa
SkBitmapRegionDecoderInterface provides an interface for multiple implementations of Android's BitmapRegionDecoder. We already have correctness tests in DM that will enable us to compare the quality of our various BRD implementations. We also need these performance tests to compare the speed of our various implementations. BUG=skia:4357 Review URL: https://codereview.chromium.org/1344993003
31 lines
896 B
C
31 lines
896 B
C
/*
|
|
* Copyright 2015 The Android Open Source Project
|
|
*
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
#ifndef SubsetBenchPriv_DEFINED
|
|
#define SubsetBenchPriv_DEFINED
|
|
|
|
#include "SkCodec.h"
|
|
#include "SkData.h"
|
|
#include "SkImageGenerator.h"
|
|
|
|
/*
|
|
* If we plan to decode to kIndex8, we must create a color table and pass it to the
|
|
* bitmap when we allocate pixels. Otherwise, we simply allocate pixels using the
|
|
* decode info.
|
|
*/
|
|
static inline void alloc_pixels(SkBitmap* bitmap, const SkImageInfo& info, SkPMColor* colors,
|
|
int colorCount) {
|
|
if (kIndex_8_SkColorType == info.colorType()) {
|
|
SkAutoTUnref<SkColorTable> colorTable(new SkColorTable(colors, colorCount));
|
|
bitmap->allocPixels(info, nullptr, colorTable);
|
|
} else {
|
|
bitmap->allocPixels(info);
|
|
}
|
|
}
|
|
|
|
#endif // SubsetBenchPriv_DEFINED
|