Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(323)

Side by Side Diff: bench/nanobench.cpp

Issue 2333713002: change SkStreams to work with sk_sp<SkData> instead of SkData* (Closed)
Patch Set: fix xpsdevice Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « bench/ColorCodecBench.cpp ('k') | dm/DM.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2014 Google Inc. 2 * Copyright 2014 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #include <ctype.h> 8 #include <ctype.h>
9 9
10 #include "nanobench.h" 10 #include "nanobench.h"
(...skipping 511 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 break; 522 break;
523 } 523 }
524 524
525 if (!target->init(info, bench)) { 525 if (!target->init(info, bench)) {
526 delete target; 526 delete target;
527 return nullptr; 527 return nullptr;
528 } 528 }
529 return target; 529 return target;
530 } 530 }
531 531
532 static bool valid_brd_bench(SkData* encoded, SkColorType colorType, uint32_t sam pleSize, 532 static bool valid_brd_bench(sk_sp<SkData> encoded, SkColorType colorType, uint32 _t sampleSize,
533 uint32_t minOutputSize, int* width, int* height) { 533 uint32_t minOutputSize, int* width, int* height) {
534 SkAutoTDelete<SkBitmapRegionDecoder> brd( 534 SkAutoTDelete<SkBitmapRegionDecoder> brd(
535 SkBitmapRegionDecoder::Create(encoded, SkBitmapRegionDecoder::kAndro idCodec_Strategy)); 535 SkBitmapRegionDecoder::Create(encoded, SkBitmapRegionDecoder::kAndro idCodec_Strategy));
536 if (nullptr == brd.get()) { 536 if (nullptr == brd.get()) {
537 // This is indicates that subset decoding is not supported for a particu lar image format. 537 // This is indicates that subset decoding is not supported for a particu lar image format.
538 return false; 538 return false;
539 } 539 }
540 540
541 if (sampleSize * minOutputSize > (uint32_t) brd->width() || sampleSize * min OutputSize > 541 if (sampleSize * minOutputSize > (uint32_t) brd->width() || sampleSize * min OutputSize >
542 (uint32_t) brd->height()) { 542 (uint32_t) brd->height()) {
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
749 } 749 }
750 750
751 for (; fCurrentCodec < fImages.count(); fCurrentCodec++) { 751 for (; fCurrentCodec < fImages.count(); fCurrentCodec++) {
752 fSourceType = "image"; 752 fSourceType = "image";
753 fBenchType = "skcodec"; 753 fBenchType = "skcodec";
754 const SkString& path = fImages[fCurrentCodec]; 754 const SkString& path = fImages[fCurrentCodec];
755 if (SkCommandLineFlags::ShouldSkip(FLAGS_match, path.c_str())) { 755 if (SkCommandLineFlags::ShouldSkip(FLAGS_match, path.c_str())) {
756 continue; 756 continue;
757 } 757 }
758 sk_sp<SkData> encoded(SkData::MakeFromFileName(path.c_str())); 758 sk_sp<SkData> encoded(SkData::MakeFromFileName(path.c_str()));
759 SkAutoTDelete<SkCodec> codec(SkCodec::NewFromData(encoded.get())); 759 SkAutoTDelete<SkCodec> codec(SkCodec::NewFromData(encoded));
760 if (!codec) { 760 if (!codec) {
761 // Nothing to time. 761 // Nothing to time.
762 SkDebugf("Cannot find codec for %s\n", path.c_str()); 762 SkDebugf("Cannot find codec for %s\n", path.c_str());
763 continue; 763 continue;
764 } 764 }
765 765
766 while (fCurrentColorType < fColorTypes.count()) { 766 while (fCurrentColorType < fColorTypes.count()) {
767 const SkColorType colorType = fColorTypes[fCurrentColorType]; 767 const SkColorType colorType = fColorTypes[fCurrentColorType];
768 768
769 SkAlphaType alphaType = codec->getInfo().alphaType(); 769 SkAlphaType alphaType = codec->getInfo().alphaType();
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
833 const int sampleSizes[] = { 2, 4, 8 }; 833 const int sampleSizes[] = { 2, 4, 8 };
834 for (; fCurrentAndroidCodec < fImages.count(); fCurrentAndroidCodec++) { 834 for (; fCurrentAndroidCodec < fImages.count(); fCurrentAndroidCodec++) {
835 fSourceType = "image"; 835 fSourceType = "image";
836 fBenchType = "skandroidcodec"; 836 fBenchType = "skandroidcodec";
837 837
838 const SkString& path = fImages[fCurrentAndroidCodec]; 838 const SkString& path = fImages[fCurrentAndroidCodec];
839 if (SkCommandLineFlags::ShouldSkip(FLAGS_match, path.c_str())) { 839 if (SkCommandLineFlags::ShouldSkip(FLAGS_match, path.c_str())) {
840 continue; 840 continue;
841 } 841 }
842 sk_sp<SkData> encoded(SkData::MakeFromFileName(path.c_str())); 842 sk_sp<SkData> encoded(SkData::MakeFromFileName(path.c_str()));
843 SkAutoTDelete<SkAndroidCodec> codec(SkAndroidCodec::NewFromData(enco ded.get())); 843 SkAutoTDelete<SkAndroidCodec> codec(SkAndroidCodec::NewFromData(enco ded));
844 if (!codec) { 844 if (!codec) {
845 // Nothing to time. 845 // Nothing to time.
846 SkDebugf("Cannot find codec for %s\n", path.c_str()); 846 SkDebugf("Cannot find codec for %s\n", path.c_str());
847 continue; 847 continue;
848 } 848 }
849 849
850 while (fCurrentSampleSize < (int) SK_ARRAY_COUNT(sampleSizes)) { 850 while (fCurrentSampleSize < (int) SK_ARRAY_COUNT(sampleSizes)) {
851 int sampleSize = sampleSizes[fCurrentSampleSize]; 851 int sampleSize = sampleSizes[fCurrentSampleSize];
852 fCurrentSampleSize++; 852 fCurrentSampleSize++;
853 if (10 * sampleSize > SkTMin(codec->getInfo().width(), codec->ge tInfo().height())) { 853 if (10 * sampleSize > SkTMin(codec->getInfo().width(), codec->ge tInfo().height())) {
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
889 while (fCurrentSampleSize < (int) SK_ARRAY_COUNT(brdSampleSizes) ) { 889 while (fCurrentSampleSize < (int) SK_ARRAY_COUNT(brdSampleSizes) ) {
890 while (fCurrentSubsetType <= kLastSingle_SubsetType) { 890 while (fCurrentSubsetType <= kLastSingle_SubsetType) {
891 891
892 sk_sp<SkData> encoded(SkData::MakeFromFileName(path.c_st r())); 892 sk_sp<SkData> encoded(SkData::MakeFromFileName(path.c_st r()));
893 const SkColorType colorType = fColorTypes[fCurrentColorT ype]; 893 const SkColorType colorType = fColorTypes[fCurrentColorT ype];
894 uint32_t sampleSize = brdSampleSizes[fCurrentSampleSize] ; 894 uint32_t sampleSize = brdSampleSizes[fCurrentSampleSize] ;
895 int currentSubsetType = fCurrentSubsetType++; 895 int currentSubsetType = fCurrentSubsetType++;
896 896
897 int width = 0; 897 int width = 0;
898 int height = 0; 898 int height = 0;
899 if (!valid_brd_bench(encoded.get(), colorType, sampleSiz e, minOutputSize, 899 if (!valid_brd_bench(encoded, colorType, sampleSize, min OutputSize,
900 &width, &height)) { 900 &width, &height)) {
901 break; 901 break;
902 } 902 }
903 903
904 SkString basename = SkOSPath::Basename(path.c_str()); 904 SkString basename = SkOSPath::Basename(path.c_str());
905 SkIRect subset; 905 SkIRect subset;
906 const uint32_t subsetSize = sampleSize * minOutputSize; 906 const uint32_t subsetSize = sampleSize * minOutputSize;
907 switch (currentSubsetType) { 907 switch (currentSubsetType) {
908 case kTopLeft_SubsetType: 908 case kTopLeft_SubsetType:
909 basename.append("_TopLeft"); 909 basename.append("_TopLeft");
(...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after
1303 1303
1304 return 0; 1304 return 0;
1305 } 1305 }
1306 1306
1307 #if !defined SK_BUILD_FOR_IOS 1307 #if !defined SK_BUILD_FOR_IOS
1308 int main(int argc, char** argv) { 1308 int main(int argc, char** argv) {
1309 SkCommandLineFlags::Parse(argc, argv); 1309 SkCommandLineFlags::Parse(argc, argv);
1310 return nanobench_main(); 1310 return nanobench_main();
1311 } 1311 }
1312 #endif 1312 #endif
OLDNEW
« no previous file with comments | « bench/ColorCodecBench.cpp ('k') | dm/DM.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698