skia2/third_party
Leon Scroggins III 33deb7ed4d Make SkCodec more flexible about its required frame
SkCodec sets fRequiredFrame to be the earliest possible frame that a
given frame can depend on. e.g.

- Frame A fills the screen, Keep
- Frame B does not cover A, Keep
- Frame C covers B but not A, and is opaque

Frame C can depend on either A or B. SkCodec already reports that C
depends on A. This CL allows a client of SkCodec to use either A or
B to create C.

Also expose the DisposalMethod. Since any frame between A and C can
be used to create C except for DisposePrevious frames, the client
needs to be able to know the disposal method so they do not try to
use such a frame to create C.

Further, the disposal method can be used to give the client a better
idea whether they will continue to need a frame. (e.g. if frame i is
DisposePrevious and depends on i-1, the client may not want to steal
i-1 to create i, since i+1 may also depend on i-1.)

TODO: Share code for decoding prior frames between GIF and WEBP

Change-Id: I91a5ae22ba3d8dfbe0bde833fa67ae3da0d81ed6
Reviewed-on: https://skia-review.googlesource.com/13722
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Chris Blume <cblume@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2017-06-07 20:15:17 +00:00
..
angle2 Roll ANGLE 2017-06-02 18:36:15 +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 "Remove compressed (ETC1) texture support from Ganesh" 2017-05-22 20:14:50 +00:00
expat Strengthen is_official_build, update docs. 2017-03-03 15:41:24 +00:00
freetype/include/freetype-android Roll freetype. 2017-03-15 14:16:22 +00:00
freetype2 Strengthen is_official_build, update docs. 2017-03-03 15:41:24 +00:00
gif Make SkCodec more flexible about its required frame 2017-06-07 20:15:17 +00:00
harfbuzz harfbuzz 1.3.0 → 1.4.2 2017-02-07 16:01:57 +00:00
icu Strengthen is_official_build, update docs. 2017-03-03 15:41:24 +00:00
imgui Integrate the ImGui library with viewer 2017-02-10 19:17:03 +00:00
jsoncpp Strengthen is_official_build, update docs. 2017-03-03 15:41:24 +00:00
libjpeg-turbo Added support for building for tvOS 2017-03-14 22:55:04 +00:00
libmicrohttpd GN/Win: everything links on my machine. 2016-10-12 16:39:42 +00:00
libpng Strengthen is_official_build, update docs. 2017-03-03 15:41:24 +00:00
libsdl Remove unused files in third_party/libsdl. 2017-02-06 18:25:22 +00:00
libwebp Revert "Manual revert: Add support for writing ICC profiles to webp encoder" 2017-04-06 20:34:45 +00:00
lua Strengthen is_official_build, update docs. 2017-03-03 15:41:24 +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
spirv-headers wired up SPIR-V validator 2017-03-16 14:42:20 +00:00
spirv-tools Reduce absolute paths in generated ninja files in skia 2017-05-24 20:16:55 +00:00
vulkan/vulkan Use system Vulkan headers except when no building with vulkan support 2017-04-25 18:30:37 +00:00
zlib Turn on x86-specific code when building zlib. 2017-03-23 13:36:31 +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.