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

Issue 1287423002: Scanline decoding for bmp (Closed)

Created:
5 years, 4 months ago by msarett
Modified:
5 years, 3 months ago
Reviewers:
scroggo, djsollen
CC:
reviews_skia.org
Base URL:
https://skia.googlesource.com/skia.git@master
Target Ref:
refs/heads/master
Project:
skia
Visibility:
Public.

Description

Scanline decoding for bmp Redesigns SkScanlineDecoder.h to indicate the ordering in which the scanlines are provided Refactors SkSwizzler::Fill() to include the zeroInit check and to actually be correct. BUG=skia:3257 BUG=skia:4198 Committed: https://skia.googlesource.com/skia/+/5406d6f39ad042e7a0a0d4ea16beca4fe2b66492

Patch Set 1 : Scanline decoding for bmp without reordering #

Total comments: 13

Patch Set 2 : Response to comments - Does not compile - Needs rebase for conv_poss update #

Total comments: 9

Patch Set 3 : Rebase on Emmalee's SkScaledCodec #

Patch Set 4 : Added encodedFormat to SkBmpSD and removed fInputFormat from SkBmpCodec #

Patch Set 5 : Rebase on Leon's conversion possible #

Patch Set 6 : Fixing a comment #

Patch Set 7 : Add SkScanlineOrder enum to SkScanlineDecoder.h #

Total comments: 4

Patch Set 8 : Response to Leon's comments #

Total comments: 4

Patch Set 9 : Scaling for all types of bmps #

Total comments: 5

Patch Set 10 : Fixes #

Total comments: 10

Patch Set 11 : For review #

Total comments: 1

Patch Set 12 : Response to comments from previous patch sets #

Total comments: 25

Patch Set 13 : Use SkScanlineOrder instead of RowOrder #

Total comments: 4

Patch Set 14 : Rebase + bug fix in SkScaledCodec #

Total comments: 2

Patch Set 15 : Improved explanation of kBottomUp mode #

Total comments: 14

Patch Set 16 : Rebase on changes to gif iterator #

Patch Set 17 : Response to comments from Patch Set 15 #

Total comments: 3

Patch Set 18 : Fixed nit #

Total comments: 3

Patch Set 19 : SkScaledCodec helper functions do not belong in the public API #

Patch Set 20 : Fix windows errors #

Unified diffs Side-by-side diffs Delta from patch set Stats (+842 lines, -501 lines) Patch
M dm/DMSrcSink.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +31 lines, -14 lines 0 comments Download
M include/codec/SkScanlineDecoder.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +86 lines, -12 lines 0 comments Download
M src/codec/SkBmpCodec.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 6 chunks +63 lines, -12 lines 0 comments Download
M src/codec/SkBmpCodec.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 6 chunks +83 lines, -4 lines 0 comments Download
M src/codec/SkBmpMaskCodec.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +9 lines, -3 lines 0 comments Download
M src/codec/SkBmpMaskCodec.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +29 lines, -29 lines 0 comments Download
M src/codec/SkBmpRLECodec.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +10 lines, -8 lines 0 comments Download
M src/codec/SkBmpRLECodec.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 10 chunks +98 lines, -83 lines 0 comments Download
M src/codec/SkBmpStandardCodec.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +13 lines, -3 lines 0 comments Download
M src/codec/SkBmpStandardCodec.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 4 chunks +75 lines, -112 lines 0 comments Download
M src/codec/SkCodecPriv.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +56 lines, -0 lines 0 comments Download
M src/codec/SkCodec_libgif.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 4 chunks +9 lines, -22 lines 0 comments Download
M src/codec/SkCodec_libpng.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +2 lines, -2 lines 0 comments Download
M src/codec/SkJpegCodec.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +4 lines, -10 lines 0 comments Download
M src/codec/SkMaskSwizzler.h View 1 2 3 4 5 6 7 8 2 chunks +7 lines, -3 lines 0 comments Download
M src/codec/SkMaskSwizzler.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 11 chunks +90 lines, -53 lines 0 comments Download
M src/codec/SkScaledCodec.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 3 chunks +53 lines, -31 lines 0 comments Download
M src/codec/SkScanlineDecoder.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +3 lines, -0 lines 0 comments Download
M src/codec/SkSwizzler.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +9 lines, -4 lines 0 comments Download
M src/codec/SkSwizzler.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 27 chunks +107 lines, -93 lines 0 comments Download
M tests/CodexTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +4 lines, -2 lines 0 comments Download
M tests/SwizzlerTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -1 line 0 comments Download

Depends on Patchset:

Messages

Total messages: 37 (11 generated)
msarett
I'm uploading now in the interest of breaking up this change. This is not ready ...
5 years, 4 months ago (2015-08-13 21:01:52 UTC) #3
scroggo
https://codereview.chromium.org/1287423002/diff/20001/src/codec/SkBmpCodec.cpp File src/codec/SkBmpCodec.cpp (right): https://codereview.chromium.org/1287423002/diff/20001/src/codec/SkBmpCodec.cpp#newcode571 src/codec/SkBmpCodec.cpp:571: return NULL; Can this case be reached? https://codereview.chromium.org/1287423002/diff/20001/src/codec/SkBmpMaskCodec.cpp File ...
5 years, 4 months ago (2015-08-13 21:25:36 UTC) #4
msarett
All of these things are still true: >This works properly on a call to getScanlines(height). ...
5 years, 4 months ago (2015-08-14 15:44:48 UTC) #5
scroggo
https://codereview.chromium.org/1287423002/diff/20001/src/codec/SkBmpStandardCodec.cpp File src/codec/SkBmpStandardCodec.cpp (right): https://codereview.chromium.org/1287423002/diff/20001/src/codec/SkBmpStandardCodec.cpp#newcode417 src/codec/SkBmpStandardCodec.cpp:417: SkCodec::Result r = fCodec->decode(rowInfo, dst, rowBytes, fOpts); On 2015/08/14 ...
5 years, 4 months ago (2015-08-14 21:53:01 UTC) #6
msarett
https://codereview.chromium.org/1287423002/diff/40001/src/codec/SkBmpCodec.cpp File src/codec/SkBmpCodec.cpp (right): https://codereview.chromium.org/1287423002/diff/40001/src/codec/SkBmpCodec.cpp#newcode597 src/codec/SkBmpCodec.cpp:597: // TODO(msarett): Consider other optimizations for this codec. On ...
5 years, 4 months ago (2015-08-17 19:16:13 UTC) #7
msarett
Derek, can you look at the API when you get a chance? This is still ...
5 years, 4 months ago (2015-08-18 15:23:38 UTC) #9
djsollen
api 1gtm
5 years, 4 months ago (2015-08-18 19:25:13 UTC) #10
msarett
Leon, this is ready for review when you're back in town :). https://codereview.chromium.org/1287423002/diff/220001/src/codec/SkScanlineDecoder.cpp File src/codec/SkScanlineDecoder.cpp ...
5 years, 4 months ago (2015-08-19 14:22:40 UTC) #12
scroggo
I looked at these one patch set at a time, so my comments are spread ...
5 years, 3 months ago (2015-08-26 22:40:09 UTC) #14
msarett
https://codereview.chromium.org/1287423002/diff/160001/src/codec/SkBmpCodec.h File src/codec/SkBmpCodec.h (right): https://codereview.chromium.org/1287423002/diff/160001/src/codec/SkBmpCodec.h#newcode126 src/codec/SkBmpCodec.h:126: virtual SkCodec::Result prepareToDecode(const SkImageInfo& dstInfo, On 2015/08/26 22:40:09, scroggo ...
5 years, 3 months ago (2015-08-27 15:00:27 UTC) #15
scroggo
https://codereview.chromium.org/1287423002/diff/160001/src/codec/SkBmpCodec.h File src/codec/SkBmpCodec.h (right): https://codereview.chromium.org/1287423002/diff/160001/src/codec/SkBmpCodec.h#newcode126 src/codec/SkBmpCodec.h:126: virtual SkCodec::Result prepareToDecode(const SkImageInfo& dstInfo, On 2015/08/27 15:00:27, msarett ...
5 years, 3 months ago (2015-08-27 20:14:23 UTC) #16
msarett
https://codereview.chromium.org/1287423002/diff/280001/dm/DMSrcSink.cpp File dm/DMSrcSink.cpp (right): https://codereview.chromium.org/1287423002/diff/280001/dm/DMSrcSink.cpp#newcode265 dm/DMSrcSink.cpp:265: return Error::Nonfatal("Test mode not supported"); On 2015/08/27 20:14:22, scroggo ...
5 years, 3 months ago (2015-08-27 21:21:46 UTC) #17
scroggo
> Rebase + bug fix in SkScaledCodec Please try to remember to use separate uploads ...
5 years, 3 months ago (2015-08-28 13:28:47 UTC) #20
msarett
Sorry for adding the fix with the rebase. https://codereview.chromium.org/1287423002/diff/280001/src/codec/SkBmpStandardCodec.cpp File src/codec/SkBmpStandardCodec.cpp (right): https://codereview.chromium.org/1287423002/diff/280001/src/codec/SkBmpStandardCodec.cpp#newcode66 src/codec/SkBmpStandardCodec.cpp:66: return ...
5 years, 3 months ago (2015-08-28 14:05:58 UTC) #21
scroggo
lgtm https://codereview.chromium.org/1287423002/diff/380001/include/codec/SkScaledCodec.h File include/codec/SkScaledCodec.h (right): https://codereview.chromium.org/1287423002/diff/380001/include/codec/SkScaledCodec.h#newcode45 include/codec/SkScaledCodec.h:45: * The output can be interpreted as an ...
5 years, 3 months ago (2015-08-28 14:35:01 UTC) #22
msarett
Derek, would you mind taking another look at the API? I think it's changed a ...
5 years, 3 months ago (2015-08-28 15:09:18 UTC) #23
scroggo
lgtm https://codereview.chromium.org/1287423002/diff/420001/src/codec/SkBmpRLECodec.cpp File src/codec/SkBmpRLECodec.cpp (right): https://codereview.chromium.org/1287423002/diff/420001/src/codec/SkBmpRLECodec.cpp#newcode204 src/codec/SkBmpRLECodec.cpp:204: int dstX = SkScaledCodec::GetDstCoord(x, fSampleX); nit: could be ...
5 years, 3 months ago (2015-08-28 15:11:23 UTC) #24
msarett
Derek, would you mind taking another look at the API? I think it's changed a ...
5 years, 3 months ago (2015-08-28 15:16:29 UTC) #25
djsollen
https://codereview.chromium.org/1287423002/diff/440001/include/codec/SkScaledCodec.h File include/codec/SkScaledCodec.h (right): https://codereview.chromium.org/1287423002/diff/440001/include/codec/SkScaledCodec.h#newcode47 include/codec/SkScaledCodec.h:47: * This does not need to be called and ...
5 years, 3 months ago (2015-08-28 20:21:03 UTC) #26
msarett
This is much better I think.
5 years, 3 months ago (2015-08-28 20:35:56 UTC) #27
scroggo
On 2015/08/28 20:35:56, msarett wrote: > This is much better I think. Agreed. LGTM
5 years, 3 months ago (2015-08-28 20:57:57 UTC) #28
djsollen
public api lgtm
5 years, 3 months ago (2015-08-31 13:34:59 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1287423002/460001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1287423002/460001
5 years, 3 months ago (2015-08-31 13:38:46 UTC) #31
commit-bot: I haz the power
Try jobs failed on following builders: Build-Win-MSVC-x86-Debug-Trybot on client.skia.compile (JOB_FAILED, http://build.chromium.org/p/client.skia.compile/builders/Build-Win-MSVC-x86-Debug-Trybot/builds/2965) Build-Win-MSVC-x86_64-Debug-Trybot on client.skia.compile (JOB_FAILED, ...
5 years, 3 months ago (2015-08-31 13:41:48 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1287423002/480001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1287423002/480001
5 years, 3 months ago (2015-08-31 13:49:56 UTC) #36
commit-bot: I haz the power
5 years, 3 months ago (2015-08-31 13:55:25 UTC) #37
Message was sent while issue was closed.
Committed patchset #20 (id:480001) as
https://skia.googlesource.com/skia/+/5406d6f39ad042e7a0a0d4ea16beca4fe2b66492

Powered by Google App Engine
This is Rietveld 408576698