webm/libwebp.git
2 days agoAdd a WebPExtractAlpha function to dsp 72/71572/2 master
Pascal Massimino [Mon, 15 Sep 2014 06:11:36 +0000 (08:11 +0200)]
Add a WebPExtractAlpha function to dsp

This is the opposite of WebPDispatchAlpha

+ Implement the SSE2 version

Change-Id: I0c297309255f508c5261da8aad01f7e57f924d6c

4 days agofix indent after I0204949917836f74c0eb4ba5a7f4052a4797833b 57/71557/1
Pascal Massimino [Fri, 12 Sep 2014 17:59:53 +0000 (19:59 +0200)]
fix indent after I0204949917836f74c0eb4ba5a7f4052a4797833b

Change-Id: I5d9e5d0a2ad2cefd8c539571d2eaee948da60ad5

4 days agoOptimize lossless decoding for trivial(ARB) codes. 56/71556/1
Vikas Arora [Fri, 12 Sep 2014 16:06:35 +0000 (09:06 -0700)]
Optimize lossless decoding for trivial(ARB) codes.

Optimize the decoding for region that have trivial literal codes.
The trivial literal is defined as huffman image with Red, Blue and Alpha
huffman trees with only single code values.
This speeds up lossless decoding by 3%

Change-Id: I0204949917836f74c0eb4ba5a7f4052a4797833b

4 days agoMerge "webpmux: simplify InitializeConfig()"
James Zern [Fri, 12 Sep 2014 07:43:06 +0000 (00:43 -0700)]
Merge "webpmux: simplify InitializeConfig()"

5 days agowebpmux: simplify InitializeConfig() 54/71554/2
James Zern [Fri, 12 Sep 2014 07:03:28 +0000 (00:03 -0700)]
webpmux: simplify InitializeConfig()

put WebPMuxConfig on the stack in main() rather than allocating it in
InitializeConfig(); removes a level of indirection there.

Change-Id: I81d386f7472ebbd322dd3fdbfda9d78dbeb62a66

5 days agowebpmux: fix indent 53/71553/2
James Zern [Fri, 12 Sep 2014 06:53:05 +0000 (23:53 -0700)]
webpmux: fix indent

+ remove unnecessary cast

Change-Id: I2070fbe6aeda49f5790c69390e5b539a2c1a5616

5 days agowebpmux: fix exit status on numeric value parse error 51/71551/2
James Zern [Fri, 12 Sep 2014 06:36:12 +0000 (23:36 -0700)]
webpmux: fix exit status on numeric value parse error

in most cases 'ok' is set via a goto macro

Change-Id: I17c832446bf3e716d3bcd323dbcc72bec544029c

5 days agoMerge "webpmux: fix loop_count range check"
pascal massimino [Fri, 12 Sep 2014 06:02:37 +0000 (23:02 -0700)]
Merge "webpmux: fix loop_count range check"

5 days agoMerge "examples: warn on invalid numeric parameters"
pascal massimino [Fri, 12 Sep 2014 06:02:18 +0000 (23:02 -0700)]
Merge "examples: warn on invalid numeric parameters"

5 days agowebpmux: fix loop_count range check 44/71544/1
James Zern [Thu, 11 Sep 2014 22:26:11 +0000 (15:26 -0700)]
webpmux: fix loop_count range check

explicitly check [0, 65535], the use of 'long' was removed in a prior
commit

Change-Id: I70d5bf286908459b5d4d619c657853f0e833b6ea

5 days agoMerge "fix loop bug in DispatchAlpha()"
Pascal Massimino [Thu, 11 Sep 2014 21:48:19 +0000 (14:48 -0700)]
Merge "fix loop bug in DispatchAlpha()"

5 days agogif2webp: Handle frames with missing graphic control extension 43/71543/1
Urvang Joshi [Thu, 11 Sep 2014 21:35:21 +0000 (14:35 -0700)]
gif2webp: Handle frames with missing  graphic control extension

According to the GIF spec (http://www.w3.org/Graphics/GIF/spec-gif89a.txt),
this block is optional, and its scope is only the first graphic rendering block
that follows.

The spec doesn't mention what default values of frame dimensions, offsets,
duration and transparent index to use in such a case, though. So, we use the
defaults used by GIF reader in Chromium:
https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/platform/image-decoders/gif/GIFImageReader.h&l=186

Change-Id: Iecc6967847192483770e85ac15fe2835cd01ce7b

5 days agofix loop bug in DispatchAlpha() 41/71541/1
Pascal Massimino [Thu, 11 Sep 2014 20:35:08 +0000 (22:35 +0200)]
fix loop bug in DispatchAlpha()

* We were re-doing most of the work in plain-C as 'left-over'.
* we were always returning has_alpha = true because of a bad mask all_0xff

These bugs were conservative and silent, in the sense that we were 'just' doing
more work than necessary.

Now, the SSE2 version is really 2x faster than the C version.

Change-Id: I6c8132a267fe3c7a3d1fa70e7a5fcd10719543fa

5 days agoexamples: warn on invalid numeric parameters 27/71527/3
James Zern [Thu, 11 Sep 2014 06:35:48 +0000 (23:35 -0700)]
examples: warn on invalid numeric parameters

add ExUtilGet[U]Int / ExUtilGetFloat which print an error message on
parse failure.
fixes issue #219.

Change-Id: Ie537f5aebd138925bf1a48289b6b5e261b3af2ca

5 days agoMIPS: dspr2: added optimization for TransformOne 28/71528/3
Djordje Pesut [Tue, 2 Sep 2014 12:24:10 +0000 (14:24 +0200)]
MIPS: dspr2: added optimization for TransformOne

added macros for TransformOne, TransformAC3 and TransfromDC

Change-Id: I4341450f443cf46dcf91c0db17bde63c8fb8afee

6 days agoSSE2 for inverse Mult(ARGB)Row and ApplyAlphaMultiply 26/71526/1
Pascal Massimino [Thu, 11 Sep 2014 05:58:42 +0000 (07:58 +0200)]
SSE2 for inverse Mult(ARGB)Row and ApplyAlphaMultiply

Change-Id: Iab5c0e4a4d2b31f86736a9b277e62b6e28c3d2b4
WebPMultRow: ~7x faster
WebPMultARGBRow: ~3x faster
ApplyAlphaMultiply: 60% faster

6 days agoRemove default initialization of decoder status. 24/71524/1
Vikas Arora [Wed, 10 Sep 2014 21:54:20 +0000 (14:54 -0700)]
Remove default initialization of decoder status.

emove the default initialization of decoder status in the method
VP8LDecodeImage().

Change-Id: Ie6b949606349f4e937c4c1dd2c02ff2a4f86870f

7 days agoconfigure: simplify libpng-config invocation 16/71516/1
James Zern [Wed, 10 Sep 2014 05:55:29 +0000 (22:55 -0700)]
configure: simplify libpng-config invocation

use --ldflags over --prefix + --libs combination

based on comment in issue #180.

Change-Id: If2ca06053d5237b6722ddf4117917e5f3c06ab59

7 days agoRectify bug in lossless incremental decoding. 11/71511/1
Vikas Arora [Tue, 9 Sep 2014 22:30:47 +0000 (15:30 -0700)]
Rectify bug in lossless incremental decoding.

Handle the corner case when VP8LDecodeImage() method is called with an invalid
header data. The lossless decoding doesn't support incremental mode yet.
Return the error status as BITSTREAM error in case not all pixels are decoded
with the provided bit-stream. Also added asserts in the VP8LDecodeImage() method
to validate the decoder header with appropriate/valid data for huffman trees
(htree_groups_ etc).

Change-Id: Ibac9fcfc4bd0a2c5f624bb9d4a2b9f6459aa19ea

7 days agoMIPS: dspr2: added optimization for TransformAC3 01/71501/1
Djordje Pesut [Tue, 2 Sep 2014 12:18:51 +0000 (14:18 +0200)]
MIPS: dspr2: added optimization for TransformAC3

Change-Id: Icd789ee5f6d764297e7dc0a0f8a3bc47ab92ac65

7 days agoMIPS: dspr2: added optimization for TransformDC 00/71500/1
Djordje Pesut [Tue, 2 Sep 2014 12:03:13 +0000 (14:03 +0200)]
MIPS: dspr2: added optimization for TransformDC

Change-Id: Iee69758f6442ea9c80ddaa32cea8d00dda4c6252

7 days agoMerge "Slightly faster lossless decoding (1%)"
Pascal Massimino [Tue, 9 Sep 2014 10:55:00 +0000 (03:55 -0700)]
Merge "Slightly faster lossless decoding (1%)"

7 days agoSlightly faster lossless decoding (1%) 67/71467/5
Pascal Massimino [Sat, 6 Sep 2014 06:26:28 +0000 (08:26 +0200)]
Slightly faster lossless decoding (1%)

-> introduce special case 64b pattern-copy, similar to the 8b one for alpha.
-> use mempcy() for non-overlapping areas
+ cosmetics and homogenezation of the code

Change-Id: I0e65e04b96fec94c009a4614137dfba2a0f98561

8 days agoMIPS: dspr2: added optimization for ColorIndexInverseTransforms 43/71443/4
Djordje Pesut [Tue, 2 Sep 2014 14:34:52 +0000 (16:34 +0200)]
MIPS: dspr2: added optimization for ColorIndexInverseTransforms

Change-Id: I5b6094ce489d4f896bc4b8f575142eb3c5054beb

11 days agomake VP8LSetBitPos() set br->eos_ flag 83/71483/1
Pascal Massimino [Sat, 6 Sep 2014 06:40:20 +0000 (08:40 +0200)]
make VP8LSetBitPos() set br->eos_ flag

ReadSymbol() finishes with a VP8LSetBitPos() call only and could miss an eos_ during the decode loop.

Things are faster because of inlining too.

Change-Id: I2d2a275f38834ba005bc767d45c5de72d032103e

11 days agoLossless decoding: fix eos_ flag condition 69/71469/2
Pascal Massimino [Fri, 5 Sep 2014 18:21:17 +0000 (20:21 +0200)]
Lossless decoding: fix eos_ flag condition

eos_ needs to be set only when superfluous bits have actually
been requested.
Earlier, we were assuming pre-mature end-of-stream to be an error.
Now, more precisely, we mark error when we have encountered end-of-stream *and*
we attempt to read more bits after that.

This handles cases where image data requires no bits to be read

Change-Id: I628e2c39c64f10c443fb51f86b1f5919cc9fd299

11 days agofix erroneous dec->status_ setting 68/71468/1
Pascal Massimino [Fri, 5 Sep 2014 17:48:11 +0000 (19:48 +0200)]
fix erroneous dec->status_ setting

We only need to set BITSTREAM_ERROR if !ok.

Change-Id: I5bd13e64797e8bc509477edb29158abb39cb0ee1

12 days agoMIPS: dspr2: add some specific mips code to commit I2c3f2b12f8df15b785fad5a9c56316e95... 42/71442/1
Djordje Pesut [Thu, 4 Sep 2014 11:38:15 +0000 (13:38 +0200)]
MIPS: dspr2: add some specific mips code to commit I2c3f2b12f8df15b785fad5a9c56316e954ae0c53

added some C-code tuning also

Change-Id: I67ce70a063ef6b5821b9158a4defd6987eccbb9a

12 days agoMerge "further refine the COPY_PATTERN optim for DecodeAlpha"
skal [Thu, 4 Sep 2014 10:43:55 +0000 (03:43 -0700)]
Merge "further refine the COPY_PATTERN optim for DecodeAlpha"

13 days agoenc/histogram.c: reindent after f4059d0 33/71433/1
James Zern [Wed, 3 Sep 2014 23:58:49 +0000 (16:58 -0700)]
enc/histogram.c: reindent after f4059d0

fixes indent in HistogramRemap after:
f4059d0 Code cleanup for HistogramRemap.

Change-Id: I9f53a088749e9100a70331bda1662488666c5156

13 days agoMerge "~3-5% faster encoding optimizing PickBestIntra*()"
skal [Wed, 3 Sep 2014 22:53:32 +0000 (15:53 -0700)]
Merge "~3-5% faster encoding optimizing PickBestIntra*()"

13 days agofurther refine the COPY_PATTERN optim for DecodeAlpha 32/71432/1
skal [Wed, 3 Sep 2014 22:25:27 +0000 (00:25 +0200)]
further refine the COPY_PATTERN optim for DecodeAlpha

* use functions instead of MACRO
* adjust var's name

Overall, same speed, with more readible code

Change-Id: I2c3f2b12f8df15b785fad5a9c56316e954ae0c53

13 days agoadded C-level optimization for DecodeAlphaData function 04/71404/8
Djordje Pesut [Thu, 28 Aug 2014 14:53:33 +0000 (16:53 +0200)]
added C-level optimization for DecodeAlphaData function

Copies with short distances of 1,2 and 4 are specialized.

up to 10-14% faster alpha decoding.

Change-Id: I9708e98193910bfaf8ef43091f3fdea73b63896d

2 weeks agoadd a fallback to ALPHA_NO_COMPRESSION 12/71412/1
skal [Tue, 2 Sep 2014 19:55:13 +0000 (21:55 +0200)]
add a fallback to ALPHA_NO_COMPRESSION

if ALPHA_LOSSLESS_COMPRESSION produces a too big file (very rare!),
we fall-back to no-compression automatically.

Change-Id: I5f3f509c635ce43a5e7c23f5d0f0c8329a5f24b7

2 weeks ago~3-5% faster encoding optimizing PickBestIntra*() 02/71402/1
skal [Mon, 1 Sep 2014 12:05:46 +0000 (14:05 +0200)]
~3-5% faster encoding optimizing PickBestIntra*()

* Add early-out check for Intra16
* replace some memcpy() by pointer swap

Change-Id: I5edc5f7fbc8e39984deb48e6c045c97c61418589

2 weeks agoExUtilReadFromStdin: (windows) open stdin in bin mode 01/71401/1
James Zern [Sat, 30 Aug 2014 02:16:54 +0000 (19:16 -0700)]
ExUtilReadFromStdin: (windows) open stdin in bin mode

fixes input/decode from stdin in the examples

Change-Id: Ie8052da758a9ef64477501b709408236d258da82

2 weeks agowebpmux: (windows) open stdout in binary mode 00/71400/1
James Zern [Sat, 30 Aug 2014 02:11:41 +0000 (19:11 -0700)]
webpmux: (windows) open stdout in binary mode

prevents corrupt output. related to issue #217

Change-Id: I6f0dac8131127717ba72b0709fb35d421ab41acb

2 weeks agocwebp: (windows) open stdout in binary mode 99/71399/1
James Zern [Sat, 30 Aug 2014 02:11:41 +0000 (19:11 -0700)]
cwebp: (windows) open stdout in binary mode

prevents corrupt output. fixes issue #217

Change-Id: If90afb441636144300da66d64f0e7f78505b4060

2 weeks agoexample_util: add ExUtilSetBinaryMode 98/71398/1
James Zern [Sat, 30 Aug 2014 02:07:17 +0000 (19:07 -0700)]
example_util: add ExUtilSetBinaryMode

use it in dwebp when dealing with 'stdout'

Change-Id: I8b8a0b0de9e73731e913ac3c83b5e2b33c693175

2 weeks agowebpmux man page: Clarify some title, descriptions and examples 95/71395/2
Urvang Joshi [Fri, 29 Aug 2014 20:13:49 +0000 (13:13 -0700)]
webpmux man page: Clarify some title, descriptions and examples

Based on the feedback here:
https://groups.google.com/a/webmproject.org/d/msg/webp-discuss/qY6rWJLqRTY/pF8oSj8DOGYJ

Change-Id: I9119ea8e211ffb269026010e3c590385bc6a9f17

2 weeks agoaddress cosmetic comments from patch #71380 90/71390/1
skal [Fri, 29 Aug 2014 01:08:00 +0000 (18:08 -0700)]
address cosmetic comments from patch #71380

Change-Id: Iaba301b9e77aa4febe0efe1e6016fab42d5589f3

2 weeks agoSpeed up Huffman decoding for lossless 80/71380/4
skal [Thu, 28 Aug 2014 15:35:19 +0000 (08:35 -0700)]
Speed up Huffman decoding for lossless

speed-up is ~1.6% for photographic image to 10% for graphical image
(1000 images corpus was sped up by 5.8 %)

Code by akramarz@google.com and jyrki@google.com

Change-Id: Iceb2e50e6cc761b9315a3865d22ec9d19b8011c6

2 weeks agodsp/lossless: workaround gcc-4.9 bug on arm 79/71379/2
James Zern [Fri, 18 Jul 2014 00:48:42 +0000 (17:48 -0700)]
dsp/lossless: workaround gcc-4.9 bug on arm

force Sub3() to not be inlined, otherwise the code in Select() will be
incorrect.
https://android-review.googlesource.com/#/c/102511

Change-Id: I90ae58bf3e6cc92ca9897f69974733d562e29aaf

2 weeks agodsp.h: collect gcc/clang version test macros 78/71378/1
James Zern [Thu, 28 Aug 2014 02:33:09 +0000 (19:33 -0700)]
dsp.h: collect gcc/clang version test macros

endian_inl.h already relies on dsp.h, grab the definitions from there.

Change-Id: I445f7d0631723043c55da1070498f89965bec7b1

2 weeks agomove static initialization of WebPYUV444Converters[] to the Init function. 70/71370/2
skal [Wed, 27 Aug 2014 14:55:34 +0000 (07:55 -0700)]
move static initialization of WebPYUV444Converters[] to the Init function.

Split initialization of YUV444Converters[] out of Upsamplers init.

update test for NULL function pointers

Change-Id: I9603f54250f90c85a12ffbecfd6c59e9b06c47e0

2 weeks agoMerge "fix indentation"
skal [Wed, 27 Aug 2014 14:52:36 +0000 (07:52 -0700)]
Merge "fix indentation"

3 weeks agoCode cleanup for HistogramRemap. 63/71363/1
Vikas Arora [Tue, 26 Aug 2014 22:44:04 +0000 (15:44 -0700)]
Code cleanup for HistogramRemap.

Avoid call to HistogramAddThresh when there's only one Histogram image.
Change-Id: I43b09e8e2d218c95969567034224777dcce37ab9

3 weeks agofix indentation 54/71354/2
skal [Tue, 26 Aug 2014 06:52:09 +0000 (23:52 -0700)]
fix indentation

Change-Id: I2294a6c83e5f345f64bd5120b91532e00ed6c543

3 weeks agoMerge "add a DispatchAlpha() for SSE2 that handles 8 pixels at a time"
skal [Tue, 26 Aug 2014 05:43:42 +0000 (22:43 -0700)]
Merge "add a DispatchAlpha() for SSE2 that handles 8 pixels at a time"

3 weeks agoadd a DispatchAlpha() for SSE2 that handles 8 pixels at a time 51/71351/2
skal [Tue, 26 Aug 2014 03:55:28 +0000 (20:55 -0700)]
add a DispatchAlpha() for SSE2 that handles 8 pixels at a time

Only slightly faster.

Change-Id: Ie2e57e6a0950166124cf1075c6c9b45b7abdad8c

3 weeks agointroduce VP8EncQuantize2Blocks to quantize two blocks at a time 42/71342/2
skal [Mon, 25 Aug 2014 20:16:14 +0000 (13:16 -0700)]
introduce VP8EncQuantize2Blocks to quantize two blocks at a time

No speed diff for now. We might reorder better the instructions later,
to speed things up.

Change-Id: I1949525a0b329c7fd861b8dbea7db4b23d37709c

3 weeks agoMIPS: dspr2: added optimization for EmitAlphaRGB 91/71291/6
Djordje Pesut [Thu, 21 Aug 2014 17:26:18 +0000 (19:26 +0200)]
MIPS: dspr2: added optimization for EmitAlphaRGB

New dsp function: WebPDispatchAlpha()

Change-Id: I48e539d22471279ec75185759bc68d18b127f716

3 weeks agoenc_neon: enable QuantizeBlock for aarch64 85/71285/1
James Zern [Wed, 20 Aug 2014 06:59:03 +0000 (23:59 -0700)]
enc_neon: enable QuantizeBlock for aarch64

vtbl4_u8 is available everywhere except iOS arm64: use vtbl2q_u8 there
with a corresponding change in the load.

Change-Id: Ib84212dda3c7875348282726c29e3b79b78b0eac

4 weeks agoMIPS: mips32: code rebase 51/71251/1
Djordje Pesut [Tue, 19 Aug 2014 13:10:30 +0000 (15:10 +0200)]
MIPS: mips32: code rebase

mips code rebased to be same as C code
from commit I8c29a8a0285076cb3423b01ffae9fcc465da6a81

Change-Id: I3848f4ce43387c3a62b336606498779f7b07ec44

4 weeks agoMIPS: dspr2: added optimizations for VP8YuvTo* 12/71212/6
Djordje Pesut [Fri, 15 Aug 2014 09:00:32 +0000 (11:00 +0200)]
MIPS: dspr2: added optimizations for VP8YuvTo*

VP8YuvToRgb
VP8YuvToBgr
VP8YuvToRgb565
VP8YuvToRgba4444
VP8YuvToArgb
VP8YuvToBgra
VP8YuvToRgba

Change-Id: I22212a125d890e1fd28388fec906a1a5c07ff386

4 weeks agoSmartRGBYUV: fix odd-width problem with pixel replication 46/71246/1
skal [Mon, 18 Aug 2014 21:29:37 +0000 (14:29 -0700)]
SmartRGBYUV: fix odd-width problem with pixel replication

rightmost pixel was missing a copy, which could lead to invalid read.

Also added a lower dimension of 4, below which we use the regular conversion.
This is to prevent corner cases, in addition to not being overkill.

Change-Id: Iac12e7a3d74590f12fe8eeb1830b9891e61439f6

4 weeks agofix some MSVC64 warning about float conversion 33/71233/1
Pascal Massimino [Sat, 16 Aug 2014 07:15:29 +0000 (00:15 -0700)]
fix some MSVC64 warning about float conversion

Change-Id: I27ab27fc15033d27d0505729f6275fb542c8d473

4 weeks agocpu: check for _MSC_VER before using msvc inline asm 26/71226/1
James Zern [Fri, 15 Aug 2014 22:11:40 +0000 (15:11 -0700)]
cpu: check for _MSC_VER before using msvc inline asm

_M_IX86 will be defined in mingw builds after including windows.h. as
the gcc inline asm is first, this missing check would only have caused
an error if the code was reorganized.

Change-Id: I395679bcfc43e94d308d1ceb0c0fbf932b2c378c

4 weeks agofaster RGB->YUV conversion function (~7% speedup) 15/71215/1
skal [Fri, 15 Aug 2014 18:13:25 +0000 (11:13 -0700)]
faster RGB->YUV conversion function (~7% speedup)

with a special case for dithering==0., it gets somewhat faster on x86
thanks to inlining.

Also, less macros.

Change-Id: Ic2f2bf6718310743bb40cef2104fa759a073e6d5

4 weeks agoMerge "Add smart RGB->YUV conversion option -pre 4"
skal [Fri, 15 Aug 2014 18:07:49 +0000 (11:07 -0700)]
Merge "Add smart RGB->YUV conversion option -pre 4"

4 weeks agoAdd smart RGB->YUV conversion option -pre 4 13/71213/1
skal [Fri, 15 Aug 2014 17:55:09 +0000 (10:55 -0700)]
Add smart RGB->YUV conversion option -pre 4

New function: WebPPictureSmartARGBToYUVA()
This implement smart RGB->YUV conversion.

This is rather undocumented for now, and is triggered using '-pre 4'
preprocessing option.

This is slow-ish and use quite some memory, but should be improvable.
This is somehow a usable beta version.

Change-Id: Ia50a8c30134e4cab8a7d3eb70aef13ce1f6187a1

4 weeks agoMIPS: dspr2: added optimization for (un)filters 96/71196/4
Djordje Pesut [Mon, 4 Aug 2014 14:22:10 +0000 (16:22 +0200)]
MIPS: dspr2: added optimization for (un)filters

HorizontalFilter
VerticalFilter
GradientFilter
HorizontalUnfilter
VerticalUnfilter
GradientUnfilter

Change-Id: I54055b4767c37719691811072e95bf79c1f627b1

4 weeks agoMerge "configure: add work around for gcc-4.9 aarch64 bug"
James Zern [Thu, 14 Aug 2014 00:38:58 +0000 (17:38 -0700)]
Merge "configure: add work around for gcc-4.9 aarch64 bug"

4 weeks agoMIPS: dspr2: Optimization of some simple point-sampling functions 73/71173/3
Djordje Pesut [Tue, 12 Aug 2014 09:47:36 +0000 (11:47 +0200)]
MIPS: dspr2: Optimization of some simple point-sampling functions

Change-Id: I6a4ab29bd0cc5a2951a8882cf9997032dc38bd79

5 weeks agoconfigure: add work around for gcc-4.9 aarch64 bug 72/71172/3
James Zern [Tue, 12 Aug 2014 02:41:05 +0000 (19:41 -0700)]
configure: add work around for gcc-4.9 aarch64 bug

add -frename-registers to avoid:
src/dsp/dec_neon.c:1234:1: internal
compiler error: in simplify_const_unary_operation, at
simplify-rtx.c:1539

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62040
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61622
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=757738

Change-Id: I52fb3a29ac30b82b27da05378bdb495ddebb97d7

5 weeks agoMIPS: mips32r2: added optimization for BSwap32 48/71148/2
Djordje Pesut [Mon, 11 Aug 2014 16:11:40 +0000 (18:11 +0200)]
MIPS: mips32r2: added optimization for BSwap32

gcc < 4.8.3 doesn't translate bswap optimally.
use optimized version always

Change-Id: I979ea26ad6dc0166d3d2f39c4148eb8adfb7ddec

5 weeks agoUpdate PATENTS to reflect s/VP8/WebM/g 66/71166/1
Lou Quillio [Mon, 11 Aug 2014 19:55:14 +0000 (12:55 -0700)]
Update PATENTS to reflect s/VP8/WebM/g

Sync with http://www.webmproject.org/license/additional/

modified:   PATENTS

Change-Id: I9f7af36fdcf57a82311363a043707b181832fc18

5 weeks agoMerge "MIPS: detect mips32r6 and disable mips32r1 code"
Djordje Pesut [Mon, 11 Aug 2014 12:44:01 +0000 (05:44 -0700)]
Merge "MIPS: detect mips32r6 and disable mips32r1 code"

5 weeks agoMIPS: detect mips32r6 and disable mips32r1 code 34/71134/1
Djordje Pesut [Fri, 8 Aug 2014 15:08:06 +0000 (17:08 +0200)]
MIPS: detect mips32r6 and disable mips32r1 code

Change-Id: Id1325c789a990c9a8704e84e99a22d580303eb8a

5 weeks agoCorrectly use the AC_CANONICAL_* macros 06/71106/2
Timothy Gu [Wed, 6 Aug 2014 03:55:04 +0000 (20:55 -0700)]
Correctly use the AC_CANONICAL_* macros

http://www.gnu.org/software/autoconf/manual/autoconf.html#Using-System-Type

Change-Id: I40a13e84f5266ed20bc4db098502b1610ab71206
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
5 weeks agoMerge "cosmetics"
pascal massimino [Wed, 6 Aug 2014 19:30:08 +0000 (12:30 -0700)]
Merge "cosmetics"

5 weeks agocosmetics 95/71095/2
James Zern [Wed, 6 Aug 2014 05:22:29 +0000 (07:22 +0200)]
cosmetics

fix some indent/whitespace, remove a few duplicate includes, extra
semi-colons

Change-Id: If937182b40a21e0f2028496e7b4b06c6e8a41352

6 weeks agoMerge "cosmetics: remove some extraneous 'extern's"
pascal massimino [Wed, 6 Aug 2014 06:00:04 +0000 (23:00 -0700)]
Merge "cosmetics: remove some extraneous 'extern's"

6 weeks agoMerge "vp8enci.h: cosmetics: fix '*' placement"
pascal massimino [Wed, 6 Aug 2014 05:34:13 +0000 (22:34 -0700)]
Merge "vp8enci.h: cosmetics: fix '*' placement"

6 weeks agobit_writer: cosmetics: rename kFlush() -> Flush() 92/71092/1
James Zern [Sun, 3 Aug 2014 01:42:16 +0000 (18:42 -0700)]
bit_writer: cosmetics: rename kFlush() -> Flush()

Change-Id: I8907927974188bee85ffade1d75d2e50817aa115

6 weeks agocosmetics: remove some extraneous 'extern's 93/71093/1
James Zern [Sun, 3 Aug 2014 01:59:17 +0000 (18:59 -0700)]
cosmetics: remove some extraneous 'extern's

Change-Id: Ib3f0cff37120c51633387dd1c46592c53ab0ba6d

6 weeks agovp8enci.h: cosmetics: fix '*' placement 94/71094/1
James Zern [Sun, 3 Aug 2014 02:10:12 +0000 (19:10 -0700)]
vp8enci.h: cosmetics: fix '*' placement

associate with the type

Change-Id: Icf94f11bf79f6ccee3150e27b228755f8f3f0f37

6 weeks agoadd -near_lossless [0..100] experimental option 78/71078/1
skal [Tue, 5 Aug 2014 17:14:57 +0000 (19:14 +0200)]
add -near_lossless [0..100] experimental option

This compresses the uimage using lossless compression and controlable
decimating pre-process.
Code is under WEBP_EXPERIMENTAL_FEATURE while it's being experimented with.

Change-Id: I8b7f4cfcc3c6afc52a556102842bdbb045ed5ee8

6 weeks agodsp: detect mips64 & disable mips32 code 73/71073/3
James Zern [Fri, 1 Aug 2014 19:15:15 +0000 (21:15 +0200)]
dsp: detect mips64 & disable mips32 code

Change-Id: Icf68dafd5cf0614ca25b36a0252caa1784ac8059

6 weeks agocwebp.1: fix quality description placement 38/71038/1
James Zern [Wed, 30 Jul 2014 18:08:27 +0000 (11:08 -0700)]
cwebp.1: fix quality description placement

move it above '-z'

Change-Id: I776aaee31a3702923324c7c4101e6628499cb819

7 weeks agoMerge tag 'v0.4.1' 25/71025/1
James Zern [Wed, 30 Jul 2014 01:00:23 +0000 (18:00 -0700)]
Merge tag 'v0.4.1'

libwebp 0.4.1
- 7/24/14: version 0.4.1
  This is a binary compatible release.
  * AArch64 (arm64) & MIPS support/optimizations
  * NEON assembly additions:
    - ~25% faster lossy decode / encode (-m 4)
    - ~10% faster lossless decode
    - ~5-10% faster lossless encode (-m 3/4)
  * dwebp/vwebp can read from stdin
  * cwebp/gif2webp can write to stdout
  * cwebp can read webp files; useful if storing sources as webp lossless

* tag 'v0.4.1':
  update ChangeLog
  iosbuild.sh: specify optimization flags
  update ChangeLog
  makefile.unix: add vwebp.1 to the dist target
  update ChangeLog
  gif2webp: dust up the help message
  remove -noalphadither option from README/vwebp.1
  update NEWS for the next release
  update AUTHORS
  bump version to 0.4.1
  restore mux API compatibility
  remove the !WEBP_REFERENCE_IMPLEMENTATION tweak in Put8x8uv
  restore encode API compatibility
  restore decode API compatibility
  gif2webp: fix compile with giflib 5.1.0
  gif2webp: simplify giflib version checking

Change-Id: Icf599f29bc6c0db757bc133aaddb3dbbbc316e08

7 weeks agoupdate ChangeLog 09/71009/1 0.4.1 v0.4.1
James Zern [Tue, 29 Jul 2014 00:22:32 +0000 (17:22 -0700)]
update ChangeLog

Change-Id: I3b930aa6cb72d17f41e52d645de1d9b2f3a0238b

7 weeks agoRecord & log the image pre-processing time. 08/71008/1
Vikas Arora [Mon, 28 Jul 2014 23:04:54 +0000 (16:04 -0700)]
Record & log the image pre-processing time.

Change-Id: If0ecec3046e87fe0021446a98f3e94c7e0576bb8

7 weeks agoiosbuild.sh: specify optimization flags 02/71002/1
James Zern [Sun, 27 Jul 2014 03:40:51 +0000 (20:40 -0700)]
iosbuild.sh: specify optimization flags

explicitly set '-O3 -DNDEBUG'. setting CFLAGS on the command line
overrides the default, resulting in -O0.

Change-Id: I213979f646b1444b1d8e0eb0bb58e9b2c3cc4dd3

7 weeks agoupdate ChangeLog 83/70983/1 v0.4.1-rc1
James Zern [Thu, 24 Jul 2014 18:54:02 +0000 (11:54 -0700)]
update ChangeLog

Change-Id: I5346984d2adff27b64304c154d720456549a9f24

7 weeks agomakefile.unix: add vwebp.1 to the dist target 77/70977/1
James Zern [Thu, 24 Jul 2014 06:41:47 +0000 (23:41 -0700)]
makefile.unix: add vwebp.1 to the dist target

Change-Id: Icf8b3853a9b175688c3b92d6f498ed44c58ca462

7 weeks agoupdate ChangeLog 75/70975/1
James Zern [Thu, 24 Jul 2014 06:05:49 +0000 (23:05 -0700)]
update ChangeLog

Change-Id: Ie9c2c7fe53321aefa17905c4322ad3373869ebad

7 weeks agoMerge "update NEWS for the next release" into 0.4.1
James Zern [Thu, 24 Jul 2014 06:02:19 +0000 (23:02 -0700)]
Merge "update NEWS for the next release" into 0.4.1

7 weeks agogif2webp: dust up the help message 74/70974/1
James Zern [Thu, 24 Jul 2014 03:02:43 +0000 (20:02 -0700)]
gif2webp: dust up the help message

* try to avoid trailing '.'
* rationalize capitalization

missed in:
0a8b886 dust up the help message

Change-Id: I6f80736cc8a2ff4f185f63d463a57d5bbf88a0db

7 weeks agoremove -noalphadither option from README/vwebp.1 73/70973/1
James Zern [Thu, 24 Jul 2014 02:52:45 +0000 (19:52 -0700)]
remove -noalphadither option from README/vwebp.1

+ vwebp's -help output

this is a future option; missed in:
793368e restore decode API compatibility

Change-Id: If920df2cf8de57ebad93a6b98830562149396d8d

7 weeks agoupdate NEWS for the next release 57/70957/2
James Zern [Wed, 23 Jul 2014 03:55:03 +0000 (20:55 -0700)]
update NEWS for the next release

Change-Id: If708c6b442816f43522b7e5b292f3cba266d614a

7 weeks agoMerge "update AUTHORS" into 0.4.1
James Zern [Thu, 24 Jul 2014 00:33:15 +0000 (17:33 -0700)]
Merge "update AUTHORS" into 0.4.1

7 weeks agoupdate AUTHORS 72/70972/1
James Zern [Thu, 24 Jul 2014 00:21:04 +0000 (17:21 -0700)]
update AUTHORS

Change-Id: I1eae9342df7bf4e8e98d5328b2e3eab7cba9fee8

7 weeks agobump version to 0.4.1 71/70971/1
James Zern [Thu, 24 Jul 2014 00:15:33 +0000 (17:15 -0700)]
bump version to 0.4.1

libwebp{,decoder} - 0.4.1
libwebp libtool - 5.1.0
libwebpdecoder libtool - 1.1.0

mux/demux - 0.2.1
libtool - 1.1.0

Change-Id: If593a198f802fd68c7dbbdbe0fc2612dbc44e2df

7 weeks agoMerge "restore mux API compatibility" into 0.4.1
James Zern [Thu, 24 Jul 2014 00:11:33 +0000 (17:11 -0700)]
Merge "restore mux API compatibility" into 0.4.1

7 weeks agorestore mux API compatibility 70/70970/1
James Zern [Wed, 23 Jul 2014 23:13:56 +0000 (16:13 -0700)]
restore mux API compatibility

protect WebPMuxSetCanvasSize w/a WEBP_MUX_ABI_VERSION check

Change-Id: I6b01af55ebb4cc4c860d3cbf43be722077896748

7 weeks agoremove the !WEBP_REFERENCE_IMPLEMENTATION tweak in Put8x8uv 69/70969/1
skal [Wed, 23 Jul 2014 20:59:33 +0000 (13:59 -0700)]
remove the !WEBP_REFERENCE_IMPLEMENTATION tweak in Put8x8uv

There's no speed diff, so better remove it altogether

Reported in https://code.google.com/p/webp/issues/detail?id=215

Change-Id: I991330de18bec340029d6df5fed0dfb4337e4662

7 weeks agoMerge changes If4debc15,I437a5d5f into 0.4.1
James Zern [Wed, 23 Jul 2014 20:56:27 +0000 (13:56 -0700)]
Merge changes If4debc15,I437a5d5f into 0.4.1

* changes:
  restore encode API compatibility
  restore decode API compatibility

8 weeks agorestore encode API compatibility 59/70959/2
James Zern [Wed, 23 Jul 2014 03:24:59 +0000 (20:24 -0700)]
restore encode API compatibility

protect WebPConfigLosslessPreset/WebPMemoryWriterClear w/a
WEBP_ENCODER_ABI_VERSION check

Change-Id: If4debc15fee172a3f18079bc2bd29eb8447bc14b

8 weeks agorestore decode API compatibility 58/70958/1
James Zern [Wed, 23 Jul 2014 03:03:52 +0000 (20:03 -0700)]
restore decode API compatibility

protect flip/alpha_dither w/a WEBP_DECODER_ABI_VERSION check

Change-Id: I437a5d5f78800f71b7e7e323faa321f946bf9515