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

Side by Side Diff: third_party/WebKit/Source/platform/graphics/DecodingImageGenerator.cpp

Issue 2398453002: Rewrap comments to 80 columns in Source/platform/graphics/. (Closed)
Patch Set: Review feedback 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 } 71 }
72 72
73 bool DecodingImageGenerator::onGetPixels(const SkImageInfo& info, 73 bool DecodingImageGenerator::onGetPixels(const SkImageInfo& info,
74 void* pixels, 74 void* pixels,
75 size_t rowBytes, 75 size_t rowBytes,
76 SkPMColor table[], 76 SkPMColor table[],
77 int* tableCount) { 77 int* tableCount) {
78 TRACE_EVENT1("blink", "DecodingImageGenerator::getPixels", "frame index", 78 TRACE_EVENT1("blink", "DecodingImageGenerator::getPixels", "frame index",
79 static_cast<int>(m_frameIndex)); 79 static_cast<int>(m_frameIndex));
80 80
81 // Implementation doesn't support scaling yet so make sure we're not given a d ifferent size. 81 // Implementation doesn't support scaling yet, so make sure we're not given a
82 // different size.
82 if (info.width() != getInfo().width() || info.height() != getInfo().height()) 83 if (info.width() != getInfo().width() || info.height() != getInfo().height())
83 return false; 84 return false;
84 85
85 if (info.colorType() != getInfo().colorType()) { 86 if (info.colorType() != getInfo().colorType()) {
86 // blink::ImageFrame may have changed the owning SkBitmap to kOpaque_SkAlpha Type after fully decoding the image frame, 87 // blink::ImageFrame may have changed the owning SkBitmap to
87 // so if we see a request for opaque, that is ok even if our initial alpha t ype was not opaque. 88 // kOpaque_SkAlphaType after fully decoding the image frame, so if we see a
89 // request for opaque, that is ok even if our initial alpha type was not
90 // opaque.
88 return false; 91 return false;
89 } 92 }
90 93
91 PlatformInstrumentation::willDecodeLazyPixelRef(uniqueID()); 94 PlatformInstrumentation::willDecodeLazyPixelRef(uniqueID());
92 bool decoded = m_frameGenerator->decodeAndScale( 95 bool decoded = m_frameGenerator->decodeAndScale(
93 m_data.get(), m_allDataReceived, m_frameIndex, getInfo(), pixels, 96 m_data.get(), m_allDataReceived, m_frameIndex, getInfo(), pixels,
94 rowBytes); 97 rowBytes);
95 PlatformInstrumentation::didDecodeLazyPixelRef(); 98 PlatformInstrumentation::didDecodeLazyPixelRef();
96 99
97 return decoded; 100 return decoded;
98 } 101 }
99 102
100 bool DecodingImageGenerator::onQueryYUV8(SkYUVSizeInfo* sizeInfo, 103 bool DecodingImageGenerator::onQueryYUV8(SkYUVSizeInfo* sizeInfo,
101 SkYUVColorSpace* colorSpace) const { 104 SkYUVColorSpace* colorSpace) const {
102 // YUV decoding does not currently support progressive decoding. See comment i n ImageFrameGenerator.h. 105 // YUV decoding does not currently support progressive decoding. See comment
106 // in ImageFrameGenerator.h.
103 if (!m_canYUVDecode || !m_allDataReceived) 107 if (!m_canYUVDecode || !m_allDataReceived)
104 return false; 108 return false;
105 109
106 TRACE_EVENT1("blink", "DecodingImageGenerator::queryYUV8", "sizes", 110 TRACE_EVENT1("blink", "DecodingImageGenerator::queryYUV8", "sizes",
107 static_cast<int>(m_frameIndex)); 111 static_cast<int>(m_frameIndex));
108 112
109 if (colorSpace) 113 if (colorSpace)
110 *colorSpace = kJPEG_SkYUVColorSpace; 114 *colorSpace = kJPEG_SkYUVColorSpace;
111 115
112 return m_frameGenerator->getYUVComponentSizes(m_data.get(), sizeInfo); 116 return m_frameGenerator->getYUVComponentSizes(m_data.get(), sizeInfo);
113 } 117 }
114 118
115 bool DecodingImageGenerator::onGetYUV8Planes(const SkYUVSizeInfo& sizeInfo, 119 bool DecodingImageGenerator::onGetYUV8Planes(const SkYUVSizeInfo& sizeInfo,
116 void* planes[3]) { 120 void* planes[3]) {
117 // YUV decoding does not currently support progressive decoding. See comment i n ImageFrameGenerator.h. 121 // YUV decoding does not currently support progressive decoding. See comment
122 // in ImageFrameGenerator.h.
118 ASSERT(m_canYUVDecode && m_allDataReceived); 123 ASSERT(m_canYUVDecode && m_allDataReceived);
119 124
120 TRACE_EVENT1("blink", "DecodingImageGenerator::getYUV8Planes", "frame index", 125 TRACE_EVENT1("blink", "DecodingImageGenerator::getYUV8Planes", "frame index",
121 static_cast<int>(m_frameIndex)); 126 static_cast<int>(m_frameIndex));
122 127
123 PlatformInstrumentation::willDecodeLazyPixelRef(uniqueID()); 128 PlatformInstrumentation::willDecodeLazyPixelRef(uniqueID());
124 bool decoded = 129 bool decoded =
125 m_frameGenerator->decodeToYUV(m_data.get(), m_frameIndex, sizeInfo.fSizes, 130 m_frameGenerator->decodeToYUV(m_data.get(), m_frameIndex, sizeInfo.fSizes,
126 planes, sizeInfo.fWidthBytes); 131 planes, sizeInfo.fWidthBytes);
127 PlatformInstrumentation::didDecodeLazyPixelRef(); 132 PlatformInstrumentation::didDecodeLazyPixelRef();
128 133
129 return decoded; 134 return decoded;
130 } 135 }
131 136
132 SkImageGenerator* DecodingImageGenerator::create(SkData* data) { 137 SkImageGenerator* DecodingImageGenerator::create(SkData* data) {
133 RefPtr<SegmentReader> segmentReader = 138 RefPtr<SegmentReader> segmentReader =
134 SegmentReader::createFromSkData(sk_ref_sp(data)); 139 SegmentReader::createFromSkData(sk_ref_sp(data));
135 // We just need the size of the image, so we have to temporarily create an Ima geDecoder. Since 140 // We just need the size of the image, so we have to temporarily create an
136 // we only need the size, it doesn't really matter about premul or not, or gam ma settings. 141 // ImageDecoder. Since we only need the size, the premul and gamma settings
142 // don't really matter.
137 std::unique_ptr<ImageDecoder> decoder = ImageDecoder::create( 143 std::unique_ptr<ImageDecoder> decoder = ImageDecoder::create(
138 segmentReader, true, ImageDecoder::AlphaPremultiplied, 144 segmentReader, true, ImageDecoder::AlphaPremultiplied,
139 ImageDecoder::GammaAndColorProfileApplied); 145 ImageDecoder::GammaAndColorProfileApplied);
140 if (!decoder || !decoder->isSizeAvailable()) 146 if (!decoder || !decoder->isSizeAvailable())
141 return nullptr; 147 return nullptr;
142 148
143 const IntSize size = decoder->size(); 149 const IntSize size = decoder->size();
144 const SkImageInfo info = 150 const SkImageInfo info =
145 SkImageInfo::MakeN32Premul(size.width(), size.height()); 151 SkImageInfo::MakeN32Premul(size.width(), size.height());
146 152
147 RefPtr<ImageFrameGenerator> frame = ImageFrameGenerator::create( 153 RefPtr<ImageFrameGenerator> frame = ImageFrameGenerator::create(
148 SkISize::Make(size.width(), size.height()), false); 154 SkISize::Make(size.width(), size.height()), false);
149 if (!frame) 155 if (!frame)
150 return nullptr; 156 return nullptr;
151 157
152 return new DecodingImageGenerator(frame, info, segmentReader.release(), true, 158 return new DecodingImageGenerator(frame, info, segmentReader.release(), true,
153 0); 159 0);
154 } 160 }
155 161
156 } // namespace blink 162 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698