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

Unified Diff: third_party/WebKit/Source/platform/image-decoders/webp/WEBPImageDecoder.cpp

Issue 2385993002: Rewrap comments to 80 columns in Source/platform/image-decoders/. (Closed)
Patch Set: Rewrite comment 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/platform/image-decoders/webp/WEBPImageDecoder.cpp
diff --git a/third_party/WebKit/Source/platform/image-decoders/webp/WEBPImageDecoder.cpp b/third_party/WebKit/Source/platform/image-decoders/webp/WEBPImageDecoder.cpp
index 3af5378b1f0bf39427262c9a4fa9088bd07d2002..914def5256a8fb57e0b10d6391df3ad6771b1441 100644
--- a/third_party/WebKit/Source/platform/image-decoders/webp/WEBPImageDecoder.cpp
+++ b/third_party/WebKit/Source/platform/image-decoders/webp/WEBPImageDecoder.cpp
@@ -77,8 +77,8 @@ inline uint32_t blendSrcOverDstNonPremultiplied(uint32_t src, uint32_t dst) {
return SkPackARGB32NoCheck(blendA, blendR, blendG, blendB);
}
-// Returns two point ranges (<left, width> pairs) at row 'canvasY', that belong to 'src' but not 'dst'.
-// A point range is empty if the corresponding width is 0.
+// Returns two point ranges (<left, width> pairs) at row |canvasY| which belong
+// to |src| but not |dst|. A range is empty if its width is 0.
inline void findBlendRangeAtRow(const blink::IntRect& src,
const blink::IntRect& dst,
int canvasY,
@@ -299,17 +299,19 @@ bool WEBPImageDecoder::initFrameBuffer(size_t frameIndex) {
}
buffer.setStatus(ImageFrame::FramePartial);
- // The buffer is transparent outside the decoded area while the image is loading.
- // The correct value of 'hasAlpha' for the frame will be set when it is fully decoded.
+ // The buffer is transparent outside the decoded area while the image is
+ // loading. The correct alpha value for the frame will be set when it is fully
+ // decoded.
buffer.setHasAlpha(true);
return true;
}
size_t WEBPImageDecoder::clearCacheExceptFrame(size_t clearExceptFrame) {
// If |clearExceptFrame| has status FrameComplete, we preserve that frame.
- // Otherwise, we preserve a previous frame with status FrameComplete whose data is required
- // to decode |clearExceptFrame|, either in initFrameBuffer() or ApplyPostProcessing().
- // All other frames can be cleared.
+ // Otherwise, we preserve the most recent previous frame with status
+ // FrameComplete whose data will be required to decode |clearExceptFrame|,
+ // either in initFrameBuffer() or ApplyPostProcessing(). All other frames can
+ // be cleared.
while ((clearExceptFrame < m_frameBufferCache.size()) &&
(m_frameBufferCache[clearExceptFrame].getStatus() !=
ImageFrame::FrameComplete))
@@ -322,7 +324,8 @@ size_t WEBPImageDecoder::clearCacheExceptFrame(size_t clearExceptFrame) {
void WEBPImageDecoder::clearFrameBuffer(size_t frameIndex) {
if (m_demux && m_demuxState >= WEBP_DEMUX_PARSED_HEADER &&
m_frameBufferCache[frameIndex].getStatus() == ImageFrame::FramePartial) {
- // Clear the decoder state so that this partial frame can be decoded again when requested.
+ // Clear the decoder state so that this partial frame can be decoded again
+ // when requested.
clearDecoder();
}
ImageDecoder::clearFrameBuffer(frameIndex);
@@ -376,12 +379,13 @@ void WEBPImageDecoder::applyPostProcessing(size_t frameIndex) {
}
#endif // USE(QCMSLIB)
- // During the decoding of current frame, we may have set some pixels to be transparent (i.e. alpha < 255).
- // However, the value of each of these pixels should have been determined by blending it against the value
- // of that pixel in the previous frame if alpha blend source was 'BlendAtopPreviousFrame'. So, we correct these
- // pixels based on disposal method of the previous frame and the previous frame buffer.
- // FIXME: This could be avoided if libwebp decoder had an API that used the previous required frame
- // to do the alpha-blending by itself.
+ // During the decoding of the current frame, we may have set some pixels to be
+ // transparent (i.e. alpha < 255). If the alpha blend source was
+ // 'BlendAtopPreviousFrame', the values of these pixels should be determined
+ // by blending them against the pixels of the corresponding previous frame.
+ // Compute the correct opaque values now.
+ // FIXME: This could be avoided if libwebp decoder had an API that used the
+ // previous required frame to do the alpha-blending by itself.
if ((m_formatFlags & ANIMATION_FLAG) && frameIndex &&
buffer.getAlphaBlendSource() == ImageFrame::BlendAtopPreviousFrame &&
buffer.requiredPreviousFrameIndex() != kNotFound) {
@@ -389,17 +393,17 @@ void WEBPImageDecoder::applyPostProcessing(size_t frameIndex) {
ASSERT(prevBuffer.getStatus() == ImageFrame::FrameComplete);
ImageFrame::DisposalMethod prevDisposalMethod =
prevBuffer.getDisposalMethod();
- if (prevDisposalMethod ==
- ImageFrame::
- DisposeKeep) { // Blend transparent pixels with pixels in previous canvas.
+ if (prevDisposalMethod == ImageFrame::DisposeKeep) {
+ // Blend transparent pixels with pixels in previous canvas.
for (int y = m_decodedHeight; y < decodedHeight; ++y) {
m_blendFunction(buffer, prevBuffer, top + y, left, width);
}
} else if (prevDisposalMethod == ImageFrame::DisposeOverwriteBgcolor) {
const IntRect& prevRect = prevBuffer.originalFrameRect();
- // We need to blend a transparent pixel with its value just after initFrame() call. That is:
- // * Blend with fully transparent pixel if it belongs to prevRect <-- This is a no-op.
- // * Blend with the pixel in the previous canvas otherwise <-- Needs alpha-blending.
+ // We need to blend a transparent pixel with the starting value (from just
+ // after the initFrame() call). If the pixel belongs to prevRect, the
+ // starting value was fully transparent, so this is a no-op. Otherwise, we
+ // need to blend against the pixel from the previous canvas.
for (int y = m_decodedHeight; y < decodedHeight; ++y) {
int canvasY = top + y;
int left1, width1, left2, width2;
@@ -508,8 +512,9 @@ bool WEBPImageDecoder::decodeSingleFrame(const uint8_t* dataBytes,
colorProfile()))
return setFailed();
buffer.setStatus(ImageFrame::FramePartial);
- // The buffer is transparent outside the decoded area while the image is loading.
- // The correct value of 'hasAlpha' for the frame will be set when it is fully decoded.
+ // The buffer is transparent outside the decoded area while the image is
+ // loading. The correct alpha value for the frame will be set when it is
+ // fully decoded.
buffer.setHasAlpha(true);
buffer.setOriginalFrameRect(IntRect(IntPoint(), size()));
}

Powered by Google App Engine
This is Rietveld 408576698