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

Side by Side Diff: src/codec/SkPngCodec.cpp

Issue 2360863003: Make SkColorSpaceXform::New() take bare ptrs (Closed)
Patch Set: Created 4 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
« no previous file with comments | « src/codec/SkJpegCodec.cpp ('k') | src/codec/SkWebpCodec.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 2015 Google Inc. 2 * Copyright 2015 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 "SkBitmap.h" 8 #include "SkBitmap.h"
9 #include "SkCodecPriv.h" 9 #include "SkCodecPriv.h"
10 #include "SkColorPriv.h" 10 #include "SkColorPriv.h"
(...skipping 1093 matching lines...) Expand 10 before | Expand all | Expand 10 after
1104 return false; 1104 return false;
1105 } 1105 }
1106 png_read_update_info(fPng_ptr, fInfo_ptr); 1106 png_read_update_info(fPng_ptr, fInfo_ptr);
1107 1107
1108 // Reset fSwizzler and fColorXform. We can't do this in onRewind() because the 1108 // Reset fSwizzler and fColorXform. We can't do this in onRewind() because the
1109 // interlaced scanline decoder may need to rewind. 1109 // interlaced scanline decoder may need to rewind.
1110 fSwizzler.reset(nullptr); 1110 fSwizzler.reset(nullptr);
1111 fColorXform = nullptr; 1111 fColorXform = nullptr;
1112 1112
1113 if (needs_color_xform(dstInfo, this->getInfo())) { 1113 if (needs_color_xform(dstInfo, this->getInfo())) {
1114 fColorXform = SkColorSpaceXform::New(sk_ref_sp(this->getInfo().colorSpac e()), 1114 fColorXform = SkColorSpaceXform::New(this->getInfo().colorSpace(), dstIn fo.colorSpace());
1115 sk_ref_sp(dstInfo.colorSpace()));
1116 SkASSERT(fColorXform); 1115 SkASSERT(fColorXform);
1117 } 1116 }
1118 1117
1119 // If the image is RGBA and we have a color xform, we can skip the swizzler. 1118 // If the image is RGBA and we have a color xform, we can skip the swizzler.
1120 // FIXME (msarett): 1119 // FIXME (msarett):
1121 // Support more input types to fColorXform (ex: RGB, Gray) and skip the swiz zler more often. 1120 // Support more input types to fColorXform (ex: RGB, Gray) and skip the swiz zler more often.
1122 if (fColorXform && SkEncodedInfo::kRGBA_Color == this->getEncodedInfo().colo r() && 1121 if (fColorXform && SkEncodedInfo::kRGBA_Color == this->getEncodedInfo().colo r() &&
1123 !options.fSubset) 1122 !options.fSubset)
1124 { 1123 {
1125 fXformMode = kColorOnly_XformMode; 1124 fXformMode = kColorOnly_XformMode;
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
1299 SkCodec* outCodec = nullptr; 1298 SkCodec* outCodec = nullptr;
1300 if (read_header(streamDeleter.get(), chunkReader, &outCodec, nullptr, nullpt r)) { 1299 if (read_header(streamDeleter.get(), chunkReader, &outCodec, nullptr, nullpt r)) {
1301 // Codec has taken ownership of the stream. 1300 // Codec has taken ownership of the stream.
1302 SkASSERT(outCodec); 1301 SkASSERT(outCodec);
1303 streamDeleter.release(); 1302 streamDeleter.release();
1304 return outCodec; 1303 return outCodec;
1305 } 1304 }
1306 1305
1307 return nullptr; 1306 return nullptr;
1308 } 1307 }
OLDNEW
« no previous file with comments | « src/codec/SkJpegCodec.cpp ('k') | src/codec/SkWebpCodec.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698