skia2/resources
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
..
android_fonts Font variations. 2015-05-20 09:21:04 -07:00
empty_images Do not create an SkRawCodec with zero dimensions 2016-12-02 22:23:35 +00:00
fonts GM: add test for type1 font 2016-09-20 13:11:01 -07:00
icc_profiles Reject non-D50 matrices from ICC profiles 2016-10-31 18:06:24 +00:00
invalid_images Stop supporting kUnknown_BmpHeaderType 2016-12-15 21:48:03 +00:00
1x1.png Forgot to add resources with new test 2015-08-19 08:12:57 -07:00
1x3.png Forgot to add resources with new test 2015-08-19 08:12:57 -07:00
1x16.png Forgot to add resources with new test 2015-08-19 08:12:57 -07:00
2x2.png Forgot to add resources with new test 2015-08-19 08:12:57 -07:00
3x1.png Forgot to add resources with new test 2015-08-19 08:12:57 -07:00
3x3.png Forgot to add resources with new test 2015-08-19 08:12:57 -07:00
16x1.png Forgot to add resources with new test 2015-08-19 08:12:57 -07:00
arrow.png Bench baseline for mostly 0 image. 2013-09-25 21:42:12 +00:00
baby_tux.png Reland "Properly set alpha type in webp decode." 2014-04-24 18:55:13 +00:00
baby_tux.webp Reland "Properly set alpha type in webp decode." 2014-04-24 18:55:13 +00:00
box.gif add box image to resources; landing separately to avoid issues with 2014-05-27 21:15:35 +00:00
brickwork_normal-map.jpg Add normal map sample 2015-07-09 09:04:16 -07:00
brickwork-texture.jpg Add normal map sample 2015-07-09 09:04:16 -07:00
CMYK.jpg Move resource dir from gm to trunk 2013-04-15 17:36:08 +00:00
color_wheel_with_profile.png Set SkColorSpace object for PNGs and parse ICC profiles 2016-03-04 13:27:35 -08:00
color_wheel.gif Replace color_wheel.* with beautiful versions I made with Skia. 2014-10-28 06:33:07 -07:00
color_wheel.ico SkCodec: add wbmp class 2015-03-27 12:16:53 -07:00
color_wheel.jpg Replace color_wheel.* with beautiful versions I made with Skia. 2014-10-28 06:33:07 -07:00
color_wheel.png Replace color_wheel.* with beautiful versions I made with Skia. 2014-10-28 06:33:07 -07:00
color_wheel.webp Replace color_wheel.* with beautiful versions I made with Skia. 2014-10-28 06:33:07 -07:00
colorTables.gif Report repetition count in SkCodec 2016-11-01 08:28:28 -07:00
cropped_mandrill.jpg Add getYUV8Planes() API to SkCodec 2016-01-22 14:46:42 -08:00
dng_with_preview.dng Optimize the SkRawStream when the input is an asset stream 2016-02-05 08:21:19 -08:00
exif-orientation-2-ur.jpg Parse icc profiles and exif orientation from jpeg markers 2016-03-21 08:04:40 -07:00
gamut.png Add interesting features to visualize_color_gamut 2016-05-27 14:01:02 -07:00
google_chrome.ico Ico test with embedded png 2015-04-01 12:09:22 -07:00
grayscale.jpg Remove PDF JPEG shortcut, since it fails on grayscale JPEGs. 2014-12-02 06:37:21 -08:00
half-transparent-white-pixel.png Reland "Properly set alpha type in webp decode." 2014-04-24 18:55:13 +00:00
half-transparent-white-pixel.webp Reland "Properly set alpha type in webp decode." 2014-04-24 18:55:13 +00:00
icc-v2-gbr.jpg Parse icc profiles and exif orientation from jpeg markers 2016-03-21 08:04:40 -07:00
iconstrip.png Add png for difficult but common blit cases. 2016-05-11 11:12:17 -07:00
index8.png Scanline decoding for wbmp 2015-08-05 12:58:26 -07:00
mandrill_16.png More general GM for testing bitmap filtering, including checkerboards, images, and text. 2013-05-31 12:50:39 +00:00
mandrill_32.png More general GM for testing bitmap filtering, including checkerboards, images, and text. 2013-05-31 12:50:39 +00:00
mandrill_64.png More general GM for testing bitmap filtering, including checkerboards, images, and text. 2013-05-31 12:50:39 +00:00
mandrill_128.png More general GM for testing bitmap filtering, including checkerboards, images, and text. 2013-05-31 12:50:39 +00:00
mandrill_256.png More general GM for testing bitmap filtering, including checkerboards, images, and text. 2013-05-31 12:50:39 +00:00
mandrill_512_q075.jpg Add resources/mandrill_512_q075.jpg 2014-08-27 13:44:34 -04:00
mandrill_512.png More general GM for testing bitmap filtering, including checkerboards, images, and text. 2013-05-31 12:50:39 +00:00
mandrill_h1v1.jpg Add getYUV8Planes() API to SkCodec 2016-01-22 14:46:42 -08:00
mandrill_h2v1.jpg Add getYUV8Planes() API to SkCodec 2016-01-22 14:46:42 -08:00
mandrill.wbmp SkCodec: add wbmp class 2015-03-27 12:16:53 -07:00
nov-talk-sequence.txt demo tweaks, scale up perlin, add call to flush for fps 2015-11-09 13:10:30 -08:00
pdf_command_stream.txt SkPDF/Bench: add bench for SkPDFSharedStream (deflate) 2016-02-24 15:17:20 -08:00
plane_interlaced.png Merge SkCodec with SkScanlineDecoder 2015-09-30 08:57:14 -07:00
plane.png Move resource dir from gm to trunk 2013-04-15 17:36:08 +00:00
randPixels.bmp Flatten resources directory 2014-05-09 18:08:24 +00:00
randPixels.gif Flatten resources directory 2014-05-09 18:08:24 +00:00
randPixels.jpg Flatten resources directory 2014-05-09 18:08:24 +00:00
randPixels.png Flatten resources directory 2014-05-09 18:08:24 +00:00
randPixels.webp Flatten resources directory 2014-05-09 18:08:24 +00:00
randPixelsAnim.gif GIF: Better check for frame dependency 2017-01-03 19:07:41 +00:00
randPixelsOffset.gif Only attempt index8 if underlying GIF is index8 2016-12-16 19:51:52 +00:00
README BUG=skia:5602 2016-09-02 11:19:34 -07:00
rle.bmp Fix scanline decoding of rare RLE bmps 2016-02-11 08:41:01 -08:00
sample_1mp_rotated.dng Updates Piex and uses it to obtain the DNG dimensions. 2016-02-17 08:04:00 -08:00
sample_1mp.dng Add RAW decoding into Skia. 2016-01-25 08:26:16 -08:00
slides_content2.lua Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
slides_content.lua add code-style for slides 2014-11-02 19:19:34 -08:00
slides_transitions.lua update slides 2014-11-04 13:24:47 -08:00
slides_utils.lua update slides 2014-11-04 13:24:47 -08:00
slides.lua update slides 2014-11-04 13:24:47 -08:00
test640x479.gif Add a test for decoding a gif with sampleSize 4. 2015-05-14 14:44:14 -07:00
test.lua allow for lua click handlers 2014-10-11 11:28:07 -07:00
webp-color-profile-crash.webp Parse ICC profiles from webps 2016-08-24 07:36:06 -07:00
webp-color-profile-lossless.webp Parse ICC profiles from webps 2016-08-24 07:36:06 -07:00
webp-color-profile-lossy-alpha.webp Parse ICC profiles from webps 2016-08-24 07:36:06 -07:00
webp-color-profile-lossy.webp Parse ICC profiles from webps 2016-08-24 07:36:06 -07:00
yellow_rose.png Reland "Properly set alpha type in webp decode." 2014-04-24 18:55:13 +00:00
yellow_rose.webp Reland "Properly set alpha type in webp decode." 2014-04-24 18:55:13 +00:00

The resources directory includes some third party content used by Skia.
Licenses for that code are included in this file.

Openclipart

Openclipart uses the Creative Commons Zero 1.0 Public Domain License every time
an artist uploads a piece of clipart to Openclipart to make it clear the artist
is releasing the creative work for anyone to use for any reason, even
commercially. This act of "sharing" is the foundation Openclipart is based upon.
More details on the license can be found at
https://creativecommons.org/publicdomain/zero/1.0/.