aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/libpng
Commit message (Collapse)AuthorAge
* GN: dmGravatar mtklein2016-07-27
| | | | | | | | | | | | | | | | This builds, links, and runs on Linux. Have not tried Mac. I've tested is_debug={true,false} and is_component_build. It's neat that the component build DM works, but it's also an indication I've missed an essential flag or two... it shouldn't work. :) The GPU backend isn't working yet, but all the software configurations I've tried look good. This fleshes out all the other parts of SkCodec too... I noticed we weren't able to decode gifs or webp. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2188643002 Review-Url: https://codereview.chromium.org/2188643002
* GN: fixes for MacGravatar mtklein2016-07-27
| | | | | | | | | | | | | | - Make fiddle build on Mac (skipping GL). - Now that we're building in SkCodec, we depend on libpng and libjpeg-turbo unconditionally, not just on Linux. - Re-arrange third_party a bit so that our targets are Fuchsia/Chrome compatible. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2184133002 NOTREECHECKS=true This doesn't affect Chrome/Blink, so landing through the closed tree. Review-Url: https://codereview.chromium.org/2184133002
* Prefix png functionsGravatar scroggo2016-06-06
| | | | | | | | | This way multiple copies of libpng can coexist. Update libpng's README.google GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2046603002 Review-Url: https://codereview.chromium.org/2046603002
* Update pnglibconf.hGravatar scroggo2016-06-06
| | | | | | | | | | It should have been updated when we updated the version. Update README.google to better reflect the difference from the original file. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2042833002 Review-Url: https://codereview.chromium.org/2042833002
* Fix undefined behavior in libpngGravatar scroggo2016-06-03
| | | | | | | | | Check for a null source before calling memcpy. BUG=skia:5390 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2040433002 Review-Url: https://codereview.chromium.org/2040433002
* Check libpng directly into third_party/Gravatar scroggo2016-06-02
| | | | | | | | | | | | | | | | | | | With this change, the CMake build, which does not use DEPS to sync external projects, is able to build and use the same version of libpng that is used in other builds. This will allow all platforms (including Google3 CMake build) to test on the same version of libpng, so we do not need to make SkPngCodec support all versions of libpng. - Update CMakeLists.txt to use the checked in libpng. - Check in libpng version 1.6.22rc01 - Update README.google - Replace our old LICENSE file with the latest one from libpng GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2033063003 CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot Review-Url: https://codereview.chromium.org/2033063003
* Update libpng to 1.6.22rc01Gravatar msarett2016-05-17
| | | | | | | | | | | | If there are no issues, this version will be released May 26. Let's start testing with it, so we are ready to update Chrome when it is available. BUG=skia:4710 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1983853002 Review-Url: https://codereview.chromium.org/1983853002
* Update libpng to 1.6.22betaGravatar msarett2016-02-19
| | | | | | | | | | Intel SSE filter optimizations have been upstreamed. Let's test on the upstream version (which we can use in Android). BUG=skia:4573 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1710083007 Review URL: https://codereview.chromium.org/1710083007
* Update the version of libpng used by Skia testsGravatar scroggo2016-02-19
| | | | | | | | | | | | | | | | | | | | The version of libpng we were using has some security vulnerabilities. Update to a newer version - 1.6.20 (http://sourceforge.net/p/libpng/code/ci/047737496a77eeb97f9991919dac08ca3c149711/). Update pnglibconf.h. The new version is a copy of the newer version of the file, with our /* custom settings */ tacked onto the end. (The custom settings are unchanged from the last version.) Update the LICENSE. The new version is a copy of the LICENSE that libpng now includes as a separate file. Update the README file to reflect the change in source of the LICENSE file. BUG=skia:4573 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1453373003 Review URL: https://codereview.chromium.org/1453373003
* sketch hooking into PNG_FILTER_OPTIMIZATIONSGravatar mtklein2016-01-27
| | | | | | | | | | | | | | | | | | | | | | | | | | Local timing says this 4-byte Paeth function takes about 0.3x the time the serial libpng code does, dropping from ~10 cycles per byte to ~2.9. bpp=4 is mainly an easy demo. This approach can work for any bpp up to 16, 1 pixel at a time, at roughly the same cost per pixel. Doing more than 1 pixel at a time is a tricky math problem I have yet to attempt to solve. Everything here can be trivially downgraded to MMX, supporting bpp up to 8. It seems to be a little slower (~3.5 cycles per byte), but it would make the code compatible with every x86 that can still power on. I've tried four approaches: - this way; - doing things naively in 16-bit; - a 16-bit version that requires division by 3 (i.e. mulhi_epu16(..., 0x5580) ); - a mostly 8-bit version of the same. They're all fine, but this one is consistently the fastest I've measured. I'd be happy to settle on the naive 16-bit version too, which would have a very clear implementation that's only minorly slower than this version. The other two are way more complicated, and would require us to draw some serious ASCII diagrams to explain. I have learned that the .skp serialization tests (serialize-8888) have a nice side effect of testing the correctness of these filters! (Since writing the description above, I've bumped things up to {Paeth,Sub,Avg} x { 3 bpp, 4 bpp }.) BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1573943002 Review URL: https://codereview.chromium.org/1573943002
* Fix the build on Android devicesGravatar Matt Sarett2015-11-06
|
* Enable both static and dynamically linked libpngGravatar djsollen2015-04-03
| | | | | | | | | | | All platforms except android are configured to use the statically linked copy of libpng. Android uses the system provided dynamic copy for SkImageDecoder and the static copy for SkCodec. The exception being android framework builds that currently use the dynamic copy everywhere. This CL also enables NEON optimizations for libpng. Review URL: https://codereview.chromium.org/1058823002
* Revert of Enable both static and dynamically linked libpng (patchset #4 ↵Gravatar djsollen2015-04-01
| | | | | | | | | | | | | | | | | | | | | | | id:60001 of https://codereview.chromium.org/1032253003/) Reason for revert: breaking the nexus_9 and ios builds. Original issue's description: > Enable both static and dynamically linked libpng > > All platforms except android are configured to use the statically linked copy of libpng. Android uses the system provided dynamic copy for SkImageDecoder and the static copy for SkCodec. The exception being android framework builds that currently use the dynamic copy everywhere. > > This CL also enables NEON optimizations for libpng. > > Committed: https://skia.googlesource.com/skia/+/2469c999518e7b0063d35e9e2eb074a0477c21ac TBR=scroggo@google.com,msarett@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1050183002
* Enable both static and dynamically linked libpngGravatar djsollen2015-04-01
| | | | | | | | All platforms except android are configured to use the statically linked copy of libpng. Android uses the system provided dynamic copy for SkImageDecoder and the static copy for SkCodec. The exception being android framework builds that currently use the dynamic copy everywhere. This CL also enables NEON optimizations for libpng. Review URL: https://codereview.chromium.org/1032253003
* Add SkCodec, including PNG implementation.Gravatar scroggo2015-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DM: Add a flag to use SkCodec instead of SkImageDecoder. SkCodec: Base class for codecs, allowing creation from an SkStream or an SkData. An SkCodec, on creation, knows properties of the data like its width and height. Further calls can be used to generate the image. TODO: Add scanline iterator SkPngCodec: New decoder for png. Wraps libpng. The code has been repurposed from SkImageDecoder_libpng. TODO: Handle other destination colortypes TODO: Substitute the transpose color TODO: Allow silencing warnings TODO: Use RGB instead of filler? TODO: sRGB SkSwizzler: Simplified version of SkScaledSampler. Unlike the sampler, this object does no sampling. TODO: Implement other swizzles. Requires a gclient sync to pull down libpng. BUG=skia:3257 Committed: https://skia.googlesource.com/skia/+/ca358852b4fed656d11107b2aaf28318a4518b49 (and then reverted) Review URL: https://codereview.chromium.org/930283002
* remove libpng and zlib from third_party Gravatar epoger@google.com2011-06-16
| | | | | | | | http://codereview.appspot.com/4571077 git-svn-id: http://skia.googlecode.com/svn/trunk@1609 2bbb7eff-a529-9590-31e7-b0007b416f81
* add libpng source to repo and make Unix build use itGravatar epoger@google.com2011-06-15
http://codereview.appspot.com/4572067 git-svn-id: http://skia.googlecode.com/svn/trunk@1591 2bbb7eff-a529-9590-31e7-b0007b416f81