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

Side by Side Diff: src/images/SkImageDecoder.cpp

Issue 24269006: Add an option on SkImageDecoder to skip writing 0s. (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Rebase, plus update the benchmark Created 7 years, 2 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 | Annotate | Revision Log
« no previous file with comments | « include/core/SkImageDecoder.h ('k') | src/images/SkImageDecoder_libbmp.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 2006 The Android Open Source Project 2 * Copyright 2006 The Android Open Source Project
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 8
9 #include "SkImageDecoder.h" 9 #include "SkImageDecoder.h"
10 #include "SkBitmap.h" 10 #include "SkBitmap.h"
(...skipping 22 matching lines...) Expand all
33 /////////////////////////////////////////////////////////////////////////////// 33 ///////////////////////////////////////////////////////////////////////////////
34 34
35 SkImageDecoder::SkImageDecoder() 35 SkImageDecoder::SkImageDecoder()
36 : fPeeker(NULL) 36 : fPeeker(NULL)
37 , fChooser(NULL) 37 , fChooser(NULL)
38 , fAllocator(NULL) 38 , fAllocator(NULL)
39 , fSampleSize(1) 39 , fSampleSize(1)
40 , fDefaultPref(SkBitmap::kNo_Config) 40 , fDefaultPref(SkBitmap::kNo_Config)
41 , fDitherImage(true) 41 , fDitherImage(true)
42 , fUsePrefTable(false) 42 , fUsePrefTable(false)
43 , fSkipWritingZeroes(false)
43 , fPreferQualityOverSpeed(false) 44 , fPreferQualityOverSpeed(false)
44 , fRequireUnpremultipliedColors(false) { 45 , fRequireUnpremultipliedColors(false) {
45 } 46 }
46 47
47 SkImageDecoder::~SkImageDecoder() { 48 SkImageDecoder::~SkImageDecoder() {
48 SkSafeUnref(fPeeker); 49 SkSafeUnref(fPeeker);
49 SkSafeUnref(fChooser); 50 SkSafeUnref(fChooser);
50 SkSafeUnref(fAllocator); 51 SkSafeUnref(fAllocator);
51 } 52 }
52 53
53 void SkImageDecoder::copyFieldsToOther(SkImageDecoder* other) { 54 void SkImageDecoder::copyFieldsToOther(SkImageDecoder* other) {
54 if (NULL == other) { 55 if (NULL == other) {
55 return; 56 return;
56 } 57 }
57 other->setPeeker(fPeeker); 58 other->setPeeker(fPeeker);
58 other->setChooser(fChooser); 59 other->setChooser(fChooser);
59 other->setAllocator(fAllocator); 60 other->setAllocator(fAllocator);
60 other->setSampleSize(fSampleSize); 61 other->setSampleSize(fSampleSize);
61 if (fUsePrefTable) { 62 if (fUsePrefTable) {
62 other->setPrefConfigTable(fPrefTable); 63 other->setPrefConfigTable(fPrefTable);
63 } else { 64 } else {
64 other->fDefaultPref = fDefaultPref; 65 other->fDefaultPref = fDefaultPref;
65 } 66 }
67 other->setDitherImage(fDitherImage);
68 other->setSkipWritingZeroes(fSkipWritingZeroes);
66 other->setPreferQualityOverSpeed(fPreferQualityOverSpeed); 69 other->setPreferQualityOverSpeed(fPreferQualityOverSpeed);
67 other->setRequireUnpremultipliedColors(fRequireUnpremultipliedColors); 70 other->setRequireUnpremultipliedColors(fRequireUnpremultipliedColors);
68 } 71 }
69 72
70 SkImageDecoder::Format SkImageDecoder::getFormat() const { 73 SkImageDecoder::Format SkImageDecoder::getFormat() const {
71 return kUnknown_Format; 74 return kUnknown_Format;
72 } 75 }
73 76
74 const char* SkImageDecoder::getFormatName() const { 77 const char* SkImageDecoder::getFormatName() const {
75 return GetFormatName(this->getFormat()); 78 return GetFormatName(this->getFormat());
(...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after
461 if (kUnknown_Format == *format) { 464 if (kUnknown_Format == *format) {
462 if (stream->rewind()) { 465 if (stream->rewind()) {
463 *format = GetStreamFormat(stream); 466 *format = GetStreamFormat(stream);
464 } 467 }
465 } 468 }
466 } 469 }
467 delete codec; 470 delete codec;
468 } 471 }
469 return success; 472 return success;
470 } 473 }
OLDNEW
« no previous file with comments | « include/core/SkImageDecoder.h ('k') | src/images/SkImageDecoder_libbmp.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698