aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/images
Commit message (Collapse)AuthorAge
* Add tests (and fix!) for known bad ICO files.Gravatar scroggo2014-11-10
| | | | | | | | | | | | We previously saw crashes decoding bad ICO files. Add tests for known bad files. While testing, I learned that one of them still crashes. Check for large offset and size separately to fix the crash. BUG=skia:2878 Review URL: https://codereview.chromium.org/712123002
* Allow index sources to be unpremul.Gravatar scroggo2014-10-27
| | | | | | | | | | | | | | | | This only affects the PNG image decoder, where we have already created the color table without premultiplication. Since the RowProcChooser is just providing a proc that chooses indices into the color table, it can just return the same RowProc. Update test_row_proc_choice. It was testing to ensure that we hadn't changed the behavior from the original version of setPrefConfigTable. In this case, we deliberately changed the behavior, so we need to change the test. BUG=b/12024301 Review URL: https://codereview.chromium.org/657863005
* Don't read random data in ICO check.Gravatar scroggo2014-10-24
| | | | | | Check to ensure SkStream::read succeeds before checking the result. Review URL: https://codereview.chromium.org/656673005
* This return_false is now only used on Android. Squelch a warning.Gravatar mtklein2014-10-23
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/659393004
* Qualify the return value of SkImageDecoder::decodeGravatar scroggo2014-10-22
| | | | | | | | | | | | | | | | | | | | | | | Add a new enum to differentiate between a complete decode and a partial decode (with the third value being failure). Return this value from SkImageDecoder::onDecode (in all subclasses, plus SkImageDecoder_empty) and ::decode. For convenience, if the enum is treated as a boolean, success and partial success are both considered true. Note that the static helper functions (DecodeFile etc) still return true and false (for one thing, this allows us to continue to use SkImageDecoder::DecodeMemory as an SkPicture::InstallPixelRefProc in SkPicture::CreateFromStream). Also correctly report failure in SkASTCImageDecoder::onDecode when SkTextureCompressor::DecompressBufferFromFormat fails. BUG=skia:3037 BUG:b/17419670 Review URL: https://codereview.chromium.org/647023006
* Clean up some warnings about unused code.Gravatar mtklein2014-10-21
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/663093004
* Make SkImageDecoder_libpng be compilable with Chromium libpngGravatar kkinnunen2014-10-19
| | | | | | | | | | | | | Chromium has libpng with pngusr.h that disables certain functionality with defines. Use those defines when compiling SkImageDecoder_libpng.cpp. This makes it possible to use Skia PNG decoder and encoder when compiling dm with Chromium. Skia PNG decoder and encoder of course is not compiled to the skia library, but to dm with Chromium. BUG=skia:2992 Review URL: https://codereview.chromium.org/645883004
* JPEG YUV DecodingGravatar sugoi2014-10-16
| | | | | | | | | | Enabling JPEG YUV Decoding in Skia BUG=skia:3005, skia:1674, skia:3029 Committed: https://skia.googlesource.com/skia/+/8e6c3b93a39e19111662a760ede97df55e51d39f Review URL: https://codereview.chromium.org/399683007
* Revert of JPEG YUV Decoding (patchset #5 id:180001 of ↵Gravatar rmistry2014-10-15
| | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/399683007/) Reason for revert: Caused many test bots to go red: http://build.chromium.org/p/client.skia/builders/Test-ChromeOS-Alex-GMA3150-x86-Release/builds/22/steps/dm/logs/stdio http://build.chromium.org/p/client.skia/builders/Test-ChromeOS-Link-HD4000-x86_64-Debug/builds/168/steps/dm/logs/stdio http://build.chromium.org/p/client.skia/builders/Test-Ubuntu12-ShuttleA-GTX660-x86-Release/builds/38/steps/dm/logs/stdio Original issue's description: > JPEG YUV Decoding > > Enabling JPEG YUV Decoding in Skia > > BUG=skia:3005, skia:1674 > > Committed: https://skia.googlesource.com/skia/+/8e6c3b93a39e19111662a760ede97df55e51d39f TBR=reed@google.com,scroggo@google.com,sugoi@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia:3005, skia:1674 Review URL: https://codereview.chromium.org/656163002
* JPEG YUV DecodingGravatar sugoi2014-10-15
| | | | | | | | Enabling JPEG YUV Decoding in Skia BUG=skia:3005, skia:1674 Review URL: https://codereview.chromium.org/399683007
* remove alphatype from colortableGravatar reed2014-09-29
| | | | | | | | | | | the owning bitmap is (already) responsible for knowing the alphatype BUG=skia: R=djsollen@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/611093002
* use SkData::NewUninitializedGravatar reed2014-09-12
| | | | | | | | | BUG=skia: R=bungeman@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/565803005
* SkData can allocate room for its contents in the same blockGravatar reed2014-09-11
| | | | | | | | | BUG=skia: R=bungeman@google.com, mtklein@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/560653004
* "NULL !=" = NULLGravatar bsalomon2014-09-05
| | | | | | | | R=reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/544233002
* Hide fields in SkImageInfoGravatar reed2014-09-03
| | | | | | | | | R=rmistry@google.com TBR=bsalomon Author: reed@google.com Review URL: https://codereview.chromium.org/536003002
* make allocPixels throw on failureGravatar reed2014-09-02
| | | | | | | | | BUG=skia: R=mtklein@google.com, fmalita@google.com, fmalita@chromium.org Author: reed@google.com Review URL: https://codereview.chromium.org/510423005
* Ensure that we don't reference decoders that we don't buildGravatar djsollen2014-08-28
| | | | | | | | R=scroggo@google.com, robertphillips@google.com Author: djsollen@google.com Review URL: https://codereview.chromium.org/517663002
* Prevent malformed ICO files from recursively decodingGravatar djsollen2014-08-26
| | | | | | | | R=reed@google.com, scroggo@google.com Author: djsollen@google.com Review URL: https://codereview.chromium.org/511453002
* Fix overflow when comparing two ints by promoting the sum to 64-bits.Gravatar djsollen2014-08-26
| | | | | | | | R=reed@google.com, scroggo@google.com Author: djsollen@google.com Review URL: https://codereview.chromium.org/505153003
* eliminate code related to SkBitmap::ConfigGravatar reed2014-08-18
| | | | | | | | | BUG=skia: R=reed@google.com, mike@reedtribe.org Author: reed@chromium.org Review URL: https://codereview.chromium.org/483593002
* Add astcbitmap to gm slides.Gravatar krajcevski2014-08-07
| | | | | | | | | | | Add additional ASTC formats. Add astc image decoder files. R=reed@google.com, robertphillips@google.com, halcanary@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/444093002
* Revert of - Add astcbitmap to gm slides ↵Gravatar krajcevski2014-08-07
| | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/444093002/) Reason for revert: Breaking DM Original issue's description: > - Add astcbitmap to gm slides > - Add additional ASTC formats > - Add astc image decoder files > > Committed: https://skia.googlesource.com/skia/+/2fc05823fed4b9649338f3029cd1ba05ef49a02f R=reed@google.com, robertphillips@google.com, halcanary@google.com TBR=halcanary@google.com, reed@google.com, robertphillips@google.com NOTREECHECKS=true NOTRY=true Author: krajcevski@google.com Review URL: https://codereview.chromium.org/447343002
* - Add astcbitmap to gm slidesGravatar krajcevski2014-08-07
| | | | | | | | | | | - Add additional ASTC formats - Add astc image decoder files R=reed@google.com, robertphillips@google.com, halcanary@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/444093002
* Add support for compressed alpha ktx filesGravatar krajcevski2014-08-07
| | | | | | | | R=robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/447283002
* Add support for all compressed formats in KTX file formatGravatar krajcevski2014-08-05
| | | | | | | | R=robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/440783004
* Add ETC1 format to SkTextureCompressorGravatar krajcevski2014-08-05
| | | | | | | | R=robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/432143002
* Revert of Add ETC1 format to SkTextureCompressor ↵Gravatar krajcevski2014-08-04
| | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/432143002/) Reason for revert: Breaking Chrome. Original issue's description: > Add ETC1 format to SkTextureCompressor > > Committed: https://skia.googlesource.com/skia/+/5d8b1b44ea7636fc8e98247cb311568f277ce3a5 R=robertphillips@google.com TBR=robertphillips@google.com NOTREECHECKS=true NOTRY=true Author: krajcevski@google.com Review URL: https://codereview.chromium.org/438443004
* Add ETC1 format to SkTextureCompressorGravatar krajcevski2014-08-04
| | | | | | | | R=robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/432143002
* Fix image decoder memory overwrite bug.Gravatar scroggo2014-07-25
| | | | | | | | | | | | | | | | In SkPNGImageDecoder::onDecodeSubset, use png_read_rows to write to the scratch memory provided. This is what we should have been doing anyway. Further, writing directly to the bitmap can cause writing to the wrong memory since the bitmap may not be as big as the scratch memory in the case of sampling with a short bitmap. Bug=b/13921093 R=djsollen@google.com Author: scroggo@google.com Review URL: https://codereview.chromium.org/423473003
* ios fixesGravatar caryclark2014-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | skia_ios.mm Get the app's Documents directory and pass use it to set the resource path. This is a quick hack which will be replaced by a new application that is a tiny shim around a command line tool. SkImageEncoder.h SkForceLinking.cpp SkImageDecoder_CG.cpp Add support for FORCE_LINKING so iOS sees the PNG encoder and others. SkFloatBits.cpp SkPoint.cpp Handle denormalized numbers that are floored by the iOS ARM processor. SkImageDecoder_iOS.mm Remove empty encoder factory. SkTouchGesture.cpp Return early on empty state on touch rather than aborting (crashing) JpegTest.cpp Hal via stackoverflow.com says partial jpegs can be gray as well. skia_test.cpp Remove crash handler call for now to avoid link failure. OverwriteLine.h Remove fancy line overwrite for iOS. Resources.cpp Add interface to set resource directory based on runtime query. BUG=skia:2736 skia:2737 skia:2738 R=reed@google.com, halcanary@google.com, mtklein@google.com, tfarina@chromium.org Author: caryclark@google.com Review URL: https://codereview.chromium.org/373383003
* Handle bad ICO data better.Gravatar scroggo2014-07-09
| | | | | | | | | | | | | | Interpret size and offset as size_t, as they should be. When read as int, they could be negative values. If they are negative (rather than positive and very large), they will not allow us to fail the length test, resulting in trying to read uninitialized memory. BUG=b/16010240 R=halcanary@google.com Author: scroggo@google.com Review URL: https://codereview.chromium.org/374413005
* add setPreserveSrcDepth to replace PrefTable API for androidGravatar reed2014-07-08
| | | | | | | | | BUG=skia: R=scroggo@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/371273007
* fix WBMP image will get null color table when draw in RGB565 CanvasGravatar Derek Sollenberger2014-07-08
| | | | | | | | | | | | | Symptom: draw Index8 to RGB565 will using SkColorTable::lock16BitCache and return a null array. Root Cause:lock16BitCache return null pointer because default type is kPremul_SkAlphaType Solution: WBMP color table should be kOpaque_SkAlphaType Reproduce steps: draw a WBMP with a matrix that apply rotate and transform This patch was proposed by arthur_hung at htc.com to the AOSP project. R=reed@google.com, scroggo@google.com Review URL: https://codereview.chromium.org/377443007
* Check pixelRef before attempting to ktx encode.Gravatar scroggo2014-07-02
| | | | | | | | | | | | | | If there is no pixelRef, do not attempt to dereference it. This was caught running on Android, where we don't have the resources folder (tracked in b/14406768). We fail to decode anything, and then attempt to encode an SkBitmap without a pixelRef. R=krajcevski@google.com Author: scroggo@google.com Review URL: https://codereview.chromium.org/362413005
* Adjust the alpha type for pixelRefs.Gravatar scroggo2014-07-01
| | | | | | | | | | | | | | Move SkBitmap's validate_alphaType to SkImageInfo, with the new name SkColorTypeValidateAlphaType. Use it in SkPixelRef's constructors, as well as in SkDecodingImageGenerator. This fixes a bug where an SkPixelRef's SkAlphaType could get out of sync with its SkBitmap, when both were assigned the same SkAlphaType. R=reed@google.com, halcanary@google.com Author: scroggo@google.com Review URL: https://codereview.chromium.org/346593003
* Switch SkPDFStream's internal storage from SkStream to SkDataGravatar halcanary2014-06-27
| | | | | | | | | | | | | | | | | | | Motivation: This makes SkPDFStream thread-safe for two threads serializing it at once, since a SkStream has an internal position. Updated SkPDFFont, SkPDFGraphicState, and SkPDFPage's use of SkPDFStream to use the SkData constructor rather than the SkStream constructor (saving a memcpy). BUG=skia:2683 Committed: https://skia.googlesource.com/skia/+/c1dfa14b645ae274780f026dd86c9b633fbdad06 R=mtklein@google.com, djsollen@google.com, rmistry@google.com, robertphillips@google.com Author: halcanary@google.com Review URL: https://codereview.chromium.org/340783013
* hide SkBitmap::Config entirely (behind a flag)Gravatar reed2014-06-17
| | | | | | | | | | | | | patch from issue 339463002 TBR= I think the NoGPU failure is unrelated, so ignoring NOTRY=True Author: reed@google.com Review URL: https://codereview.chromium.org/340533002
* stop using SkBitmap::ConfigGravatar reed2014-06-14
| | | | | | | | R=scroggo@google.com Author: reed@chromium.org Review URL: https://codereview.chromium.org/338493005
* hide Config in SkImageDecoder -- use SkColorType insteadGravatar reed2014-06-12
| | | | | | | | | | patch from issue 334613003 TBR=scroggo Author: reed@chromium.org Review URL: https://codereview.chromium.org/334793002
* remove GetDeviceConfig/SetDeviceConfigGravatar reed2014-06-12
| | | | | | | | | BUG=skia: R=scroggo@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/332453002
* hide SkImageDecoder::ChooserGravatar reed2014-06-11
| | | | | | | | | BUG=skia: R=scroggo@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/331433003
* Do a better job of enforcing the semantics of the ↵Gravatar krajcevski2014-06-10
| | | | | | | | | | setRequireUnpremultipliedColors flag R=scroggo@google.com, halcanary@google.com, robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/322813005
* hide SkBitmap::setConfigGravatar reed2014-06-09
| | | | | | | | | | patch from issue 325733002 TBR=scroggo Author: reed@chromium.org Review URL: https://codereview.chromium.org/322963002
* Add sampler options to SkScaledBitmapSamplerGravatar krajcevski2014-06-09
| | | | | | | | R=scroggo@google.com, halcanary@google.com, robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/321873003
* Initial KTX encoderGravatar krajcevski2014-06-06
| | | | | | | | | | | The encoder comes with tests to check that the encoding/decoding operations between ETC encoded bitmaps and ARGB bitmaps are sane. R=bsalomon@google.com, robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/312353003
* Remove SkImageRef and related functionality.Gravatar Hal Canary2014-06-04
| | | | | | | | From here on out, use SkDecodingImageGenerator+SkDiscardablePixelRef. R=scroggo@google.com Review URL: https://codereview.chromium.org/100183002
* Initial KTX file decoderGravatar krajcevski2014-06-03
| | | | | | | | R=bsalomon@google.com, robertphillips@google.com, halcanary@google.com, reed@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/302333002
* Revert "Revert of setConfig -> setInfo ↵Gravatar commit-bot@chromium.org2014-05-30
| | | | | | | | | | | | | | (https://codereview.chromium.org/308683005/)" This reverts commit eecaea4148805834f223681f70b6488ceba12d09. R=robertphillips@google.com, scroggo@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/301283003 git-svn-id: http://skia.googlecode.com/svn/trunk@14989 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of setConfig -> setInfo (https://codereview.chromium.org/308683005/)Gravatar commit-bot@chromium.org2014-05-29
| | | | | | | | | | | | | | | | | | | | | | | | Reason for revert: broke all Windows bots Original issue's description: > setConfig -> setInfo > > BUG=skia: > > Committed: http://code.google.com/p/skia/source/detail?r=14978 R=robertphillips@google.com, reed@google.com TBR=reed@google.com, robertphillips@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Author: epoger@google.com Review URL: https://codereview.chromium.org/302053002 git-svn-id: http://skia.googlecode.com/svn/trunk@14979 2bbb7eff-a529-9590-31e7-b0007b416f81
* setConfig -> setInfoGravatar commit-bot@chromium.org2014-05-29
| | | | | | | | | | | BUG=skia: R=robertphillips@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/308683005 git-svn-id: http://skia.googlecode.com/svn/trunk@14978 2bbb7eff-a529-9590-31e7-b0007b416f81