| Index: bench/nanobench.cpp
|
| diff --git a/bench/nanobench.cpp b/bench/nanobench.cpp
|
| index f1841e5b6c24099ef18c0e0538fd221be4b94515..11119be2e193b9900b84c7fb4c1981ea533c5388 100644
|
| --- a/bench/nanobench.cpp
|
| +++ b/bench/nanobench.cpp
|
| @@ -21,9 +21,6 @@
|
| #include "RecordingBench.h"
|
| #include "SKPAnimationBench.h"
|
| #include "SKPBench.h"
|
| -#include "SubsetSingleBench.h"
|
| -#include "SubsetTranslateBench.h"
|
| -#include "SubsetZoomBench.h"
|
| #include "Stats.h"
|
|
|
| #include "SkBitmapRegionDecoder.h"
|
| @@ -506,66 +503,6 @@ static Target* is_enabled(Benchmark* bench, const Config& config) {
|
| return target;
|
| }
|
|
|
| -/*
|
| - * We only run our subset benches on files that are supported by BitmapRegionDecoder:
|
| - * i.e. PNG, JPEG, and WEBP. We do *not* test WEBP, since we do not have a scanline
|
| - * decoder for WEBP, which is necessary for running the subset bench. (Another bench
|
| - * must be used to test WEBP, which decodes subsets natively.)
|
| - */
|
| -static bool run_subset_bench(const SkString& path) {
|
| - static const char* const exts[] = {
|
| - "jpg", "jpeg", "png",
|
| - "JPG", "JPEG", "PNG",
|
| - };
|
| -
|
| - for (uint32_t i = 0; i < SK_ARRAY_COUNT(exts); i++) {
|
| - if (path.endsWith(exts[i])) {
|
| - return true;
|
| - }
|
| - }
|
| -
|
| - return false;
|
| -}
|
| -
|
| -/*
|
| - * Returns true if set up for a subset decode succeeds, false otherwise
|
| - * If the set-up succeeds, the width and height parameters will be set
|
| - */
|
| -static bool valid_subset_bench(const SkString& path, SkColorType colorType,
|
| - int* width, int* height) {
|
| - SkAutoTUnref<SkData> encoded(SkData::NewFromFileName(path.c_str()));
|
| - SkAutoTDelete<SkMemoryStream> stream(new SkMemoryStream(encoded));
|
| -
|
| - // Check that we can create a codec.
|
| - SkAutoTDelete<SkCodec> codec(SkCodec::NewFromStream(stream.detach()));
|
| - if (nullptr == codec) {
|
| - SkDebugf("Could not create codec for %s. Skipping bench.\n", path.c_str());
|
| - return false;
|
| - }
|
| -
|
| - // These will be initialized by SkCodec if the color type is kIndex8 and
|
| - // unused otherwise.
|
| - SkPMColor colors[256];
|
| - int colorCount;
|
| - const SkImageInfo info = codec->getInfo().makeColorType(colorType);
|
| - if (codec->startScanlineDecode(info, nullptr, colors, &colorCount) != SkCodec::kSuccess)
|
| - {
|
| - SkDebugf("Could not create scanline decoder for %s with color type %s. "
|
| - "Skipping bench.\n", path.c_str(), color_type_to_str(colorType));
|
| - return false;
|
| - }
|
| - *width = info.width();
|
| - *height = info.height();
|
| -
|
| - // Check if the image is large enough for a meaningful subset benchmark.
|
| - if (*width <= 512 && *height <= 512) {
|
| - // This should not print a message since it is not an error.
|
| - return false;
|
| - }
|
| -
|
| - return true;
|
| -}
|
| -
|
| static bool valid_brd_bench(SkData* encoded, SkBitmapRegionDecoder::Strategy strategy,
|
| SkColorType colorType, uint32_t sampleSize, uint32_t minOutputSize, int* width,
|
| int* height) {
|
| @@ -617,7 +554,6 @@ public:
|
| , fCurrentUseMPD(0)
|
| , fCurrentCodec(0)
|
| , fCurrentImage(0)
|
| - , fCurrentSubsetImage(0)
|
| , fCurrentBRDImage(0)
|
| , fCurrentColorType(0)
|
| , fCurrentSubsetType(0)
|
| @@ -869,54 +805,6 @@ public:
|
| fCurrentImage++;
|
| }
|
|
|
| - // Run the SubsetBenches
|
| - while (fCurrentSubsetImage < fImages.count()) {
|
| - fSourceType = "image";
|
| - fBenchType = "skcodec";
|
| - const SkString& path = fImages[fCurrentSubsetImage];
|
| - if (!run_subset_bench(path)) {
|
| - fCurrentSubsetImage++;
|
| - continue;
|
| - }
|
| - while (fCurrentColorType < fColorTypes.count()) {
|
| - SkColorType colorType = fColorTypes[fCurrentColorType];
|
| - while (fCurrentSubsetType <= kLast_SubsetType) {
|
| - int width = 0;
|
| - int height = 0;
|
| - int currentSubsetType = fCurrentSubsetType++;
|
| - if (valid_subset_bench(path, colorType, &width, &height)) {
|
| - switch (currentSubsetType) {
|
| - case kTopLeft_SubsetType:
|
| - return new SubsetSingleBench(path, colorType, width/3,
|
| - height/3, 0, 0);
|
| - case kTopRight_SubsetType:
|
| - return new SubsetSingleBench(path, colorType, width/3,
|
| - height/3, 2*width/3, 0);
|
| - case kMiddle_SubsetType:
|
| - return new SubsetSingleBench(path, colorType, width/3,
|
| - height/3, width/3, height/3);
|
| - case kBottomLeft_SubsetType:
|
| - return new SubsetSingleBench(path, colorType, width/3,
|
| - height/3, 0, 2*height/3);
|
| - case kBottomRight_SubsetType:
|
| - return new SubsetSingleBench(path, colorType, width/3,
|
| - height/3, 2*width/3, 2*height/3);
|
| - case kTranslate_SubsetType:
|
| - return new SubsetTranslateBench(path, colorType, 512, 512);
|
| - case kZoom_SubsetType:
|
| - return new SubsetZoomBench(path, colorType, 512, 512);
|
| - }
|
| - } else {
|
| - break;
|
| - }
|
| - }
|
| - fCurrentSubsetType = 0;
|
| - fCurrentColorType++;
|
| - }
|
| - fCurrentColorType = 0;
|
| - fCurrentSubsetImage++;
|
| - }
|
| -
|
| // Run the BRDBenches
|
| // We will benchmark multiple BRD strategies.
|
| static const struct {
|
| @@ -1074,7 +962,6 @@ private:
|
| int fCurrentUseMPD;
|
| int fCurrentCodec;
|
| int fCurrentImage;
|
| - int fCurrentSubsetImage;
|
| int fCurrentBRDImage;
|
| int fCurrentColorType;
|
| int fCurrentSubsetType;
|
|
|