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

Issue 23068027: Animated WebP: Optimize decoding in case of seeking (Closed)

Created:
7 years, 4 months ago by urvang (Google)
Modified:
7 years, 3 months ago
CC:
blink-reviews, eae+blinkwatch, dglazkov+blink, jeez
Base URL:
https://chromium.googlesource.com/chromium/blink.git@add_noblend_image
Visibility:
Public.

Description

Animated WebP: Optimize decoding in case of seeking In case of WebP, it can be inferred whether an animation frame contains alpha without decoding the frame. WebP also has a mode where a frame overwrites the corresponding rectangle on the previous frame. These two were added to Chromium here: https://codereview.chromium.org/22802020/ So, we optimize findRequiredPreviousFrame() for cases when a frame is known to be opaque or it overwrites pixels on the previous frame. BUG=229641 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=156723

Patch Set 1 : #

Total comments: 2

Patch Set 2 : Renames and comments #

Total comments: 22

Patch Set 3 : More tests, renames #

Patch Set 4 : comment #

Total comments: 22

Patch Set 5 : #

Patch Set 6 : Fix assert fail on debug #

Unified diffs Side-by-side diffs Delta from patch set Stats (+236 lines, -118 lines) Patch
M Source/core/platform/graphics/chromium/DeferredImageDecoderTest.cpp View 1 2 3 4 7 chunks +9 lines, -9 lines 0 comments Download
M Source/core/platform/graphics/chromium/ImageDecodingStoreTest.cpp View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M Source/core/platform/graphics/chromium/ImageFrameGeneratorTest.cpp View 1 2 3 4 3 chunks +8 lines, -8 lines 0 comments Download
M Source/core/platform/graphics/chromium/test/MockImageDecoder.h View 1 2 3 4 2 chunks +3 lines, -3 lines 0 comments Download
M Source/core/platform/image-decoders/ImageDecoder.h View 1 2 3 4 6 chunks +37 lines, -16 lines 0 comments Download
M Source/core/platform/image-decoders/ImageDecoder.cpp View 1 2 3 4 2 chunks +6 lines, -1 line 0 comments Download
M Source/core/platform/image-decoders/ImageDecoderTest.cpp View 1 2 4 chunks +85 lines, -36 lines 0 comments Download
M Source/core/platform/image-decoders/ImageFrame.cpp View 1 2 3 chunks +3 lines, -1 line 0 comments Download
M Source/core/platform/image-decoders/gif/GIFImageDecoder.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/platform/image-decoders/gif/GIFImageReader.h View 1 2 3 4 2 chunks +3 lines, -3 lines 0 comments Download
M Source/core/platform/image-decoders/gif/GIFImageReader.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/core/platform/image-decoders/webp/WEBPImageDecoder.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/platform/image-decoders/webp/WEBPImageDecoder.cpp View 1 2 3 4 5 4 chunks +20 lines, -26 lines 0 comments Download
M Source/core/platform/image-decoders/webp/WEBPImageDecoderTest.cpp View 1 2 3 4 5 4 chunks +58 lines, -11 lines 0 comments Download

Messages

Total messages: 16 (0 generated)
urvang (Google)
7 years, 4 months ago (2013-08-21 23:51:05 UTC) #1
Peter Kasting
https://codereview.chromium.org/23068027/diff/3001/Source/core/platform/image-decoders/ImageDecoder.h File Source/core/platform/image-decoders/ImageDecoder.h (right): https://codereview.chromium.org/23068027/diff/3001/Source/core/platform/image-decoders/ImageDecoder.h#newcode72 Source/core/platform/image-decoders/ImageDecoder.h:72: }; I don't think I really understand what's going ...
7 years, 4 months ago (2013-08-22 00:08:36 UTC) #2
urvang (Google)
Thanks Peter! Pls check if the comments make more sense now. https://codereview.chromium.org/23068027/diff/3001/Source/core/platform/image-decoders/ImageDecoder.h File Source/core/platform/image-decoders/ImageDecoder.h (right): ...
7 years, 4 months ago (2013-08-22 01:49:35 UTC) #3
Peter Kasting
https://codereview.chromium.org/23068027/diff/8001/Source/core/platform/image-decoders/ImageDecoder.cpp File Source/core/platform/image-decoders/ImageDecoder.cpp (right): https://codereview.chromium.org/23068027/diff/8001/Source/core/platform/image-decoders/ImageDecoder.cpp#newcode165 Source/core/platform/image-decoders/ImageDecoder.cpp:165: && currBuffer->originalFrameRect().contains(IntRect(IntPoint(), size()))) Nit: Since we clamp the frame ...
7 years, 4 months ago (2013-08-22 20:04:36 UTC) #4
urvang (Google)
https://codereview.chromium.org/23068027/diff/8001/Source/core/platform/image-decoders/ImageDecoder.cpp File Source/core/platform/image-decoders/ImageDecoder.cpp (right): https://codereview.chromium.org/23068027/diff/8001/Source/core/platform/image-decoders/ImageDecoder.cpp#newcode165 Source/core/platform/image-decoders/ImageDecoder.cpp:165: && currBuffer->originalFrameRect().contains(IntRect(IntPoint(), size()))) On 2013/08/22 20:04:36, Peter Kasting wrote: ...
7 years, 4 months ago (2013-08-22 23:25:13 UTC) #5
Peter Kasting
https://codereview.chromium.org/23068027/diff/8001/Source/core/platform/image-decoders/ImageDecoder.cpp File Source/core/platform/image-decoders/ImageDecoder.cpp (right): https://codereview.chromium.org/23068027/diff/8001/Source/core/platform/image-decoders/ImageDecoder.cpp#newcode165 Source/core/platform/image-decoders/ImageDecoder.cpp:165: && currBuffer->originalFrameRect().contains(IntRect(IntPoint(), size()))) On 2013/08/22 23:25:14, urvang wrote: > ...
7 years, 4 months ago (2013-08-22 23:39:31 UTC) #6
urvang (Google)
https://codereview.chromium.org/23068027/diff/8001/Source/core/platform/image-decoders/ImageDecoder.cpp File Source/core/platform/image-decoders/ImageDecoder.cpp (right): https://codereview.chromium.org/23068027/diff/8001/Source/core/platform/image-decoders/ImageDecoder.cpp#newcode165 Source/core/platform/image-decoders/ImageDecoder.cpp:165: && currBuffer->originalFrameRect().contains(IntRect(IntPoint(), size()))) > I probably wasn't sure (as ...
7 years, 4 months ago (2013-08-23 00:13:35 UTC) #7
Peter Kasting
https://codereview.chromium.org/23068027/diff/8001/Source/core/platform/image-decoders/ImageDecoder.h File Source/core/platform/image-decoders/ImageDecoder.h (right): https://codereview.chromium.org/23068027/diff/8001/Source/core/platform/image-decoders/ImageDecoder.h#newcode71 Source/core/platform/image-decoders/ImageDecoder.h:71: // * WebP also gives 'BlendAtopBgcolor' option. This is ...
7 years, 4 months ago (2013-08-23 00:17:55 UTC) #8
urvang (Google)
https://codereview.chromium.org/23068027/diff/8001/Source/core/platform/image-decoders/ImageDecoder.h File Source/core/platform/image-decoders/ImageDecoder.h (right): https://codereview.chromium.org/23068027/diff/8001/Source/core/platform/image-decoders/ImageDecoder.h#newcode71 Source/core/platform/image-decoders/ImageDecoder.h:71: // * WebP also gives 'BlendAtopBgcolor' option. This is ...
7 years, 4 months ago (2013-08-23 00:21:31 UTC) #9
Peter Kasting
LGTM https://codereview.chromium.org/23068027/diff/1009/Source/core/platform/graphics/chromium/DeferredImageDecoderTest.cpp File Source/core/platform/graphics/chromium/DeferredImageDecoderTest.cpp (right): https://codereview.chromium.org/23068027/diff/1009/Source/core/platform/graphics/chromium/DeferredImageDecoderTest.cpp#newcode135 Source/core/platform/graphics/chromium/DeferredImageDecoderTest.cpp:135: ImageFrame::Status m_frameStatus; Nit: Name this m_status (same everywhere ...
7 years, 4 months ago (2013-08-23 01:14:02 UTC) #10
urvang (Google)
https://codereview.chromium.org/23068027/diff/1009/Source/core/platform/graphics/chromium/DeferredImageDecoderTest.cpp File Source/core/platform/graphics/chromium/DeferredImageDecoderTest.cpp (right): https://codereview.chromium.org/23068027/diff/1009/Source/core/platform/graphics/chromium/DeferredImageDecoderTest.cpp#newcode135 Source/core/platform/graphics/chromium/DeferredImageDecoderTest.cpp:135: ImageFrame::Status m_frameStatus; On 2013/08/23 01:14:02, Peter Kasting wrote: > ...
7 years, 4 months ago (2013-08-23 02:34:31 UTC) #11
urvang (Google)
+Darin for OWNERS review on the following files: Source/core/platform/graphics/chromium/DeferredImageDecoderTest.cpp Source/core/platform/graphics/chromium/ImageDecodingStoreTest.cpp Source/core/platform/graphics/chromium/ImageFrameGeneratorTest.cpp Source/core/platform/graphics/chromium/test/MockImageDecoder.h @Darin: These are ...
7 years, 4 months ago (2013-08-23 18:44:50 UTC) #12
darin (slow to review)
LGTM (deferring to pkasting)
7 years, 4 months ago (2013-08-23 20:47:32 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/urvang@google.com/23068027/44001
7 years, 4 months ago (2013-08-24 00:21:54 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/urvang@google.com/23068027/54001
7 years, 3 months ago (2013-08-26 18:16:52 UTC) #15
commit-bot: I haz the power
7 years, 3 months ago (2013-08-26 20:11:29 UTC) #16
Message was sent while issue was closed.
Change committed as 156723

Powered by Google App Engine
This is Rietveld 408576698