Go to file
msarett 8ff6ca6e73 Disable dithering in libjpeg-turbo for 565 decodes
libjpeg-turbo turns on dithering by default.  When we
decode to RGBA, it uses Floyd-Steinberg dithering -
consistent with the libjpeg6b gold standard,

When we decode to 565, it uses ordered dithering.  Ordered
dithering for 565 is not part of the 6b standard (libjpeg6b
doesn't even support 565) and is causing us a number of
issues:
(1) Ordered dithering + nearest neighbor sampling is
causing checkerboard visual artifacts in some outputs.
(2) The ordered dither function in libjpeg-turbo actually
behaves differently depending on the alignment of the
memory that it decodes into.  This means that two image
decodes that should be identical may look different just
because they decode into different memory blocks.  This
was causing some diffs on Gold with the scanline_subset
test that were causing me some confusion.
(3) Maybe not the best evidence, but visually I can't tell
a difference with and without dithering (except when
nearest neighbor scaling causes the checkerboard artifact).
(4) Turning off dithering should be a more significant
performance improvement than you might expect.
libjpeg-turbo has SIMD color conversions to 565, but when
dithering is on, it defaults to scalar code.

This CL should make every jpeg decode to 565 on Gold look
slightly different.  Yay!

BUG=skia:

Review URL: https://codereview.chromium.org/1349563007
2015-09-18 12:06:04 -07:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Add shared mutex benchmark. 2015-09-18 10:50:35 -07:00
bin sync-and-gyp: Update shell script to correct the syntax of functions 2015-09-11 20:49:00 -04:00
cmake small tweaks to cmake_build 2015-09-15 10:17:08 -07:00
debugger Make SkGraphics::Term a no-op, stop calling it. 2015-09-09 07:35:42 -07:00
dm Use rounding when converting desiredScale to a sampleSize 2015-09-18 11:24:44 -07:00
example Make SkGraphics::Term a no-op, stop calling it. 2015-09-09 07:35:42 -07:00
experimental Make SkGraphics::Term a no-op, stop calling it. 2015-09-09 07:35:42 -07:00
forth Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
gm add new gm to test overlapping lcd text 2015-09-18 12:03:13 -07:00
gyp Revert of add ImageShader, sharing code with its Bitmap cousin (patchset #10 id:180001 of https://codereview.chromium.org/1342113002/ ) 2015-09-18 09:36:12 -07:00
include Add debug mode to shared mutex. 2015-09-18 07:00:48 -07:00
infra Moved committer list to chrome-infra-auth and deleted it from the repo 2015-09-02 13:37:54 -07:00
platform_tools adb_wait_for_device: Skip adb wait-for-device 2015-09-03 10:41:07 -07:00
resources Add HangingS.ttf to test large flourish caps. 2015-08-26 10:44:48 -07:00
samplecode Forward declare SkStrokeRec in SkPathEffect 2015-09-15 12:53:07 -07:00
site DOC: Mention install_dependencies in Android quickstart 2015-09-17 08:28:15 -07:00
src Disable dithering in libjpeg-turbo for 565 decodes 2015-09-18 12:06:04 -07:00
tests Disable dithering in libjpeg-turbo for 565 decodes 2015-09-18 12:06:04 -07:00
third_party 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
tools Add slice tool 2015-09-18 09:04:43 -07:00
.gitignore Update Android Apps to use gradle 2015-07-24 13:15:59 -07:00
AUTHORS Optimize RGB16 blitV functions with NEON for ARM platform. 2015-07-15 07:07:30 -07:00
BUILD.public Update BUILD.public a bit. 2015-08-18 08:51:49 -07: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 skia: ANGLE roll 2015-09-15 13:47:25 -07:00
Doxyfile Documentation: SkCanvas API 2015-05-19 10:21:29 -07:00
gyp_skia Support SKIA_OUT on Mac and ChromeOS 2015-05-04 08:04:28 -07:00
gyp_skia.py Roll gyp deps from 1765 to 1796. 2013-11-21 18:11:14 +00:00
HASHTAGS Fix cr SKPs naming 2015-03-31 08:03:02 -07:00
LICENSE Add files added to Skia HEAD in google3 to the Git repo. 2015-08-17 12:58:10 -07:00
make.bat Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
make.py Fix make.py: BUILDTYPE 2015-08-05 11:30:28 -04:00
Makefile Remove experimental/PdfViewer 2015-08-04 14:08:44 -07:00
OWNERS add root files from chrome 2013-08-13 19:11:15 +00:00
PRESUBMIT.py update presubmit to know about include/private 2015-07-28 08:54:12 -07: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
SKP_VERSION Update SKP version 2015-09-13 14:05:54 -07:00
whitespace.txt Testing CQ committer list 2015-09-02 16:25:17 -07:00

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

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