webm/libwebp.git
12 hours agofix a memory leak in gif2webp 01/56301/1 master
skal [Wed, 22 May 2013 21:49:24 +0000 (23:49 +0200)]
fix a memory leak in gif2webp

(rgba->yuv allocates memory)
Also fixed few warning and cleaned the code up.

Change-Id: Id904ad3ad8802ea9fc3d34247d27193dfa7b0b99

34 hours agofix two minor memory leaks in webpmux 14/56114/1
skal [Tue, 21 May 2013 22:58:53 +0000 (00:58 +0200)]
fix two minor memory leaks in webpmux

(only occur in case of error)

Change-Id: Icab69bb364b77f8eae6cae91047354c27e610602

35 hours agoMerge "README: update swig notes"
James Zern [Tue, 21 May 2013 22:09:30 +0000 (15:09 -0700)]
Merge "README: update swig notes"

35 hours agoremove some cruft from swig/libwebp.jar 03/56103/1
James Zern [Tue, 21 May 2013 22:01:15 +0000 (15:01 -0700)]
remove some cruft from swig/libwebp.jar

picked up a few unnecessary classes from a dirty tree in the last commit

Change-Id: I98be16a0bc8716476ce440da542d113f254aee78

36 hours agoREADME: update swig notes 02/56102/1
James Zern [Tue, 21 May 2013 21:58:32 +0000 (14:58 -0700)]
README: update swig notes

add python, required version notes

Change-Id: Iec2e94075f6cf54455ce5a658f9b7258109f4d01

36 hours agoMerge "swig/python: add minimal documentation"
James Zern [Tue, 21 May 2013 21:49:46 +0000 (14:49 -0700)]
Merge "swig/python: add minimal documentation"

36 hours agoMerge "swig: add python encode support"
James Zern [Tue, 21 May 2013 21:48:36 +0000 (14:48 -0700)]
Merge "swig: add python encode support"

36 hours agoMerge "swig/java: reduce wrapper function code duplication"
James Zern [Tue, 21 May 2013 21:44:16 +0000 (14:44 -0700)]
Merge "swig/java: reduce wrapper function code duplication"

36 hours agoMerge "swig/java: rework uint8_t typemap"
James Zern [Tue, 21 May 2013 21:42:58 +0000 (14:42 -0700)]
Merge "swig/java: rework uint8_t typemap"

36 hours agoreduce memory for VP8MB and remove bitfields use 97/56097/1
skal [Tue, 21 May 2013 21:20:04 +0000 (23:20 +0200)]
reduce memory for VP8MB and remove bitfields use

~1% faster on ARMv7

Change-Id: I3e3524e0c25ebd31a04269aae0d304932f1a781a

36 hours agoFix the memory leak in ApplyFilters. 95/56095/1
Vikas Arora [Tue, 21 May 2013 20:59:29 +0000 (13:59 -0700)]
Fix the memory leak in ApplyFilters.

Change-Id: Iba1b1adf3088ea9c43e4f602a93e77450f6c6170

2 days agosimplify the alpha-filter testing loop 83/55883/1
skal [Tue, 21 May 2013 08:29:27 +0000 (10:29 +0200)]
simplify the alpha-filter testing loop

Change-Id: Iacebae749c37edc87a3c94c76cd589a2565ee642

2 days agoswig/python: add minimal documentation 53/55853/1
James Zern [Mon, 20 May 2013 23:40:29 +0000 (16:40 -0700)]
swig/python: add minimal documentation

uses autodoc to display the function arguments rather than the
inscrutable va_args (*args).

Change-Id: Iec2ff8276c1533b14c3032836d822fbdae632521

2 days agoswig: add python encode support 52/55852/1
James Zern [Mon, 20 May 2013 20:29:41 +0000 (13:29 -0700)]
swig: add python encode support

wraps the simple interface similar to java.

Change-Id: Ib922bbcae322b2345b6dce5dee08faad705a77fd

2 days agoswig/java: reduce wrapper function code duplication 51/55851/1
James Zern [Tue, 21 May 2013 00:03:35 +0000 (17:03 -0700)]
swig/java: reduce wrapper function code duplication

define a macro to emit the wrapper code

Change-Id: I672416016162d6d9ce6f455d224044e0837e3ace

2 days agoswig/java: rework uint8_t typemap 50/55850/1
James Zern [Fri, 17 May 2013 21:10:37 +0000 (14:10 -0700)]
swig/java: rework uint8_t typemap

reuse the declarations from arrays_java.i for signed char to make an
explicit uint8_t mapping. this avoids sign conversion build warnings.

Change-Id: Icfb5b865cf1fd404e89f2cd889111f0a94e3c604

4 days agouse uint8_t for inv_palette[] 28/55628/1
skal [Sat, 18 May 2013 15:13:58 +0000 (17:13 +0200)]
use uint8_t for inv_palette[]

Change-Id: I5005ce68d89bfb657d46ad8acc4368c29fa0c4fd

4 days agoFix the bug in ApplyPalette. 27/55627/1
skal [Sat, 18 May 2013 15:03:18 +0000 (17:03 +0200)]
Fix the bug in ApplyPalette.

The auto-infer logic of detecting the 'Alpha' use case
(via check '(palette[i] & 0x00ff00ffu) != 0' is failing
for this corner case image with all black pixels (rgb = 0)
and different Alpha values.

-> switch generic use-LUT detection

Change-Id: I982a8b28c8bcc43e3dc68ac358f978a4bcc14c36

6 days agoMerge "webp/lossless: fix big endian BGRA output"
pascal massimino [Fri, 17 May 2013 07:36:15 +0000 (00:36 -0700)]
Merge "webp/lossless: fix big endian BGRA output"

6 days agowebp/lossless: fix big endian BGRA output 59/51559/1
James Zern [Thu, 16 May 2013 20:47:15 +0000 (13:47 -0700)]
webp/lossless: fix big endian BGRA output

Change-Id: I3d4b3d21f561cb526dbe7697a31ea847d3e8b2c1

6 days agoSpeed up ApplyPalette for ARGB pixels. 27/51527/1
Vikas Arora [Thu, 16 May 2013 22:43:12 +0000 (15:43 -0700)]
Speed up ApplyPalette for ARGB pixels.

Added 1 pixel cache for palette colors for faster lookup.
This will speedup images that require ApplyPalette by 6.5% for lossless
compression.

Change-Id: Id0c5174d797ffabdb09905c2ba76e60601b686f8

7 days agomisc code cleanup 11/51311/1
skal [Wed, 15 May 2013 18:03:15 +0000 (20:03 +0200)]
misc code cleanup

* remove dec->skip_
* fix some naming

(no speed diff observed)

Change-Id: I12545ef79d29dd6f893c344d8fb171b0a8c7cc46

8 days agoMerge "swig: add python (decode) support"
pascal massimino [Wed, 15 May 2013 07:42:36 +0000 (00:42 -0700)]
Merge "swig: add python (decode) support"

8 days agoMerge "swig: cosmetics"
pascal massimino [Wed, 15 May 2013 07:42:08 +0000 (00:42 -0700)]
Merge "swig: cosmetics"

8 days agoMerge "libwebp: fix vp8 encoder mem alloc offsetting"
pascal massimino [Wed, 15 May 2013 07:41:14 +0000 (00:41 -0700)]
Merge "libwebp: fix vp8 encoder mem alloc offsetting"

8 days agolibwebp: fix vp8 encoder mem alloc offsetting 71/51271/1
James Zern [Wed, 15 May 2013 07:21:34 +0000 (07:21 +0000)]
libwebp: fix vp8 encoder mem alloc offsetting

'mem' was being offset once by DO_ALIGN() then shifted 'nz_size' which
would end up accounting for more than ALIGN_CST and exceed the allocation.

broken since:
  9bf3129 align VP8Encoder::nz_ allocation

Change-Id: I04a4e0bbf80d909253ce057f8550ed98e0cf1054

8 days agoremove use of bit-fields in VP8FInfo 70/51270/1
skal [Wed, 15 May 2013 07:21:30 +0000 (09:21 +0200)]
remove use of bit-fields in VP8FInfo

(in favor of just plain uint8_t's)

Change-Id: I6187587a4d8a9f5c304a132d98ec42ce24fd244a

8 days agoremove some warnings: 68/51168/1
skal [Tue, 14 May 2013 20:28:32 +0000 (22:28 +0200)]
remove some warnings:

* "declaration of ‘index’ shadows a global declaration [-Wshadow]"
* "signed and unsigned type in conditional expression [-Wsign-compare]"

Change-Id: I891182d919b18b6c84048486e0385027bd93b57d

9 days agoMerge "fix for big-endian"
Pascal Massimino [Tue, 14 May 2013 08:58:06 +0000 (01:58 -0700)]
Merge "fix for big-endian"

9 days agoMerge "Further reduce memory to decode lossy+alpha images"
pascal massimino [Tue, 14 May 2013 08:56:54 +0000 (01:56 -0700)]
Merge "Further reduce memory to decode lossy+alpha images"

9 days agoFurther reduce memory to decode lossy+alpha images 62/51062/1
Urvang Joshi [Mon, 13 May 2013 23:24:49 +0000 (16:24 -0700)]
Further reduce memory to decode lossy+alpha images

Earlier such images were using roughly 9 * width * height bytes for
decoding. Now, they take 6 * width * height memory.

Change-Id: Ie4a681ca5074d96d64f30b2597fafdca648dd8f7

9 days agoMux: make a few methods static 21/51021/1
Urvang Joshi [Mon, 13 May 2013 20:26:33 +0000 (13:26 -0700)]
Mux: make a few methods static

Change-Id: I8a8b0b403116c89933e84c93502a8230026f819e

9 days agofix for big-endian 52/50952/2
Pascal Massimino [Sat, 11 May 2013 10:53:01 +0000 (03:53 -0700)]
fix for big-endian

(Issue #150: https://code.google.com/p/webp/issues/detail?id=150)

Change-Id: Iad46d375a8c5eabae37cde8f55b3e7448601f264

9 days agoMerge "add uncompressed TIFF output support"
Pascal Massimino [Mon, 13 May 2013 15:59:48 +0000 (08:59 -0700)]
Merge "add uncompressed TIFF output support"

12 days agoadd uncompressed TIFF output support 54/50654/4
Pascal Massimino [Thu, 9 May 2013 10:57:50 +0000 (03:57 -0700)]
add uncompressed TIFF output support

new option: 'dwebp -tiff ...'
This is a very simple uncompressed-tiff writing method.

Change-Id: Ie2182c8498bce570de3cde363abe1099e18596cb

12 days agoMerge "gif2webp: Fix signed/unsigned comparison mismatch"
pascal massimino [Sat, 11 May 2013 07:53:20 +0000 (00:53 -0700)]
Merge "gif2webp: Fix signed/unsigned comparison mismatch"

12 days agoMerge "GetFeatures: Detect invalid VP8X/VP8/VP8L data"
pascal massimino [Sat, 11 May 2013 07:51:39 +0000 (00:51 -0700)]
Merge "GetFeatures: Detect invalid VP8X/VP8/VP8L data"

12 days agoMerge "mux.h: A comment fix + some consistency fixes"
pascal massimino [Sat, 11 May 2013 07:41:35 +0000 (00:41 -0700)]
Merge "mux.h: A comment fix + some consistency fixes"

12 days agoGetFeatures: Detect invalid VP8X/VP8/VP8L data 87/50887/1
Urvang Joshi [Fri, 10 May 2013 21:25:00 +0000 (14:25 -0700)]
GetFeatures: Detect invalid VP8X/VP8/VP8L data

This facilitates early error detection during decode/render.
Also, related refactoring.

Change-Id: Ia6c7cd91dec202a2a68dae2118f5981cf1eaa83d

12 days agoCosmetic: "width * height" 73/50873/1
Urvang Joshi [Fri, 10 May 2013 20:39:58 +0000 (13:39 -0700)]
Cosmetic: "width * height"

Change-Id: I567c0d95355160a9f6721f949b38e2b8b6270b7a

12 days agogif2webp: Fix signed/unsigned comparison mismatch 89/50889/1
Urvang Joshi [Fri, 10 May 2013 20:37:20 +0000 (13:37 -0700)]
gif2webp: Fix signed/unsigned comparison mismatch

Change-Id: I355f0614424276550db71b24e5bb1948e5c6894c

12 days agomux.h: A comment fix + some consistency fixes 71/50871/1
Urvang Joshi [Fri, 10 May 2013 20:35:16 +0000 (13:35 -0700)]
mux.h: A comment fix + some consistency fixes

Change-Id: I0aee1090322bac3ae3dabf9a48661cbb6de3ca52

13 days agoMerge "swig: ifdef some Java specific code"
pascal massimino [Fri, 10 May 2013 09:00:02 +0000 (02:00 -0700)]
Merge "swig: ifdef some Java specific code"

13 days agoMakefile.vc: fix libwebpdemux dll variable typo 69/50769/1
James Zern [Fri, 10 May 2013 06:47:30 +0000 (23:47 -0700)]
Makefile.vc: fix libwebpdemux dll variable typo

Fixes issue #149

Patch by: Jason Stevens  (cypher497 at gmail dot com)

Change-Id: I65cceaad37d22b96e5e92cb78f859fc0b7c38b67

13 days agoswig: add python (decode) support 68/50768/1
James Zern [Fri, 10 May 2013 06:27:54 +0000 (23:27 -0700)]
swig: add python (decode) support

similar to Java, simple interface only

Change-Id: I8a3d344e5d89f73627e4e0cb2067512260d46fdd

2 weeks agoswig: cosmetics 67/50767/1
James Zern [Thu, 9 May 2013 01:00:30 +0000 (18:00 -0700)]
swig: cosmetics

normalize formatting
- update decode prototypes
- match project function name style

Change-Id: Ib481b5602171b72dbb1a5d462e6d5166e9b8566e

2 weeks agoWebP-Lossless encoding improvements. 36/50536/1
Vikas Arora [Thu, 9 May 2013 00:19:04 +0000 (17:19 -0700)]
WebP-Lossless encoding improvements.

Lossy (with Alpha) image compression gets 2.3X speedup.
Compressing lossless images is 20%-40% faster now.

Change-Id: I41f0225838b48ae5c60b1effd1b0de72fecb3ae6

2 weeks agoswig: ifdef some Java specific code 66/50766/1
James Zern [Thu, 9 May 2013 00:13:40 +0000 (17:13 -0700)]
swig: ifdef some Java specific code

no implementation change

Change-Id: I077c707e1f6293188e6fa11ba24757009a709f77

2 weeks agoMerge "Mux: make ValidateForSingleImage() method static"
pascal massimino [Wed, 8 May 2013 08:54:28 +0000 (01:54 -0700)]
Merge "Mux: make ValidateForSingleImage() method static"

2 weeks agoMerge "Add GetCanvasSize() method to mux"
pascal massimino [Wed, 8 May 2013 08:53:22 +0000 (01:53 -0700)]
Merge "Add GetCanvasSize() method to mux"

2 weeks agoMux: make ValidateForSingleImage() method static 62/50062/2
Urvang Joshi [Fri, 3 May 2013 20:58:53 +0000 (13:58 -0700)]
Mux: make ValidateForSingleImage() method static

Change-Id: I96ac5e3be26b8e8ecd9f055501a5feb7710bc324

2 weeks agoconfigure: add warning related flags 49/50349/1
James Zern [Tue, 7 May 2013 00:18:27 +0000 (17:18 -0700)]
configure: add warning related flags

adds TEST_AND_ADD_CFLAGS function
uses AM_CFLAGS to allow CFLAGS override

Change-Id: I9352aec6e5d905a41d832bf5ad0c8dcd154f7e97

2 weeks agoAdd GetCanvasSize() method to mux 41/49941/2
Urvang Joshi [Thu, 2 May 2013 20:54:25 +0000 (13:54 -0700)]
Add GetCanvasSize() method to mux

Change-Id: If910f5024f4c301a92e6c2e8ee9c315a103c5df7

2 weeks agoMerge "configure: add GLUT detection; build vwebp"
pascal massimino [Tue, 7 May 2013 19:15:50 +0000 (12:15 -0700)]
Merge "configure: add GLUT detection; build vwebp"

2 weeks agoconfigure: add GLUT detection; build vwebp 43/49843/2
James Zern [Wed, 1 May 2013 21:47:56 +0000 (14:47 -0700)]
configure: add GLUT detection; build vwebp

Change-Id: I7f0964db2d04c22ff9ec274e8cd1cbed7379a165

2 weeks agoMerge "Alpha decoding: significantly reduce memory usage"
pascal massimino [Tue, 7 May 2013 16:14:56 +0000 (09:14 -0700)]
Merge "Alpha decoding: significantly reduce memory usage"

2 weeks agoMerge "configure: add --enable-everything"
pascal massimino [Tue, 7 May 2013 15:50:57 +0000 (08:50 -0700)]
Merge "configure: add --enable-everything"

2 weeks agoMerge "configure.ac: add some helper macros"
pascal massimino [Tue, 7 May 2013 15:49:21 +0000 (08:49 -0700)]
Merge "configure.ac: add some helper macros"

2 weeks agoAlpha decoding: significantly reduce memory usage 03/50003/1
Urvang Joshi [Fri, 3 May 2013 01:24:46 +0000 (18:24 -0700)]
Alpha decoding: significantly reduce memory usage

Simply get rid of an intermediate buffer of size width x height, by
using the fact that stride == width in this case.

Change-Id: I92376a2561a3beb6e723e8bcf7340c7f348e02c2

3 weeks agoconfigure: add --enable-everything 42/49842/1
James Zern [Thu, 2 May 2013 01:13:55 +0000 (18:13 -0700)]
configure: add --enable-everything

Change-Id: Ie1b3abd42459de7f789fe985759c465c2a196727

3 weeks agoconfigure.ac: add some helper macros 41/49841/1
James Zern [Wed, 24 Apr 2013 21:40:58 +0000 (14:40 -0700)]
configure.ac: add some helper macros

library check related variable maintenance -> *_INCLUDES / *_LIBS

CLEAR_LIBVARS / LIBCHECK_PROLOGUE / LIBCHECK_EPILOGUE

Change-Id: I72e292dc1f69b02f69a26639308f247db0471e2b

3 weeks agoRemove the gcc compilation comments 05/49805/1
Pascal Massimino [Mon, 1 Apr 2013 23:10:35 +0000 (23:10 +0000)]
Remove the gcc compilation comments

They went out of sync some time ago, and are
no longer really required since we have them
buildable from makefile.unix

Change-Id: Ica2dcf5c55f44365598f832f55204d123d7aa601

3 weeks agoCosmetic fixes 83/49383/1
Urvang Joshi [Fri, 26 Apr 2013 22:55:42 +0000 (15:55 -0700)]
Cosmetic fixes

Change-Id: I7d5a337077ba1d0406769190fef9b47146ed8b24

3 weeks agoSimplify forward-WHT + SSE2 version 15/49315/1
skal [Fri, 26 Apr 2013 06:55:31 +0000 (08:55 +0200)]
Simplify forward-WHT + SSE2 version

no precision loss observed
speed is not really faster (0.5% at max), as forward-WHT isn't called often.

also: replaced a "int << 3" (undefined by C-spec) by a "int * 8"
( supersedes https://gerrit.chromium.org/gerrit/#/c/48739/ )

Change-Id: I2d980ec2f20f4ff6be5636105ff4f1c70ffde401

3 weeks agofix missed optim 19/49219/1
skal [Thu, 25 Apr 2013 20:46:12 +0000 (22:46 +0200)]
fix missed optim

it's not often the case, but could happen, that chroma has non-zero
coeff but luma hasn't. In such case, we should skip luma right away

Change-Id: I9515573ffaec8aad8b069d2c02ffbda4a6eff97c

3 weeks agoVP8GetInfo(): Check for zero width or height. 07/49207/1
Urvang Joshi [Thu, 25 Apr 2013 19:08:40 +0000 (12:08 -0700)]
VP8GetInfo(): Check for zero width or height.

Change-Id: I0bf40621ed0776e1a185ad8abab5a914a3d29d69

4 weeks agoalign VP8Encoder::nz_ allocation 38/48738/2
James Zern [Sat, 13 Apr 2013 17:53:20 +0000 (10:53 -0700)]
align VP8Encoder::nz_ allocation

prevents unaligned uint32_t load/store

Change-Id: I3f5e1b434a7452f618009d5e4bbe4f3260e3e321

4 weeks agofix CheckMode() signature 48/49048/1
skal [Wed, 24 Apr 2013 12:33:44 +0000 (14:33 +0200)]
fix CheckMode() signature

should have been 'const VP8Decoder* const dec', but actually
we just need to pass mb_x_ and mb_y_

Change-Id: I21ca0d67ab33302d6eaa45698d53ed6c2de76981

4 weeks agoMerge "explicitly pad bitfields to 32-bits"
pascal massimino [Mon, 22 Apr 2013 20:13:29 +0000 (13:13 -0700)]
Merge "explicitly pad bitfields to 32-bits"

4 weeks agoexplicitly pad bitfields to 32-bits 37/48737/2
James Zern [Sat, 13 Apr 2013 17:51:23 +0000 (10:51 -0700)]
explicitly pad bitfields to 32-bits

suggested by fbarchard@chromium; may affect alignment in some cases

Change-Id: I63552eb1a0f9e81754d30ce6e9b1cfe5748bdbc9

4 weeks agoMerge "prevent signed int overflow in left shift ops"
pascal massimino [Fri, 19 Apr 2013 07:13:16 +0000 (00:13 -0700)]
Merge "prevent signed int overflow in left shift ops"

4 weeks agoMerge "cosmetics: remove unnecessary ';'s"
pascal massimino [Fri, 19 Apr 2013 07:11:10 +0000 (00:11 -0700)]
Merge "cosmetics: remove unnecessary ';'s"

4 weeks agoMerge "don't forward declare enums"
pascal massimino [Fri, 19 Apr 2013 07:10:39 +0000 (00:10 -0700)]
Merge "don't forward declare enums"

4 weeks agogif2webp: Fix ICC and XMP support 61/48561/1
Urvang Joshi [Thu, 18 Apr 2013 21:19:25 +0000 (14:19 -0700)]
gif2webp: Fix ICC and XMP support

Change-Id: Ib5aafef388bd191610e4cc2f8180f35cd454f1d3

5 weeks agoAdd missing name to AUTHORS 93/48493/1
Christian Duvivier [Thu, 18 Apr 2013 09:28:03 +0000 (11:28 +0200)]
Add missing name to AUTHORS

Change-Id: I00092e5bb676b48abc05b94080b589b48c911c82

5 weeks agoDemux: Fix a potential memleak 57/48257/1
Urvang Joshi [Tue, 16 Apr 2013 21:13:45 +0000 (14:13 -0700)]
Demux: Fix a potential memleak

Change-Id: Ic0dcac010da088b791c130be4abacdd8c31e92cf

5 weeks agodon't forward declare enums 78/48078/2
James Zern [Sat, 13 Apr 2013 17:38:09 +0000 (10:38 -0700)]
don't forward declare enums

doing so is not part of ISO C; removes some pedantic warnings

Change-Id: I739ad8c5cacc133e2546e9f45c0db9d92fb93d7e

5 weeks agoprevent signed int overflow in left shift ops 79/48079/2
James Zern [Sat, 13 Apr 2013 17:33:41 +0000 (10:33 -0700)]
prevent signed int overflow in left shift ops

force unsigned when shifting by 24.

Change-Id: Ie229d252e2e4078107cd705b09397e686a321ffd

5 weeks agocosmetics: remove unnecessary ';'s 80/48080/1
James Zern [Sat, 13 Apr 2013 17:49:35 +0000 (10:49 -0700)]
cosmetics: remove unnecessary ';'s

Change-Id: I5fefd9a5b2fe3795c2b5d785c30335b85bac0b43

5 weeks agoMerge "Fix few missing comparisons to NULL"
James Zern [Sat, 13 Apr 2013 17:42:51 +0000 (10:42 -0700)]
Merge "Fix few missing comparisons to NULL"

5 weeks agoFix few missing comparisons to NULL 99/47899/2
Pascal Massimino [Thu, 11 Apr 2013 07:57:31 +0000 (00:57 -0700)]
Fix few missing comparisons to NULL

Change-Id: I0d2ff8e8b507d17e80669b2b59fd5b017af995ed

5 weeks agoCleaned up VP8GetHeaders() so that it parses only frame header 90/47890/1
Pascal Massimino [Thu, 11 Apr 2013 18:35:18 +0000 (11:35 -0700)]
Cleaned up VP8GetHeaders() so that it parses only frame header

Removed a call to WebPParseHeaders() inside VP8GetHeaders(). This was not needed
anyway, as all call flows already call WebPParseHeaders() before calling
VP8GetHeaders().

This avoids duplicate calls to WebPParseHeaders().

Change-Id: Icb2d618bd26c44220d956c17a69c9c45a62d5237

6 weeks agodwebp: add support for BMP output 16/47716/1
Pascal Massimino [Wed, 10 Apr 2013 01:51:59 +0000 (18:51 -0700)]
dwebp: add support for BMP output

Supports alpha output too.

Change-Id: I42ea0bf7b6bbb420f0e537d372a3b13fe00528a9

6 weeks agoadd precision about dynamic output reallocation with IDecoder 06/47706/1
Pascal Massimino [Wed, 10 Apr 2013 00:52:37 +0000 (17:52 -0700)]
add precision about dynamic output reallocation with IDecoder

The output surface CAN be changed inbetween calls to
WebPIUpdate() or WebPIAppend(), but with precautions.

Change-Id: I899afbd95738a6a8e0e7000f8daef3e74c99ddd8

6 weeks agoMerge "Makefile.vc: have 'all' target build everything"
James Zern [Tue, 9 Apr 2013 21:02:22 +0000 (14:02 -0700)]
Merge "Makefile.vc: have 'all' target build everything"

6 weeks agoMerge "Makefile.vc: flags cleanup"
James Zern [Tue, 9 Apr 2013 00:21:24 +0000 (17:21 -0700)]
Merge "Makefile.vc: flags cleanup"

6 weeks agoMerge "Makefile.vc: drop /FD flag"
James Zern [Tue, 9 Apr 2013 00:20:32 +0000 (17:20 -0700)]
Merge "Makefile.vc: drop /FD flag"

6 weeks agoMerge "update gitignore"
James Zern [Tue, 9 Apr 2013 00:20:02 +0000 (17:20 -0700)]
Merge "update gitignore"

6 weeks agoRename PRE_VP8 state to WEBP_HEADER 76/47576/3
Urvang Joshi [Mon, 8 Apr 2013 19:19:29 +0000 (12:19 -0700)]
Rename PRE_VP8 state to WEBP_HEADER

Also, rename state VP8_FRAME_HEADER to VP8_HEADER (to be consistent with
VP8L_HEADER).

Change-Id: Ief2d2f483e36d37f00d8d0db87026ad059f27327

6 weeks agoAdd incremental support for extended format files 72/47472/2
Urvang Joshi [Fri, 5 Apr 2013 21:01:07 +0000 (14:01 -0700)]
Add incremental support for extended format files

This applies to images with optional chunks (e.g. images with ALPH
chunk,
ICCP chunk etc). Before this, the incremental decoding used to work like
non-incremental decoding for such files, that is, no rows were decoded
until
all data was available.

The change is in 2 parts:
- During optional chunk parsing, don't wait for the full VP8/VP8L chunk.
- Remap 'alpha_data' pointer whenever a new buffer is allocated/used in
WebPIAppend() and WebPIUpdate().

Change-Id: I6cfd6ca1f334b9c6610fcbf662cd85fa494f2a91

6 weeks agoMakefile.vc: have 'all' target build everything 14/47514/1
James Zern [Sat, 6 Apr 2013 02:21:01 +0000 (19:21 -0700)]
Makefile.vc: have 'all' target build everything

default is still the core examples as makefile.unix

Change-Id: Ica3fe6123f4359aefa130b39d2b0739b65e34c0b

6 weeks agoMakefile.vc: flags cleanup 13/47513/1
James Zern [Sat, 6 Apr 2013 01:45:53 +0000 (18:45 -0700)]
Makefile.vc: flags cleanup

- drop some unnecessary link flags
- use lib.exe directly for creating libraries
- factorize /nologo and use it consistently

Change-Id: Ie76119bc051e9bc53e4d6bba1a0a3f124f9062fc

6 weeks agoMakefile.vc: drop /FD flag 12/47512/1
James Zern [Fri, 5 Apr 2013 21:54:05 +0000 (14:54 -0700)]
Makefile.vc: drop /FD flag

breaks under wine; from MSDN:
/FD is only used by the development environment, and it should not be
used from the command line or a build script.

Change-Id: I180c9813e721b163cc645b9b7f14fe36556019d3

6 weeks agoupdate gitignore 77/47477/1
James Zern [Fri, 5 Apr 2013 21:51:02 +0000 (14:51 -0700)]
update gitignore

*.a, new examples and new automake-1.12 file (ar-lib)

Change-Id: I28d7bc59a2977a7c5959940936e3d13a71dd149c

6 weeks agoMerge "WebPEncode: An additional check. Start VP8EncLoop/VP8EncTokenLoop only if...
James Zern [Fri, 5 Apr 2013 19:00:46 +0000 (12:00 -0700)]
Merge "WebPEncode: An additional check. Start VP8EncLoop/VP8EncTokenLoop only if VP8EncStartAlpha succeeded."

6 weeks agoWebPEncode: An additional check. 30/47430/1
Urvang Joshi [Fri, 5 Apr 2013 18:33:44 +0000 (11:33 -0700)]
WebPEncode: An additional check.
Start VP8EncLoop/VP8EncTokenLoop only if VP8EncStartAlpha succeeded.

Change-Id: Id1faca3e6def88102329ae2b4974bd4d6d4c4a7a

6 weeks agopngdec: Avoid a double-free. 29/47429/1
Urvang Joshi [Fri, 5 Apr 2013 18:24:59 +0000 (11:24 -0700)]
pngdec: Avoid a double-free.

Earlier, at line#275, if ok == 0, it would have triggered a double free
of 'rgb'.

Change-Id: Iaee1f35824a66f6e4b488e523416f73b87c5ec30

6 weeks agoMerge "configure.ac: add AM_PROG_AR for automake >= 1.12"
James Zern [Fri, 5 Apr 2013 03:09:00 +0000 (20:09 -0700)]
Merge "configure.ac: add AM_PROG_AR for automake >= 1.12"

7 weeks agoadd WebPBlendAlpha() function to blend colors against background 10/47210/1
Pascal Massimino [Wed, 3 Apr 2013 02:14:14 +0000 (19:14 -0700)]
add WebPBlendAlpha() function to blend colors against background

new option: -blend_alpha 0xrrggbb
also: don't force picture.use_argb value for lossless. Instead,
delay the YUVA<->ARGB conversion till WebPEncode() is called.
This make the blending more accurate when source is ARGB
and lossy compression is used (YUVA).
This has an effect on cropping/rescaling. E.g. for PNG, these
are now done in ARGB colorspace instead of YUV when lossy compression
is used.

Change-Id: I18571f1b1179881737a8dbd23ad0aa8cddae3c6b

7 weeks agoconfigure.ac: add AM_PROG_AR for automake >= 1.12 09/47209/1
James Zern [Wed, 3 Apr 2013 01:45:02 +0000 (18:45 -0700)]
configure.ac: add AM_PROG_AR for automake >= 1.12

fixes:
automake-1.12/am/ltlibrary.am: warning: 'libwebp.la': linking libtool libraries using a non-POSIX
automake-1.12/am/ltlibrary.am: archiver requires 'AM_PROG_AR' in 'configure.ac'

Change-Id: I223f93e5f075aaf23cfefceef55e2ab8eeb34ccd