Go to file
Leon Scroggins III fc49b403eb Use correct color table for prior GIF frames
While investigating skbug.com/5883 I noticed that we use the color
table for the current frame even while recursively decoding frames that
the current frame depends on.

This CL updates fCurrColorTable, fCurrColorTableIsReal and fSwizzler
before decoding prior frames, and then sets them back afterwards.

Move telling the client about the color table into prepareToDecode,
since the other callers do not need to do so. (That is only necessary
for decoding to index 8, which is unsupported for frames with
dependencies.)

Add a test that exposes the bug. colorTables.gif has a local color
table in its second frame that does not match the global table used by
the first frame.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4208

Change-Id: Id2dc9e3283adfd92801d2f38726afa74574b1955
Reviewed-on: https://skia-review.googlesource.com/4208
Reviewed-by: Joost Ouwerling <joostouwerling@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2016-10-31 19:23:10 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench remove xfermode from public api 2016-10-28 20:06:17 +00:00
bin Build for Android from Windows, work in progress. 2016-10-26 14:37:43 +00:00
cmake Add gif sources to public.bzl. 2016-10-24 19:26:22 +00:00
debugger Remove some ancillary users of SkSurface::MakeRenderTargetDirect 2016-08-01 05:53:23 -07:00
dm Remove SkAutoTUnref and SkAutoTDelete from public includes. 2016-10-27 09:30:08 -07:00
example simplify composing raster surface into window 2016-09-29 19:58:04 +00:00
experimental GrConstColorProcessor uses 4f colors in the destination space 2016-10-26 00:48:33 +00:00
fuzz remove xfermode from public api 2016-10-28 20:06:17 +00:00
gm Draw Alpha8 + color filter correctly in software 2016-10-31 14:42:52 +00:00
gn remove legacy xfermode build flag 2016-10-31 17:14:55 +00:00
gyp Add missing sk_tool_utils flags_common dependency 2016-10-31 07:22:24 -07:00
include Tag images as sRGB by default in SkCodec 2016-10-31 19:19:33 +00:00
infra Update Nexus6p to MR1 build. 2016-10-31 17:53:46 +00:00
platform_tools Add mips dsp arch variants to gyp_to_android.py. 2016-09-27 07:37:20 -07:00
resources Use correct color table for prior GIF frames 2016-10-31 19:23:10 +00:00
samplecode remove xfermode from public api 2016-10-28 20:06:17 +00:00
site Documentation: SkBitmap->SkImage 2016-10-28 16:21:19 +00:00
src Use correct color table for prior GIF frames 2016-10-31 19:23:10 +00:00
tests Use correct color table for prior GIF frames 2016-10-31 19:23:10 +00:00
third_party Reland "Build SkRawCodec in GN" 2016-10-31 09:02:57 -07:00
tools update androidsdkcanvas for SkBlendMode 2016-10-31 05:27:57 -07:00
.gitignore Remove skia.conf from .gitignore 2016-10-26 14:50:09 +00:00
.gn Basic standalone GN configs. 2016-07-21 12:25:45 -07:00
AUTHORS Add contributor to Skia AUTHORS file 2016-09-01 07:55:43 -07:00
BUILD.gn Fork skia_vulkan_sdk default value on is_android. 2016-10-31 18:41:13 +00:00
codereview.settings Automatically add a docs preview link and NOTRY=true when there are only docs changes. 2015-02-26 10:16:13 -08:00
CONTRIBUTING Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
CQ_COMMITTERS Moved committer list to chrome-infra-auth and deleted it from the repo 2015-09-02 13:37:54 -07:00
DEPS Remove SkMovie and giflib 2016-10-27 12:24:43 -07:00
Doxyfile Make the housekeeper upload doxygen to a newer bucket 2016-10-04 13:23:57 -07:00
fix-gn-sln.py Script to fix GN generated solutions 2016-10-31 17:01:16 +00:00
gyp_skia Make Win runtime DLLs writeable before overwriting 2016-03-18 08:33:38 -07:00
gyp_skia.py Roll gyp deps from 1765 to 1796. 2013-11-21 18:11:14 +00:00
LICENSE BUG=skia:5602 2016-09-02 11:19:34 -07:00
make.bat Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
make.py GYP: remove stale skia_scalar gyp variable 2015-11-10 13:25:12 -05:00
Makefile Add visualbench as valid target to Makefile 2015-12-18 08:05:06 -08:00
OWNERS add root files from chrome 2013-08-13 19:11:15 +00:00
PRESUBMIT.py Split SkSL and utils apart again into .gni files. 2016-10-26 18:56:37 +00:00
public.bzl remove bunch of legacy flags 2016-10-31 17:18:37 +00:00
README Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
README.chromium Update README.chromium. 2015-06-11 13:19:24 -07:00
skia.gyp Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
whitespace.txt Test CL 2016-10-26 20:33:49 +00:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://skia.org.