diff options
author | Matt Sarett <msarett@google.com> | 2016-12-14 11:48:31 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2016-12-14 17:28:35 +0000 |
commit | 7a1cc6766d07f343923587deaf14e1a3965c2b8f (patch) | |
tree | 448f914a9cec02fa0c0ed5f2651975d0d7a6950c /bench/StreamBench.cpp | |
parent | ff11428526843d3e03feb6843bd21f2d80536415 (diff) |
SkPngCodec: Add support for 16-bit pngs (step 1)
Android plans to use 16-bit png to encode higher precision assets.
This CL should not change any behavior or cause diffs on Gold.
It simply moves the 16-bit -> 8-bit strip from libpng to SkSwizzler.
As a follow-up, I plan to add support for 16-bit input to
SkColorSpaceXform. This will require a new swizzler function that
just samples or subsets 16-bit values (but does not strip to 8-bit).
An alternative implementation could avoid the additional swizzler
functions by deciding whether or not to call png_set_strip() at
decode time (we would still need the swizzler fn to sample/subset
16-bit values). I find this strategy to be cleaner than that.
I would rather handle 16-bit rgb(a) all the time than *some* of
the time. And this is implementation is also more efficient
than libpng. Though it is also more skia code.
Gray and gray alpha are left alone until I know whether anyone
wants high precision gray support.
b/32984164
Change-Id: I44e307473526de3f4bba06879c5fffa25d480f56
Reviewed-on: https://skia-review.googlesource.com/6020
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Diffstat (limited to 'bench/StreamBench.cpp')
0 files changed, 0 insertions, 0 deletions