skia2/third_party
Leon Scroggins III b0b625b796 GIF: Better check for frame dependency
If a frame does not have a valid transparent index and it covers the
prior frame, it does not really depend on that frame. Instead, it
depends on the frame that the prior frame depends on.

Determine this once we have parsed the local color map (if any), so a
transparent index out of range of the color map is not considered
valid.

Share code that determines whether a frame has a transparent pixel.

Add a test that we compute the dependencies correctly. randPixelsAnim.gif
has 13 frames. After the first, the frames cover all combinations of

- Whether the prior frame was keep, restoreBG or restoreToPrevious
- Whether the new frame covers the prior frame
- Whether the new frame has a transparent pixel

(It only does so when using a global color table. It may make sense to
expand the test to also cover using local color tables.)

The test caught a bug where we incorrectly reused an existing
SkColorTable for a different frame. Fix that bug by keeping track of
the transparent index associated with the current SkColorTable.

Change-Id: I3cf6be7f612990fa7a00d9e74d116d31bd227526
Reviewed-on: https://skia-review.googlesource.com/6402
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2017-01-03 19:07:41 +00:00
..
angle2 GN: ANGLE build completes now on Windows 2016-10-17 16:45:39 +00:00
cpu-features GN: Android 2016-08-25 14:50:44 -07:00
dng_sdk Reland "Build SkRawCodec in GN" 2016-10-31 09:02:57 -07:00
etc1 Revert of Depend on ETC1 via DEPS instead of a direct third_party checkin. (patchset #1 id:1 of https://codereview.chromium.org/1296253003/ ) 2015-08-17 11:15:00 -07:00
expat Allow most third_party targets to use system libraries if asked. 2016-11-01 16:17:38 +00:00
freetype/include/freetype-android Roll third_party/externals/freetype 4d3f7ca8cedb..ffd8f622360 2016-12-08 15:22:37 +00:00
freetype2 Allow most third_party targets to use system libraries if asked. 2016-11-01 16:17:38 +00:00
gif GIF: Better check for frame dependency 2017-01-03 19:07:41 +00:00
harfbuzz GN: build sfntly, icu, harfbuzz 2016-08-03 15:08:04 -07:00
icu Allow most third_party targets to use system libraries if asked. 2016-11-01 16:17:38 +00:00
jsoncpp GN: dm 2016-07-27 13:55:27 -07:00
ktx Revert "Remove all KTX support" 2016-12-16 13:52:09 +00:00
libjpeg-turbo Apple's Clang can't assemble jsimd_arm_... 2016-11-14 15:03:46 +00:00
libmicrohttpd GN/Win: everything links on my machine. 2016-10-12 16:39:42 +00:00
libpng GN: turn on libpng SSE2 filters 2016-11-07 22:36:42 +00:00
libsdl Viewer on Mac. 2016-10-20 14:57:49 +00:00
libwebp Allow most third_party targets to use system libraries if asked. 2016-11-01 16:17:38 +00:00
lua GN: build Lua tools when skia_use_lua. 2016-11-11 17:34:36 +00:00
native_app_glue Add Android viewer to GN 2016-10-21 15:19:32 +00:00
piex Reland "Build SkRawCodec in GN" 2016-10-31 09:02:57 -07:00
sfntly Compile the skia library for windows using gn. 2016-09-16 13:29:57 -07:00
yasm Make yasm-android executable 2016-07-26 13:46:16 -07:00
zlib Allow most third_party targets to use system libraries if asked. 2016-11-01 16:17:38 +00:00
BUILD.gn GN: Android 2016-08-25 14:50:44 -07:00
README BUG=skia:5602 2016-09-02 11:19:34 -07:00
third_party.gni Allow most third_party targets to use system libraries if asked. 2016-11-01 16:17:38 +00:00

The third_party directory contains a set of dependencies from outside sources
that are needed to build various components and tools within Skia.  

Some of these dependencies reside within the Skia repo, while others are pulled 
from other repositories and placed in the third_party/externals directory
during build. These external dependencies are defined in a DEPS file.

Products in third_party are subject to their own respective license terms.  The
license for each project should be included in the source itself via a license
header or file.  If the source itself does not include a license header or file,
create a README that refers to reliable documentation of the project's license
terms on the web.