Commit Graph

54 Commits

Author SHA1 Message Date
scroggo
11ed6b8140 Add flag to skimage for decoding into unpremul.
Review URL: https://codereview.chromium.org/666073006
2014-10-23 15:42:11 -07:00
bsalomon
49f085dddf "NULL !=" = NULL
R=reed@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/544233002
2014-09-05 13:34:00 -07:00
tfarina
a8e2e1504b Cleanup: Rename SkOSPath functions.
Mostly for brevity and matches better with Python:

Python           | Old C++                 | New C++
os.path.join     | SkOSPath::SkPathJoin    | SkOSPath::Join
os.path.basename | SkOSPath::SkBasename    | SkOSPath::Basename

BUG=None
TEST=make all
R=mtklein@google.com, bsalomon@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/428443002
2014-07-28 19:26:58 -07:00
scroggo
75e62ea9d6 Fix assert in skimage test.
The width and height may not match expected width and height when
sampleSize is not 1.

R=djsollen@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/418363002
2014-07-25 10:26:32 -07:00
reed
bfefc7c95f hide Config in SkImageDecoder -- use SkColorType instead
patch from issue 334613003

TBR=scroggo

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/334793002
2014-06-12 17:40:00 -07:00
epoger
8ff38ccb40 use most innocuous characters possible within skimage output filenames
BUG=skia:2634
R=scroggo@google.com

Author: epoger@google.com

Review URL: https://codereview.chromium.org/302323003
2014-06-02 14:26:18 -07:00
epoger
fc435a020a Revert of stop using brackets within skimage output filenames (https://codereview.chromium.org/303263012/)
Reason for revert:
Broke http://108.170.220.120:10117/builders/Test-ChromeOS-Link-HD4000-x86_64-Release/builds/2806/steps/UploadSKImageResults/logs/stdio :

[13:38:43.401942] /bin/sh: 1: Syntax error: "(" unexpected
[13:38:43.902632] Command /home/chrome-bot/buildbot/skiabot-shuttle-ubuntu12-003/buildbot/third_party/chromium_buildbot/scripts/slave/../../third_party/gsutil/gsutil cp -a private /home/chrome-bot/buildbot/skiabot-shuttle-ubuntu12-003/buildbot/third_party/chromium_buildbot/slave/Test-ChromeOS-Link-HD4000-x86_64-Release/build/skia/out/Release/skimage_out/images/bitmap-64bitMD5/webp-test-webp-(123,263,587,394)/16263897892077508819.png gs://chromium-skia-gm/skimage/output/images/bitmap-64bitMD5/webp-test-webp-(123,263,587,394)/16263897892077508819.png failed with retcode 2, try 1.

Original issue's description:
> stop using brackets within skimage output filenames
>
> BUG=skia:2634
>
> Committed: https://skia.googlesource.com/skia/+/f07892413cd2359549dc187f1d10bc48d7d263ba

R=scroggo@google.com
TBR=scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2634

Author: epoger@google.com

Review URL: https://codereview.chromium.org/314443002
2014-06-02 13:46:21 -07:00
epoger
f07892413c stop using brackets within skimage output filenames
BUG=skia:2634
R=scroggo@google.com

Author: epoger@google.com

Review URL: https://codereview.chromium.org/303263012
2014-06-02 13:35:22 -07:00
commit-bot@chromium.org
28fcae2ec7 Revert of Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/234243002/)
Reason for revert:
Want to reland the original CL.

Original issue's description:
> Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/227433009/)
>
> Reason for revert:
> breaking the Chrome deps roll.
> http://build.chromium.org/p/chromium.linux/builders/Linux%20GN%20%28dbg%29/builds/839/steps/compile/logs/stdio
>
> Original issue's description:
> > Rename kPMColor_SkColorType to kN32_SkColorType.
> >
> > The new name better represents what this flag means.
> >
> > BUG=skia:2384
> >
> > Committed: http://code.google.com/p/skia/source/detail?r=14117
>
> TBR=reed@google.com,scroggo@google.com
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:2384
>
> Committed: http://code.google.com/p/skia/source/detail?r=14144

R=reed@google.com, bensong@google.com
TBR=bensong@google.com, reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2384

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/235523003

git-svn-id: http://skia.googlecode.com/svn/trunk@14156 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-11 17:15:40 +00:00
commit-bot@chromium.org
96edc24598 Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/227433009/)
Reason for revert:
Chrome's side of define changes not easy to figure out quickly. Reverting this for DEPS roll for now.

Original issue's description:
> Rename kPMColor_SkColorType to kN32_SkColorType.
>
> The new name better represents what this flag means.
>
> BUG=skia:2384
>
> Committed: http://code.google.com/p/skia/source/detail?r=14117

R=reed@google.com, scroggo@google.com
TBR=reed@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2384

Author: bensong@google.com

Review URL: https://codereview.chromium.org/234833003

git-svn-id: http://skia.googlecode.com/svn/trunk@14149 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-11 13:47:30 +00:00
commit-bot@chromium.org
d923288e50 Revert of Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/234243002/)
Reason for revert:
fixes on the chrome side are landing (brettw), keep fingers crossed.

Original issue's description:
> Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/227433009/)
>
> Reason for revert:
> breaking the Chrome deps roll.
> http://build.chromium.org/p/chromium.linux/builders/Linux%20GN%20%28dbg%29/builds/839/steps/compile/logs/stdio
>
> Original issue's description:
> > Rename kPMColor_SkColorType to kN32_SkColorType.
> >
> > The new name better represents what this flag means.
> >
> > BUG=skia:2384
> >
> > Committed: http://code.google.com/p/skia/source/detail?r=14117
>
> TBR=reed@google.com,scroggo@google.com
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:2384
>
> Committed: http://code.google.com/p/skia/source/detail?r=14144

R=reed@google.com, scroggo@google.com
TBR=reed@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2384

Author: bensong@google.com

Review URL: https://codereview.chromium.org/233813004

git-svn-id: http://skia.googlecode.com/svn/trunk@14145 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-10 22:49:20 +00:00
commit-bot@chromium.org
757ebd20ef Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/227433009/)
Reason for revert:
breaking the Chrome deps roll.
http://build.chromium.org/p/chromium.linux/builders/Linux%20GN%20%28dbg%29/builds/839/steps/compile/logs/stdio

Original issue's description:
> Rename kPMColor_SkColorType to kN32_SkColorType.
>
> The new name better represents what this flag means.
>
> BUG=skia:2384
>
> Committed: http://code.google.com/p/skia/source/detail?r=14117

R=reed@google.com, scroggo@google.com
TBR=reed@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2384

Author: bensong@google.com

Review URL: https://codereview.chromium.org/234243002

git-svn-id: http://skia.googlecode.com/svn/trunk@14144 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-10 22:36:34 +00:00
commit-bot@chromium.org
24c568c159 add explicit filepaths to render_pictures JSON summary
BUG=skia:2230,skia:1942
R=rmistry@google.com

Author: epoger@google.com

Review URL: https://codereview.chromium.org/226293002

git-svn-id: http://skia.googlecode.com/svn/trunk@14133 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-10 15:39:02 +00:00
commit-bot@chromium.org
149e9a107c Rename kPMColor_SkColorType to kN32_SkColorType.
The new name better represents what this flag means.

BUG=skia:2384
R=reed@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/227433009

git-svn-id: http://skia.googlecode.com/svn/trunk@14117 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-09 20:45:29 +00:00
commit-bot@chromium.org
8a2ad3cae7 add new copyTo version to SkBitmap, which takes SkColorType
BUG=skia:
R=scroggo@google.com, halcanary@google.com, bsalomon@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/171723007

git-svn-id: http://skia.googlecode.com/svn/trunk@13553 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-23 03:59:35 +00:00
scroggo@google.com
5187c4313c More work to integrate skimage with rebaseline tools.
tools/skimage_main.cpp:
Add the ability to write the results to checksum based filenames,
much like GM uses. This will allow using the skpdiff server to
rebaseline images.
Write the keys in the JSON file as <original image>_<pref config>.png,
so it matches gm_json.IMAGE_FILENAME_PATTERN. Also replace '_' with
'-' in the original file name, to avoid confusing the pattern matcher.
The '_' to '-' replacement also happens on the output filename.
Read the keys in a similar manner.
In make_outname, no longer remove a suffix. This fixes a bug where
subset decoding writes multiple subsets to the same file.

tools/rebaseline.py:
Since the filenames written to json files now match
gm_json.IMAGE_FILENAME_PATTERN, enable the option to match based
on configs/tests when rebaselining skimage.

test json files:
Update to match the new format of output.

gm/gm_expectations:
Add a constructor that takes a BitmapAndDigest as input.

tools/tests/skimage_self_test.py:
Test that reading the expectations file just created by skimage with
the same file actually compares to the original file (rather than just
succeeding because expectations were missing).

Change the expectations files to match the new format.

Will require a buildbot change to use the new flag: https://codereview.chromium.org/27389002/

BUG=1466
R=epoger@google.com

Review URL: https://codereview.chromium.org/26297004

git-svn-id: http://skia.googlecode.com/svn/trunk@11902 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-22 00:42:46 +00:00
scroggo@google.com
36c5bdb097 Truly ignore failures in skimage.
If the expectation is set to ignore failures, do not return a
negative 1 (indicating a failure) when a successful decode
does not match the expectation.

If the file could not be decoded at all, report this to the
user depending on the input expectations file:

No expectations:
Report failure. The user wanted to know if the file could be
decoded.

Expectations expected a valid result:
Report failure. The decode should have matched the result.

Empty expectations:
Print a message that the expectation was missing, but still
return success from skimage, since this is a newly added file
(i.e. it has no expectation yet).

Ignore failure:
Return success from skimage, since it is a known failure.

Update the self tests to ensure these behaviors.

R=epoger@google.com

Review URL: https://codereview.chromium.org/22293006

git-svn-id: http://skia.googlecode.com/svn/trunk@11790 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 20:29:37 +00:00
commit-bot@chromium.org
dac4a1d518 Allow sampling GIF images during decode.
SkScaledBitmapSampler:
Add a mode for sampling rows out of order, used by GIF decoder for
interlaced images.
Add a getter for the X sampling rate.

SkImageDecoder_libgif:
Respect the sampleSize set on SkImageDecoder.

skimage_main:
Provide an option to set a sample size.

BUG=https://b.corp.google.com/issue?id=8999690
R=reed@google.com, djsollen@google.com, halcanary@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/25354004

git-svn-id: http://skia.googlecode.com/svn/trunk@11659 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-08 19:40:18 +00:00
scroggo@google.com
de09af3fd8 In skimage, copy to 8888 if encoding fails.
When writing the bitmap for visual comparison, rather than special
casing A8, depend on the fact that the encoder will fail, and try
copying to 8888 and encoding that if so.

R=reed@google.com

Review URL: https://codereview.chromium.org/25964003

git-svn-id: http://skia.googlecode.com/svn/trunk@11633 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-07 16:56:01 +00:00
commit-bot@chromium.org
546f70c823 Fixes for decoding to A8.
src/images/SkImageDecoder_libpng.cpp:
A8 images are not opaque, so do not set the opaque flag.
This fixes a bug where copyTo does not work as expected (when
copying an A8 decoded image to ARGB_8888), leading to
a bitmap hash that does not represent the image correctly
(in skimage).

tools/skimage_main.cpp:
In write_bitmap, which is creating the image for visual comparison,
copy A8 to 8888, since A8 cannot be encoded.

In the section that tests reencoding, do not test reencoding A8,
which is known to not work.

R=mtklein@google.com, djsollen@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/25726004

git-svn-id: http://skia.googlecode.com/svn/trunk@11589 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-03 17:13:38 +00:00
scroggo@google.com
8d2392487c Add an option on SkImageDecoder to skip writing 0s.
Only implemented for PNG.

Add a getter and setter, and sets the default to false in the
constructor. Also copies the setting in copyFieldsToOther.

Fix an indpendent bug where fDitherImage was not being copied in
copyFieldsToOther.

In SkScaledBitmapSampler::begin, consolidate the settings passed in
by passing a const reference to the decoder. The decoder can be
referenced for its settings of dither, unpremultiplied, and now
skipping writing zeroes. Update callers to use the new API. In png
decoder, rather than passing around a pointer to an initial
read of getDitherImage, and potentially changing it, look at the
field on the decoder itself, and modify it directly. This is a
change in behavior - now if that same decoder is used to decode
a different image, the dither setting has changed. I think this is
okay because A) the typical use case is to use a new decoder for
each decode, B) we do not make any promises that a decode does not
change the decoder and C) it makes the code in SkScaledBitmapSampler
much cleaner.

In SkScaledBitmapScampler, add new row procs for skipping zeroes. Now
that choosing the row proc has five dimensions (src config, dst config,
dither, skip writing zeroes, unpremultiplied), use a new method: each
src/dst combination has a function for choosing the right proc depending
on the decoder.

SkScaledBitmapScampler::RowProc is now public for convenience.

Remove Sample_Gray_D8888_Unpremul, which is effectively no different
from Sample_Gray_D8888.

In cases where unpremultiplied was trivial, such as 565 and when
sampling from gray, decoding may now succeed.

Add a benchmark (currently disabled) for comparing the speed of skipping
writing zeroes versus not skipping. For this particular image, which is
mostly transparent pixels, normal decoding took about 3.6 milliseconds,
while skipping zeroes in the decode took only about 2.5 milliseconds
(this is on a Nexus 4). Presumably it would be slower on an image
with a small amount of transparency, but there will be no slowdown
for an image which reports that it has no transparency.

In SkImageRef_ashmem, always skip writing zeroes, since ashmem
memory is guaranteed to be initialized to 0.

Add a flag to skip writing zeroes in skimage.

Add a regression test for choosing the rowproc to ensure I did not
change any behavior accidentally.

BUG=skia:1661
R=reed@google.com

Review URL: https://codereview.chromium.org/24269006

git-svn-id: http://skia.googlecode.com/svn/trunk@11558 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-01 17:27:15 +00:00
scroggo@google.com
cd7a73c200 Test decoders when hasLength returns false.
Compare the result of a decode of a stream without a length to the
result of the same stream with a length. Ensures that our decoders
work regardless of whether hasLength returns true (since the decode
potentially follows two paths).

R=epoger@google.com

Review URL: https://codereview.chromium.org/23598004

git-svn-id: http://skia.googlecode.com/svn/trunk@10984 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-28 18:33:31 +00:00
scroggo@google.com
6d99de11c4 Add config option to skimage.
Allows testing 565 and A8, in addition to 8888.

Also makes the preference consistent for each test (in one run).

BUG=skia:1465
R=djsollen@google.com

Review URL: https://codereview.chromium.org/22297007

git-svn-id: http://skia.googlecode.com/svn/trunk@10579 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-06 18:56:53 +00:00
scroggo@google.com
e339eb054b Do not fail skimage on missing expectations.
This will allow adding new images to test without turning the bots
red.

R=epoger@google.com

Review URL: https://codereview.chromium.org/22301006

git-svn-id: http://skia.googlecode.com/svn/trunk@10578 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-06 18:51:30 +00:00
scroggo@google.com
6f67b3b2d9 Test decoding the bounds in skimage.
Test that the bounds match the bounds from doing a pixel decode.

R=djsollen@google.com

Review URL: https://codereview.chromium.org/19587003

git-svn-id: http://skia.googlecode.com/svn/trunk@10164 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-18 20:08:26 +00:00
scroggo@google.com
925cdca805 Skip the TIMESTAMP file.
Allows run_decoding_tests.py to pass the name of the folder, so
Android will not fail on account of the long adb command.

R=borenet@google.com

Review URL: https://codereview.chromium.org/18175008

git-svn-id: http://skia.googlecode.com/svn/trunk@9817 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-28 20:04:42 +00:00
scroggo@google.com
bc91e8b7d7 Fix run_decoding_tests on xoom.
Builder Test-Android-Xoom-Tegra2-Arm7-Debug fails run_decoding_tests
due to a couple of images. Add a way in skimage to ignore failures
if an image is expected to fail. Add an expectations file for xoom
that includes ignore-failure for the two files which are failing.

I have created https://code.google.com/p/skia/issues/detail?id=1382
to track the fact that these images fail to decode, despite the bot
showing green.

R=borenet@google.com

Review URL: https://codereview.chromium.org/18023008

git-svn-id: http://skia.googlecode.com/svn/trunk@9797 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-27 20:21:01 +00:00
scroggo@google.com
2b9424b342 Treat empty directory properly in skimage.
Instead of treating an empty directory as a file that failed to
decode, treat it as an empty directory.

Add self tests to check for this.

Builds upon from https://codereview.chromium.org/16866010,
which was reverted.

R=epoger@google.com

Review URL: https://codereview.chromium.org/17101029

git-svn-id: http://skia.googlecode.com/svn/trunk@9730 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-21 19:12:47 +00:00
scroggo@google.com
3832da1e9c Allow skimage expectations file to not exist.
If the file is not there, assume that all images are mismatches.
This allows running the test before the initial rebaseline.

R=epoger@google.com

Review URL: https://codereview.chromium.org/17448011

git-svn-id: http://skia.googlecode.com/svn/trunk@9690 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-19 19:12:53 +00:00
epoger@google.com
c7e1873c85 skimage: revert r9642
git-svn-id: http://skia.googlecode.com/svn/trunk@9647 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-18 02:53:16 +00:00
epoger@google.com
e0433f1ad3 skimage: if --readPath points at an empty dir, create an empty expectations file
TBR=scroggo

Review URL: https://codereview.chromium.org/17294006

git-svn-id: http://skia.googlecode.com/svn/trunk@9642 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-17 19:34:58 +00:00
scroggo@google.com
cf5eb6ab25 Preparations for running skimage tool on bots.
skimage_main:
Specify the full name of the expectations file to write on the command line,
rather than the folder to write 'results.json'. This is consistent with
writeJsonSummaryPath in GM, as well as the format for reading the file.
Further, it allows more flexibility to name the file.
Do not force opaque when writing bitmaps. skimage does its comparison on
the raw bitmaps. The images are written for visual comparison, and mostly
transparent bitmaps (like resources/plane.png) aren't meaningful when
forced opaque.
Provide an option to to write only mismatches to a directory. Handled
similar to the writePath.
Report a failure if there is no expectations file. This allows writing
to the mismatchPath so we can create an initial baseline.
Pass SkBitmap by const&.

skimage_self_test:
Include the name of the json file in the parameter passed to
createExpectationsPath. The name has been changed to be more specific.

.gitignore:
Ignore the new name of the file created by skimage_self_test.

run.sh:
Run skimage_self_tests.py

BUG=http://code.google.com/p/skia/issues/detail?id=1241
R=epoger@google.com

Review URL: https://codereview.chromium.org/15813016

git-svn-id: http://skia.googlecode.com/svn/trunk@9474 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-07 12:43:15 +00:00
scroggo@google.com
7def5e1630 Separate core and images project.
SkImage calls functions on SkImageDecoder and SkImageEncoder. This
is desired behavior, and it is also desired to include SkImage as
a part of core. In order to keep core from depending on images,
update SkImageDecoder_empty.cpp to implement all of SkImageDecoder
and SkImageEncoder. This file will be built by chrome (in
https://codereview.chromium.org/15960015).

Move force_linking from SkImageDecoder.cpp to its own file. It must
be called to force linking with the image decoders if desired. Call
the function in tools that need it:
sk_image
render_pictures
render_pdfs
sk_hello
filter
bench_pictures
debugger

SkImageDecoder:
Derive from SkNoncopyable, instead of duplicating its
hiding of constructors.

skhello:
Return rather than trying to write a null SkData to the stream.

Revert "Hamfistedly removed core dependence on images"
(commit 0f05f682a90bc125323677abf3476e1027d174f5) and
"Move SkImage::encode to SkImage_Codec.cpp."
(commit 83e47a954d0bf65439f3d9c0c93213063dd70da3.)
These two commits were temporary fixes that this change
cleans up.

SkSnapshot.cpp:
Check for a NULL encoder returned by SkImageEncoder::Create.

BUG=https://code.google.com/p/skia/issues/detail?id=1275
R=djsollen@google.com, robertphillips@google.com

Review URL: https://codereview.chromium.org/15806010

git-svn-id: http://skia.googlecode.com/svn/trunk@9364 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-31 14:00:10 +00:00
scroggo@google.com
ccd7afb6fb Reland 'Add path utils, plus a test for it.'
Build SkPathJoin and SkBasename on windows also.

Previous CL did not build on Windows because the two functions were
accidentally placed inside an ifdef that did not include windows.
Move the functions to the top of the file, and add a comment by the
endif for clarity.

Previously reviewed at https://codereview.chromium.org/15747004/

Review URL: https://codereview.chromium.org/15740024

git-svn-id: http://skia.googlecode.com/svn/trunk@9295 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-28 16:45:07 +00:00
scroggo@google.com
dbbcaa8983 Revert "Add path utils, plus a test for it."
This reverts commit d172374b46cae0bd5d7c024b9848f5bdafcc6a16.

This CL broke on Windows.

Review URL: https://codereview.chromium.org/15986004

git-svn-id: http://skia.googlecode.com/svn/trunk@9278 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-24 18:28:57 +00:00
scroggo@google.com
1bee037044 Add path utils, plus a test for it.
SkOSFile:
Added class SkOSPath with functions for
modifying strings representing path names.

OSPathTest.cpp:
Test of the new utilities.

factory.cpp:
Use SkPathJoin.

gmmain and gm_expectations:
Use SkOSPath::SkPathJoin instead of a local version.

skimage_main.cpp:
Use the new location of SkPathJoin and SkBasename.

R=epoger@google.com

Review URL: https://codereview.chromium.org/15747004

git-svn-id: http://skia.googlecode.com/svn/trunk@9277 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-24 18:12:17 +00:00
epoger@google.com
d4993ff360 GM: create GmResultDigest that encapsulates digest type ("bitmap-64bitMD5") and value (12345)
R=scroggo@google.com

Review URL: https://codereview.chromium.org/15883004

git-svn-id: http://skia.googlecode.com/svn/trunk@9271 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-24 14:33:28 +00:00
scroggo@google.com
9da0e1de1d Use separate subset directories in skimage.
Create separate directories for the results of decodeSubset and
extractSubset, and use the same name for each version, so that
they can be compared easily, using skdiff or visual inspection.

R=epoger@google.com

Review URL: https://codereview.chromium.org/14672017

git-svn-id: http://skia.googlecode.com/svn/trunk@9148 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-15 18:14:36 +00:00
scroggo@google.com
6ca30ca849 skimage: report failure if expectation not found.
If the expectation file exists, but the particular file being
decoded has no expectation, report a failure.

This is more appropriate since the intended use is that an
expectation will be created for each file. Without an expectation,
we cannot know whether the decoder has changed.

R=epoger@google.com

Review URL: https://codereview.chromium.org/15094011

git-svn-id: http://skia.googlecode.com/svn/trunk@9122 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-14 17:30:17 +00:00
scroggo@google.com
6843bdb706 Write/compare against expectations in skimage tool.
skimage:
Add two new modes: one to write expectations to a json file, and
another to compare results against expectations.
Use SkPATH_SEPARATOR instead of '/'.

gm_expectations:
Split into a static library so it can be used by skimage.
Make functions non static and move function definitions into source
file.
Capitalize static member functions to follow the coding style
guidelines.

BUG=https://code.google.com/p/skia/issues/detail?id=1241
R=epoger@google.com

Review URL: https://codereview.chromium.org/14670021

git-svn-id: http://skia.googlecode.com/svn/trunk@9069 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-08 19:14:23 +00:00
scroggo@google.com
0018f75f2f Fix more warnings.
BUG=

Review URL: https://codereview.chromium.org/14624008

git-svn-id: http://skia.googlecode.com/svn/trunk@9000 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-03 20:39:22 +00:00
scroggo@google.com
8b5ff5cc0c Fix build (warning).
BUG=

Review URL: https://codereview.chromium.org/14789014

git-svn-id: http://skia.googlecode.com/svn/trunk@8998 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-03 20:21:17 +00:00
scroggo@google.com
7e6fceeffd Test region decoding in skimage, plus fixes.
Add tests in skimage to perform region decoding. Write out a
PNG of the region as well as a bitmap obtained with extractSubset
for comparison.

Rename decodeRegion to decodeSubset, so it will not be confused
with SkRegion. (Leave a function called decodeRegion which calls
decodeSubset.)

Clean up some comments.

Use png_set_interlaced_pass instead of modifying pass directly.

Make some changes to region decoding to fix problems I discovered
during testing:

Only call getAddr within a valid range.
Check for a NULL fInputStream.
Return a boolean for whether cropBitmap succeeded.
In cropBitmap, do not attempt to draw to a bitmap to an Index8
bitmap, which crashes. Use extractSubset instead.
Remove an assert.

R=djsollen@google.com

Review URL: https://codereview.chromium.org/14567011

git-svn-id: http://skia.googlecode.com/svn/trunk@8996 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-03 20:14:28 +00:00
scroggo@google.com
c4ebdb03de Force linking with image decoders for images project.
Previously, each tool that wanted to use image decoders
but did not specifically reference them had to create a
dummy function that references them in order to ensure
they are not stripped by the linker.

Instead of making each tool reference each image decoder,
do it once in SkImageDecoder.cpp. Now each tool will have
image decoders linked in, assuming it includes the images
project.

This fixes a bug where SKPs with encoded data could not
be read by bench_ or render_pictures.

R=djsollen@google.com, robertphillips@google.com

Review URL: https://codereview.chromium.org/14678003

git-svn-id: http://skia.googlecode.com/svn/trunk@8941 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-01 21:17:27 +00:00
scroggo@google.com
39edf4cd94 Updates to skimage tool to use it for testing.
skimage_main.cpp:
More changes in the interest of testing our decoders.

force_all_opaque before writing PNG files.

Test reencoding the image to its original type (if possible), and
then test redecoding it (to make sure the encoding was successful).
Add an option to turn off this behavior.

Merge decodeFileAndWrite with decodeFile.

SkImageDecoder:
Add kUnknown_Type to SkImageEncoder::Types.

Add a static function to get the Format of an SkStream.

In getFormatName(), remove an incorrect assert.

When calling the flavor of DecodeStream that returns the Format,
check the stream if the decoder returns kUnknown_Format.

BUG=https://code.google.com/p/skia/issues/detail?id=1241

Review URL: https://codereview.chromium.org/14363003

git-svn-id: http://skia.googlecode.com/svn/trunk@8862 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-25 17:33:51 +00:00
scroggo@google.com
aaec851ad1 Link webp in skimage and debugger.
Review URL: https://codereview.chromium.org/14103020

git-svn-id: http://skia.googlecode.com/svn/trunk@8691 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-15 22:05:03 +00:00
scroggo@google.com
9c5f969e70 Include gif image decoding in images/ on linux.
Build SkImageDecoder_libgif in images project and link against
libgif on linux.

Ensure that the GIF decoder is used in skimage.

Requires a new dependency on libgif-dev when building on linux.

Review URL: https://codereview.chromium.org/14029011

git-svn-id: http://skia.googlecode.com/svn/trunk@8627 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 18:32:01 +00:00
scroggo@google.com
b41ff95cc0 Updates for the skimage tool.
Allow passing files or folders on the command line.

Group the output to show all successes together, all failures
together, etc.

When writing a new png, do not make its file type ".png.png"
if the original was a png.

Force linking for JPEG decoder.

Use SkCommandLineFlags.

Review URL: https://codereview.chromium.org/14089002

git-svn-id: http://skia.googlecode.com/svn/trunk@8615 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 15:53:35 +00:00
skia.committer@gmail.com
e16efc1882 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-26 07:06:02 +00:00
caryclark@google.com
5987f58036 build iOS with 'make all'
This builds all skia tests by treating iOS tools
as executable applications. A few warnings were
fixed as well.

Removed old trace draw code and remnants.
Review URL: https://codereview.appspot.com/6597063

git-svn-id: http://skia.googlecode.com/svn/trunk@5776 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-02 18:33:14 +00:00