skal
24cc307ae3
~20% faster lossless decoding
...
We use help from small LUTs for Huffman decoding.
Change-Id: I58db4ecd37282822094519f2aa14cf544beba975
2013-06-20 09:41:29 +02:00
skal
313d853fa9
Speedup for decoding lossless WebP photographs:
...
use bit_pos instead num_bit to update the bit-reader
37.69 MB/s -> 39.79 MB/s, 5.6 %
Change-Id: Ica476cc3e2fc2db084d6961bea8586b050bb221d
2013-06-18 17:26:52 +02:00
skal
24ee098a00
change the bytes_per_pixels_ field into more evocative use_8b_decode
...
+ split AllocateInternalBuffers() into two 32b/8b variants instead of
trying to do everything in one function.
Change-Id: I35cac9fcd990a2194c95da4b2a4046ca3a514343
2013-06-18 17:24:14 +02:00
skal
3307c16327
Don't set alpha-channel to 0xff for alpha->green uplift
...
usually saves ~4 bytes on average (but, up to 10 -or even 16- sometimes).
Change-Id: Ib500e1a35471a2f3da453ffc8c7e95d28b8d34fe
2013-06-18 00:03:32 +02:00
pascal massimino
5130770cd3
Merge "wicdec: silence a format warning"
2013-06-17 14:45:01 -07:00
Urvang Joshi
a37eff47d6
Regression fix for alpha channels using color cache:
...
Considering the fact that insert to/lookup from the color cache is always 32
bit, use DecodeImageData() variant in that case.
Change-Id: I6c665a6cfbd9bd10651c1e82fa54e687cbd54a2b
2013-06-17 03:49:30 -07:00
pascal massimino
241cf99bc0
Merge "muxedit: silence some uninitialized warnings"
2013-06-16 23:23:20 -07:00
Urvang Joshi
c8f9c84d5e
Regression fix for alpha unfiltering:
...
For vertical filter, correctly initialize 'preds' when not starting at
row 0.
Change-Id: I69697d73dde8a2f701f376ff3986d09fa6f7fee3
2013-06-16 02:00:44 -07:00
James Zern
14cd5c6c40
muxedit: silence some uninitialized warnings
...
src/mux/muxedit.c:490: warning: 'x_offset' may be used uninitialized in this function
src/mux/muxedit.c:490: warning: 'y_offset' may be used uninitialized in this function
Change-Id: I4fd27f717e59a556354d0560b633d0edafe7a4d8
2013-06-15 14:30:22 -07:00
James Zern
a368db81c6
dec/vp8l: quiet vs9 x64 type conversion warning
...
src\dec\vp8l.c(816) : warning C4244: '=' : conversion from '__int64' to
'int', possible loss of data
src\dec\vp8l.c(817) : warning C4244: '=' : conversion from '__int64' to
'int', possible loss of data
Change-Id: I1d376d5dea909395bff8741aba16e8eed83a6e8f
2013-06-14 19:24:54 -07:00
James Zern
ffae9f31e8
wicdec: silence a format warning
...
from x86_64-w64-mingw32-gcc
examples/wicdec.c: In function ‘ExtractICCP’:
examples/wicdec.c:131:21: warning: format ‘%u’ expects argument of type
‘unsigned int’, but argument 4 has type ‘size_t’ [-Wformat]
Change-Id: I6642dae62265a2276ae9ac96dd8ce6f1e2d37ca5
2013-06-14 18:44:59 -07:00
Urvang Joshi
8cf0701eb0
Alpha encoding: never filter in case of NO_COMPRESSION
...
This is because, filtering would never affect compression density for
this case.
Change-Id: I4bb14d3eb7da0a3805fda140eb1dfbf9ccc134f5
2013-06-14 13:34:25 -07:00
skal
86daf77c47
store top Y/U/V samples in packed fashion
...
More cache-line friendly than storing them split.
Change-Id: Ifb23cc3518ff1b5c37afe007558d4278868d75ea
2013-06-13 06:01:27 +02:00
Urvang Joshi
068db59e26
Intertwined decoding of alpha and RGB
...
This will reduce the time to first decoded pixel.
Change-Id: I07b900c0ed4af3aac806b2731e11cd18ec16d016
2013-06-12 14:10:59 -07:00
Urvang Joshi
3fa595a571
Support decoding upto given row in DECODE_DATA_FUNC
...
This is in preparation for supporting Intertwined decoding of RGB and
alpha.
Change-Id: Ie1905d1212f4a00718a64dca020be3f4b1b870ec
2013-06-11 16:00:58 -07:00
Urvang Joshi
520f005f85
DequantizeLevels(): Add 'row' and 'num_rows' args
...
Change-Id: I0032e25c30f34362105d942f2dbb9ac75200f911
2013-06-11 15:59:21 -07:00
Urvang Joshi
47374b8273
Alpha unfilter for given set of rows
...
Support reconstruction of small number of rows at a time.
Change-Id: Ief1bc78c7ad011ec6df856551f3beb5f907fd8e0
2013-06-11 15:57:42 -07:00
Vikas Arora
bf867bf296
Tuned cross_color parameter (step) for lower qual
...
Tuned the cross_color transform parameter (step) for lower quality
levels. This change gives speedup of 20% at lower qualities (25) and 10% at
moderate quality level (50) with a loss of 0.25% in compression density.
Also removed TODO for cross_color transform. Observed good correlation of
this with the predict transform.
Change-Id: I8a1044e9f24e6a5f84295c030fd444d0eec7d154
2013-06-11 12:15:07 -07:00
James Zern
90e2ec5a1b
Merge "probe input file and quick-check for WebP format."
2013-06-10 12:29:58 -07:00
James Zern
7180d7ffbd
Merge "update copyright text"
2013-06-10 12:23:44 -07:00
Pascal Massimino
830f72b7e9
probe input file and quick-check for WebP format.
...
Error message is clearer that 'can't create demux object'.
Change-Id: Iec008601892f7cd8399e1948751747ac23305eef
2013-06-10 05:46:22 -07:00
James Zern
2ccf58d648
configure: improve gl/glut library test
...
add a check for a libGL function (glOrtho) in addition to glutMainLoop
when establishing the need for libGL at link time.
fixes vwebp link failure on ubuntu 13.04+
Change-Id: I537e9a5cab5cf4cd8875e06268d2107f377e625e
2013-06-07 20:15:53 -07:00
James Zern
d640614d54
update copyright text
...
rather than symlink the webm/vpx terms, use the same header as libvpx to
reference in-tree files
based on the discussion in:
https://codereview.chromium.org/12771026/
Change-Id: Ia3067ecddefaa7ee01550136e00f7b3f086d4af4
2013-06-06 23:09:14 -07:00
pascal massimino
c2113ad4f9
Merge "configure: remove use of AS_VAR_APPEND"
2013-06-06 00:23:29 -07:00
James Zern
9326a56f8d
configure: remove use of AS_VAR_APPEND
...
This wasn't used often and benefits were likely minimal. Dropping it
outright is a bit simpler than adding a compatibility ifdef.
provides some compatibility with older versions of autoconf.
tested with autoconf 2.59/automake 1.7/aclocal 1.7
Change-Id: Ifed892346cf2329597985704830a96fc58d65607
2013-06-06 00:14:02 -07:00
skal
ea63d61937
fix a type warning on VS9 x86
...
"warning C4244: 'function' : conversion from 'uint64_t' to 'size_t', possible loss of data"
Change-Id: Ibd9f6a24993518d658d08127d616a17d7b99e0e4
2013-06-05 10:14:04 +02:00
skal
bec11092ca
fix EXIF parsing in PNG
...
'exiftool' puts an 'APP1' chunk for exif, e.g.:
https://metacpan.org/source/EXIFTOOL/Image-ExifTool-5.87/lib/Image/ExifTool/PNG.pm#L305
Change-Id: I313d3e6945898526b8a4baf3d9016a2591a1a817
2013-06-05 10:07:48 +02:00
Pascal Massimino
b6e65f3d35
Merge "fix warnings for vs9 x64"
2013-06-03 22:27:03 -07:00
Pascal Massimino
438946dcc6
fix warnings for vs9 x64
...
Change-Id: Id022d48a0a898a8bf7dce437b078da6c98afd75c
2013-06-01 22:48:08 -07:00
skal
f4710e3b89
collect macroblock reconstruction data in VP8MBData struct
...
This is to better separate bitstream parsing from reconstruction.
Change-Id: I872b58e9940c4b14f72ebee50fba545468ff754c
2013-05-31 22:38:12 +02:00
skal
23d28e216d
add doc precision for WebPPictureCopy() and WebPPictureView()
...
output picture object is overwritten, not free'd or destroyed.
Change-Id: Ibb47ab444063e7ad90ff3d296260807ffe7ddbf9
2013-05-31 10:41:19 +02:00
James Zern
518f2cd738
cosmetics: gif2webp: fix indent
...
Change-Id: I9b7aaefb33b4101bcb572577ce17fb3953599c2b
2013-05-29 16:00:05 -07:00
skal
af358e68ed
Merge "remove datatype qualifier for vmnv"
2013-05-23 06:12:06 -07:00
skal
3fe91635df
remove datatype qualifier for vmnv
...
this fix is for clang (LLVM v4.2). gcc was fine.
Change-Id: Id4076cda84813f6f9548a01775b094cff22b4be9
2013-05-23 13:52:24 +02:00
skal
764fdffaac
fix a memory leak in gif2webp
...
(rgba->yuv allocates memory)
Also fixed few warning and cleaned the code up.
Change-Id: Id904ad3ad8802ea9fc3d34247d27193dfa7b0b99
2013-05-22 23:49:24 +02:00
skal
3e59a74d72
fix two minor memory leaks in webpmux
...
(only occur in case of error)
Change-Id: Icab69bb364b77f8eae6cae91047354c27e610602
2013-05-22 00:58:53 +02:00
James Zern
47b9862f30
Merge "README: update swig notes"
2013-05-21 15:09:30 -07:00
James Zern
325d15ff30
remove some cruft from swig/libwebp.jar
...
picked up a few unnecessary classes from a dirty tree in the last commit
Change-Id: I98be16a0bc8716476ce440da542d113f254aee78
2013-05-21 15:01:15 -07:00
James Zern
4a7627c215
README: update swig notes
...
add python, required version notes
Change-Id: Iec2e94075f6cf54455ce5a658f9b7258109f4d01
2013-05-21 14:58:32 -07:00
James Zern
5da81e3383
Merge "swig/python: add minimal documentation"
2013-05-21 14:49:46 -07:00
James Zern
f39e08f2e3
Merge "swig: add python encode support"
2013-05-21 14:48:36 -07:00
James Zern
6ca4a3e385
Merge "swig/java: reduce wrapper function code duplication"
2013-05-21 14:44:16 -07:00
James Zern
8f8702b034
Merge "swig/java: rework uint8_t typemap"
2013-05-21 14:42:58 -07:00
skal
91413be2f9
reduce memory for VP8MB and remove bitfields use
...
~1% faster on ARMv7
Change-Id: I3e3524e0c25ebd31a04269aae0d304932f1a781a
2013-05-21 23:20:04 +02:00
Vikas Arora
7413394e7f
Fix the memory leak in ApplyFilters.
...
Change-Id: Iba1b1adf3088ea9c43e4f602a93e77450f6c6170
2013-05-21 14:00:26 -07:00
skal
2053c2cff2
simplify the alpha-filter testing loop
...
Change-Id: Iacebae749c37edc87a3c94c76cd589a2565ee642
2013-05-21 10:29:27 +02:00
James Zern
825b64db53
swig/python: add minimal documentation
...
uses autodoc to display the function arguments rather than the
inscrutable va_args (*args).
Change-Id: Iec2ff8276c1533b14c3032836d822fbdae632521
2013-05-20 17:14:51 -07:00
James Zern
14677e11d4
swig: add python encode support
...
wraps the simple interface similar to java.
Change-Id: Ib922bbcae322b2345b6dce5dee08faad705a77fd
2013-05-20 17:14:50 -07:00
James Zern
a5c297c842
swig/java: reduce wrapper function code duplication
...
define a macro to emit the wrapper code
Change-Id: I672416016162d6d9ce6f455d224044e0837e3ace
2013-05-20 17:13:27 -07:00
James Zern
ad4a367dba
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
2013-05-20 13:16:14 -07:00