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

Issue 1680333004: Add support for encoding/decoding WebP images. (Closed)

Created:
4 years, 10 months ago by nyquist
Modified:
4 years, 10 months ago
CC:
chromium-reviews, anandc+watch-blimp_chromium.org, maniscalco+watch-blimp_chromium.org, sriramsr+watch-blimp_chromium.org, nyquist+watch-blimp_chromium.org, marcinjb+watch-blimp_chromium.org, kmarshall+watch-blimp_chromium.org, dtrainor+watch-blimp_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@serialize-deserialize-images-framework
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Add support for encoding/decoding WebP images. This CL adds support for always encoding all images within SkPicture to WebP. On the decoding side it also assumes that the input will be WebP. The pixels from Skia are premultiplied, but the import functions available from WebP only supports un-premultiplied data, so the code unpremultiples the values during the encoding step. Also, the quality and method configuration is hard coded since any change in it would change the hash of the data. Also, the alpha-channel is always used, since the WebP encoder will optimize the alpha-channel if all values are 255. BUG=577262 Committed: https://crrev.com/6c3ec5f996e1d405bec3bf7dd46eaba4ae5f2a80 Cr-Commit-Position: refs/heads/master@{#376034}

Patch Set 1 #

Total comments: 10

Patch Set 2 : Merged in BlimpImageSerializationProcessor::Mode split #

Patch Set 3 : Simplify WebPDecoder and assume premultiplied alpha channel #

Total comments: 10

Patch Set 4 : Add unpremultiply-step #

Patch Set 5 : Always assume alpha-channel in decoder #

Total comments: 7

Patch Set 6 : Addressed comments about WebP again #

Patch Set 7 : merged origin/master #

Total comments: 2

Patch Set 8 : address minor last comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+348 lines, -6 lines) Patch
M blimp/client/BUILD.gn View 2 chunks +3 lines, -0 lines 0 comments Download
M blimp/client/DEPS View 1 chunk +1 line, -0 lines 0 comments Download
M blimp/client/app/blimp_startup.cc View 2 chunks +9 lines, -0 lines 0 comments Download
A blimp/client/feature/compositor/decoding_image_generator.h View 1 chunk +47 lines, -0 lines 0 comments Download
A blimp/client/feature/compositor/decoding_image_generator.cc View 1 chunk +58 lines, -0 lines 0 comments Download
M blimp/common/BUILD.gn View 1 2 chunks +3 lines, -0 lines 0 comments Download
M blimp/common/DEPS View 1 chunk +1 line, -0 lines 0 comments Download
M blimp/common/compositor/blimp_image_serialization_processor.cc View 1 2 3 4 5 6 7 2 chunks +125 lines, -6 lines 0 comments Download
A blimp/common/compositor/webp_decoder.h View 1 chunk +25 lines, -0 lines 0 comments Download
A blimp/common/compositor/webp_decoder.cc View 1 2 3 4 5 6 7 1 chunk +76 lines, -0 lines 0 comments Download

Messages

Total messages: 31 (12 generated)
nyquist
dtrainor: PTAL //blimp urvang: PTAL WebP-related code and DEPS
4 years, 10 months ago (2016-02-10 22:10:43 UTC) #2
urvang
https://codereview.chromium.org/1680333004/diff/1/blimp/common/compositor/blimp_remote_image_serializer.cc File blimp/common/compositor/blimp_remote_image_serializer.cc (right): https://codereview.chromium.org/1680333004/diff/1/blimp/common/compositor/blimp_remote_image_serializer.cc#newcode24 blimp/common/compositor/blimp_remote_image_serializer.cc:24: if (len < 10) Don't you need first 14 ...
4 years, 10 months ago (2016-02-10 23:54:43 UTC) #3
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1680333004/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1680333004/20001
4 years, 10 months ago (2016-02-11 02:34:58 UTC) #5
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/145038)
4 years, 10 months ago (2016-02-11 02:55:14 UTC) #7
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1680333004/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1680333004/40001
4 years, 10 months ago (2016-02-11 05:18:27 UTC) #9
nyquist
urvang: PTAL https://codereview.chromium.org/1680333004/diff/1/blimp/common/compositor/blimp_remote_image_serializer.cc File blimp/common/compositor/blimp_remote_image_serializer.cc (right): https://codereview.chromium.org/1680333004/diff/1/blimp/common/compositor/blimp_remote_image_serializer.cc#newcode24 blimp/common/compositor/blimp_remote_image_serializer.cc:24: if (len < 10) On 2016/02/10 23:54:42, ...
4 years, 10 months ago (2016-02-11 05:19:23 UTC) #10
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/145059)
4 years, 10 months ago (2016-02-11 05:30:41 UTC) #12
David Trainor- moved to gerrit
blimp lgtm. webp stuff lgtm as well but i'm not an expert in that area.
4 years, 10 months ago (2016-02-11 16:58:38 UTC) #13
urvang
https://codereview.chromium.org/1680333004/diff/40001/blimp/common/compositor/blimp_image_serialization_processor.cc File blimp/common/compositor/blimp_image_serialization_processor.cc (right): https://codereview.chromium.org/1680333004/diff/40001/blimp/common/compositor/blimp_image_serialization_processor.cc#newcode89 blimp/common/compositor/blimp_image_serialization_processor.cc:89: return RgbPictureImport(pixels, &WebPPictureImportRGBA, picture); WebPPictureImportRGBA() and WebPPictureImportBGRA() both assume ...
4 years, 10 months ago (2016-02-13 00:24:36 UTC) #14
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1680333004/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1680333004/80001
4 years, 10 months ago (2016-02-16 23:36:58 UTC) #16
nyquist
urvang: PTAL Difference between patch set 4 and 5 is just what the decoder assumes. ...
4 years, 10 months ago (2016-02-16 23:37:10 UTC) #17
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/146557)
4 years, 10 months ago (2016-02-16 23:49:46 UTC) #19
urvang
Mostly OK, just a few suggestions... https://codereview.chromium.org/1680333004/diff/80001/blimp/common/compositor/blimp_image_serialization_processor.cc File blimp/common/compositor/blimp_image_serialization_processor.cc (right): https://codereview.chromium.org/1680333004/diff/80001/blimp/common/compositor/blimp_image_serialization_processor.cc#newcode66 blimp/common/compositor/blimp_image_serialization_processor.cc:66: config.quality = 100.0; ...
4 years, 10 months ago (2016-02-17 01:49:08 UTC) #20
nyquist
urvang: PTAL https://codereview.chromium.org/1680333004/diff/80001/blimp/common/compositor/blimp_image_serialization_processor.cc File blimp/common/compositor/blimp_image_serialization_processor.cc (right): https://codereview.chromium.org/1680333004/diff/80001/blimp/common/compositor/blimp_image_serialization_processor.cc#newcode66 blimp/common/compositor/blimp_image_serialization_processor.cc:66: config.quality = 100.0; // between 0 (smallest ...
4 years, 10 months ago (2016-02-17 16:56:44 UTC) #21
urvang
lgtm one or two minor suggestions https://codereview.chromium.org/1680333004/diff/80001/blimp/common/compositor/webp_decoder.cc File blimp/common/compositor/webp_decoder.cc (right): https://codereview.chromium.org/1680333004/diff/80001/blimp/common/compositor/webp_decoder.cc#newcode74 blimp/common/compositor/webp_decoder.cc:74: bitmap->setAlphaType(kUnpremul_SkAlphaType); On 2016/02/17 ...
4 years, 10 months ago (2016-02-17 18:48:34 UTC) #23
nyquist
all done. Also did the part about the DCHECK you suggested. https://codereview.chromium.org/1680333004/diff/120001/blimp/common/compositor/blimp_image_serialization_processor.cc File blimp/common/compositor/blimp_image_serialization_processor.cc (right): ...
4 years, 10 months ago (2016-02-17 22:39:01 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1680333004/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1680333004/140001
4 years, 10 months ago (2016-02-17 22:43:18 UTC) #27
commit-bot: I haz the power
Committed patchset #8 (id:140001)
4 years, 10 months ago (2016-02-17 23:42:26 UTC) #29
commit-bot: I haz the power
4 years, 10 months ago (2016-02-17 23:45:03 UTC) #31
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/6c3ec5f996e1d405bec3bf7dd46eaba4ae5f2a80
Cr-Commit-Position: refs/heads/master@{#376034}

Powered by Google App Engine
This is Rietveld 408576698