History log of /external/skia/src/images/SkImageDecoder_libwebp.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0d4a859c834194fba1e003c2aa22dc75036444d6 20-Mar-2013 Vikas Arora <vikasa@google.com> Make WebP decoding independent of stream length.

There's case, when Skia SkStream passed to WebP decoder may have
incorrect length (stream->getLength()). This is observed, if the App
decodes an image (size > 80KB) using:
'ParcelFileDescriptor --> BitmapFactory.decodeStream()'
Updated the WebP incremental decoding loop to not rely on
stream->getLength()

Change-Id: I3c7cdd1cf6483e5bb4c0211bc989e14ba8ce4457
/external/skia/src/images/SkImageDecoder_libwebp.cpp
6699e7ea2e981dccc2f3c41b5dcf1c860b11558d 06-Dec-2012 Jean-Baptiste Queru <jbq@google.com> Merge skia @5967

Change-Id: I8c637470b52c8277a781111c2ac2d1dcce7d84fa
9c22695ba576d6ff9b4ad94fbd61a02d3792b2e1 23-Aug-2012 Vikas Arora <vikasa@google.com> Remove redundant header include.

Remove header include for decode_vp8.h file. The required APIs are
defined in decode.h, that's already included.

Change-Id: I2e3c72de242a61585577d0dfe8d4b5cac64fcbcc
/external/skia/src/images/SkImageDecoder_libwebp.cpp
772042aa3d99e2cfd8077981236cc2bec4d8078f 11-Aug-2012 Vikas Arora <vikasa@google.com> Add support for WebP Alpha (and Lossless) images.

Android/Skia supports pre-multiplied Alpha. WebP image format supports
Alpha via color modes MODE_RGBA & MODE_RGBA_4444 (corresponding ones for
premultiplied alpha are MODE_rgbA & MODE_rgbA_4444).
The pre-requisite change for this one is the webp patch
(https://googleplex-android-review.googlesource.com/215797), that
extends the webp library (ver 0.2.0-rc1) to support these new color
modes for Alpha (along with supporting Lossless image encoding/decoding).

Change-Id: I153b6348382c04b16e8c59bbb4c8f3c62f897376
/external/skia/src/images/SkImageDecoder_libwebp.cpp
22c3eb1bb4ab1c58edb7b3dd159e5c1969136c51 31-May-2012 Vikas Arora <vikasa@google.com> Prepare Skia-Webp decoder for Alpha and lossless.

Change the webp_parse_header to read appropriate header bytes (required
for Alpha & lossless bit-stream);
Replaced call WebPGetInfo with WebPGetFeatures to get hasAlpha
information;
Replaced hard-coded setIsOpaque(true) with setIsOpaque(!hasAlpha);
Refactored code for setting decoder config;

Change-Id: I8208233d1aaa0a213a35dd996a72e43f78901c89
/external/skia/src/images/SkImageDecoder_libwebp.cpp
943e1fde4c6ecf0eb8998cd86012caa341a02ccf 16-May-2012 Owen Lin <owenlin@google.com> Add support for reusing bitmap in webp format.

Also relax the constraint of the requested region. Now, we can get a
region that is partially outsides the image.

bug:5884845

Change-Id: Ibf455d176653ef1cf36924d685df1920d23cb542
/external/skia/src/images/SkImageDecoder_libwebp.cpp
c0b4fa78738acf9ad587eb9fcbc2021be9a3ee77 27-Apr-2012 Chet Haase <chet@google.com> Handle Bitmap reuse failure more gracefully

A feature in Android 3.0 allows Bitmaps to be reused when
loading a bitmap of the same dimensions. A documented limitation
is that the only formats supported are jpeg and png, the most common
formats for Android. But if you actually try to do it anyway, you'll end
up causing memory trashing and an eventual strange native crash. It's not
pretty.

This fix puts code in other possible image format decoders (gif, ico, and
bmp) to return false from the onDecode() operation, which will result in
an exception being thrown back to the user code.

Issue #6146246 Sparodic crash in GraphicsJNI::allocateJavaPixelRef (memory corruption?)

Change-Id: Ifd3e0f87c9ea6d41a37f58616e1ced0b19132056
/external/skia/src/images/SkImageDecoder_libwebp.cpp
8c52c218e8b00b33f837ac4891fcde3a08817169 19-Jul-2011 Vikas Arora <vikasa@google.com> Add image cropping support in Skia-WebP decoder.

Implement virtual methods 'onBuildTileIndex' & 'onDecodeRegion' for
supporting image cropping for Skia-WebP image Decoder.
Utilize the native rescaling+Cropping capability of WebP-Decoder to
implement image cropping.
- Incorporated code comments from Pascal.
- Found one bug w.r.t setting SampleSize. Rectifying that in this patch.

Change-Id: Ib7b04129a65ed17f845d0600f3553b9b24846838
/external/skia/src/images/SkImageDecoder_libwebp.cpp
c5013e3870ecf5a7798c1857a3060d880a7bf2c3 18-Jul-2011 Vikas Arora <vikasa@google.com> Implement on-the-fly image resizing (down-scaling).

Implement on-the-fly image resizing (down-scaling) for WebP images.
The image decoder is aware of the device memory constriant via
SampleSize set by the application like Webkit/WebCore.
sampleSize=1 implies no down-scaling. Likewise, SampleSize=2 implies
resizing image width & height by a factor of '1/2', resulting in '1/4'th
size for the decoded image.
SampleSize is merely a hint from the application to the decoder. Decoder
may choose to ignore this hint and decode the image at full scale.
Native WebP image decoder (new APIs) supports on-the-fly resizing.
Making the Skia-WebP decoder 'SampleSize' aware and implementing the
on-the-fly resizing in this change.

Change-Id: Ibbd62baf4a6ad2d3904aafb22807f4513641e64c
/external/skia/src/images/SkImageDecoder_libwebp.cpp
13f6c47b625101944c936a20fb673cbe47b5c747 14-Jul-2011 Vikas Arora <vikasa@google.com> Use the WebP native color-modes for Skia-WebP-Decoder.

Remove the custom code for decoding WebP image. Use the native
color-modes RGBA, RGBA_4444 & RGB_565 for Skia-WebP-Decoder class.
- Removed other dead code as well.

Change-Id: I414778b71aaea754d92ed6b07ebd7b6336e1f102
/external/skia/src/images/SkImageDecoder_libwebp.cpp
82ed38078af4a2b643415a76e84f88754f804709 06-Jul-2011 Vikas Arora <vikasa@google.com> Add support for WebP incremental decoding.

Updated the Android-Skia-WebP decoder with following changes:
- Added support for incremental WebP decoding. So instead of allocating
input buffer corresponding to the whole image (could be few MBs), the
input is read iteratively in a buffer size of 64KB.
- Refactored onDecode method (O(200) lines) to a smaller (O(30) lines)
method with 2-3 helper functions.
- Removed low (byte-level) parsing from this code and calling WebP
public APIs for the same (like WebPGetInfo).
- Incorporated Pascal's feedback.
- Few more feedback from Pascal.
Change-Id: I104822ec3922eca1efc19422908f07770c4c140b
/external/skia/src/images/SkImageDecoder_libwebp.cpp
a059123d8eb75302b13a7fd831478413d124d618 22-Jun-2011 Vikas Arora <vikasa@google.com> Add WebP Encoder support to SkImageEncoder.

Extending Skia-WebP interface to handle the WebP encoding as well.
The WebP encoding is required for sharing WebP images and transcoding
images from other formats like PNG/JPEG to WEBP.

Change-Id: I23d52323abf5e7eec0c6d3e0159a1ca7baee468b
/external/skia/src/images/SkImageDecoder_libwebp.cpp
b5635a2ff98e9de637b0f87744ceca7b86891a0f 02-Jun-2011 Vikas Arora <vikasa@google.com> Updated Skia-Webp wrapper to work with latest version (0.1.2)

issue: 3291572
Change-Id: I86258b82a9105e5db459c436d8bcfa1841609ed7
/external/skia/src/images/SkImageDecoder_libwebp.cpp
8432fc7b32e4de877bb86b38c050b944bed53f14 22-Dec-2010 Eric Hassold <hassold@google.com> Add support for WebP format in Skia

This enable Skia to decode WebP images. Since BitmapFactory relies
on Skia to decode images, this aims at adding support for WebP format
in any application relying on BitmapFactory. Decoder relies on
libwepb library, imported as external library in external/webp in
Android source tree.

Change-Id: I13ef4c1404b989af6a856e9150c62e297200331b
/external/skia/src/images/SkImageDecoder_libwebp.cpp