Commit Graph

3203 Commits

Author SHA1 Message Date
Vincent Rabaud
7f1b897bee Faster stochastic histogram merging.
Constants are such that brute force is sometimes faster for some
data (mostly big images it seems).

Change-Id: I90aef536408683535e3b09ddfa2e77a9834038f6
2016-08-19 14:52:57 +02:00
James Zern
48c810b85c Merge "remove WEBP_FORCE_ALIGNED and use memcpy() instead." 2016-08-18 03:38:44 +00:00
Pascal Massimino
3884972e3f remove WEBP_FORCE_ALIGNED and use memcpy() instead.
BUG=webp:297

Change-Id: I89a08debec7bb1b3f411c897260ab1bb63f77df2
2016-08-17 20:16:03 -07:00
Pascal Massimino
485cac1a88 switch libimagedec.a and libimageio_util.a to avoid undefined symbol
gcc-4.8.3 was giving the undefined reference to ImgIoUtilReadFile and
ImgIoUtilCopyPlane when linking libimagedec.a

Change-Id: I8b85ab3a860602535629d0bb541a39754413728e
2016-08-17 19:48:08 -07:00
James Zern
005e15b10a Merge "{extras,mux}/Makefile.am: add missing -lm" 2016-08-17 18:18:39 +00:00
skal
6ab496ed22 fix some 'unsigned integer overflow' warnings in ubsan
I couldn't find a safe way of fixing VP8GetSigned() so i just
used the big-hammer.

Change-Id: I1039bc00307d1c90c85909a458a4bc70670e48b7
2016-08-16 23:18:27 -07:00
James Zern
8a4ebc6ab0 Revert "fix 'unsigned integer overflow' warnings in ubsan"
This reverts commit e44f5248ff.

contains unintentional changes in quant.c

Change-Id: I1928f072566788b0c9ea80f6fbc9e571061f9b3e
2016-08-16 16:55:56 -07:00
Pascal Massimino
9d4f209f80 Merge changes I25711dd5,I43188fab
* changes:
  Fix assertions in WebPRescalerExportRow()
  Add descriptions of default configuration in help info.
2016-08-16 22:13:23 +00:00
skal
e44f5248ff fix 'unsigned integer overflow' warnings in ubsan
I couldn't find a safe way of fixing VP8GetSigned() so i just
used the big-hammer.

Change-Id: I1039bc00307d1c90c85909a458a4bc70670e48b7
2016-08-16 15:04:41 -07:00
Hui Su
27b5d991e2 Fix assertions in WebPRescalerExportRow()
Change-Id: I25711dd54e71c90a25f7b18e0ef9155e8151a15e
2016-08-16 14:32:48 -07:00
Hui Su
74f6f9e793 Add descriptions of default configuration in help info.
Change-Id: I43188fab5f57bd45aa3e564df52e36cc37b1bb2f
2016-08-16 14:32:46 -07:00
James Zern
aaf2530cc3 {extras,mux}/Makefile.am: add missing -lm
+ libwebpmux.pc

quality_estimate.c, anim_encode.c rely on functions from math.h

BUG=webp:306

Change-Id: I3a8eb48febfd52bfbeb04f4dc615ccbed72926f7
2016-08-15 22:32:46 -07:00
hui su
1269dc7cfb Refactor VP8LColorCacheContains()
Return key/index if the query is found, and -1 otherwise.
The benefit of this is to save a hashing computation.

Change-Id: Iff056be330f5fb8204011259ac814f7677dd40fe
2016-08-12 15:16:06 -07:00
James Zern
40872fb2e6 dec_neon,NeedsHev: micro optimization
trade 2 compares + 1 logical or for max + compare

Change-Id: I785ad8efdc64db2d0609456d6e7af795ab2117d8
2016-08-08 20:12:30 -07:00
Vincent Rabaud
7b54e26bac Add a CMake option for WEBP_SWAP_16BIT_CSP.
Change-Id: I79ed6cbce9563bf7ca97fc2e10ec3e75b6b8ab5b
2016-08-05 09:45:34 +02:00
Vincent Rabaud
d2223d8d6c Fix missing cpu-features for Android.
Change-Id: Ief13b7c63b96194970b00a5732aa080f794e7ae6
2016-08-05 09:26:32 +02:00
James Zern
bf16a4b4f8 Merge "cpu.cmake: improve webp_check_compiler_flag output" 2016-08-05 01:53:16 +00:00
James Zern
ee1057e3b1 cpu.cmake: improve webp_check_compiler_flag output
WEBP_HAVE_FLAG_LOCAL -> WEBP_HAVE_FLAG_${WEBP_SIMD_FLAG} this will
include the flag being tested in the output:
-- Performing Test WEBP_HAVE_FLAG_NEON

Change-Id: I1c0a143a857b16e4eb1fcf8b23c176380a5fef29
2016-08-03 19:55:18 -07:00
James Zern
b551e587b3 cosmetics: add {}s on continued control statements
for consistency within the codebase. in some cases simply join the
lines.

Change-Id: I071f061052e274c8a69f651ed4305befb4414a40
2016-08-03 19:08:59 -07:00
James Zern
d2e4484ef3 dsp/Makefile.am: put msa source in correct lib
upsampling_msa.c was incorrectly included in the neon convenience lib
+ sort msa sources

Change-Id: I7c4883f16a5c2fed12bfa0e8d8d6a7acd5d4fb84
2016-08-03 17:50:45 -07:00
Pascal Massimino
c7f66c82b3 Merge "utils/thread.c,cosmetics: join a few lines" 2016-07-28 04:08:48 +00:00
Pascal Massimino
98d8f295b1 Merge "examples/Makefile.am,cosmetics: sort binary targets" 2016-07-28 01:17:36 +00:00
James Zern
39f4ffbcdc utils/thread.c,cosmetics: join a few lines
Change-Id: I94c142fc6f9e6823ce16ca723145354eae4db9af
2016-07-27 18:10:18 -07:00
Pascal Massimino
a86ce2b1e2 Merge "extras/Makefile.am: don't install libwebpextras" 2016-07-28 01:07:56 +00:00
James Zern
6fa9fe2482 extras/Makefile.am: don't install libwebpextras
the version info was stripped earlier in:
ad497fb move src/extras to the top-level

Change-Id: I15134d95f49fbd3830df82667af12b8f3a5a7673
2016-07-26 19:19:56 -07:00
hui su
0b2c58a91c Fix an unsigned integer overflow error in enc/cost.h
Change-Id: I9774b59c417c185f09a61a115364b9642976a100
2016-07-26 13:55:09 -07:00
James Zern
d7ce4a2e3e examples/Makefile.am,cosmetics: sort binary targets
Change-Id: I1a592bfcdf55b41814eaf971b43a773c26fbb651
2016-07-25 22:39:54 -07:00
hui su
386e4ba2f0 Reset segment id if we decide not to update segment map
This avoids potential encoder and decoder mismatch.

Change-Id: I5282d3e168afc6193033ad3fce8fbc35618ab2f5
2016-07-25 17:08:10 -07:00
Parag Salasakar
7b87e8485b Merge "Add MSA optimized YUV to RGB upsampling functions" 2016-07-22 17:26:33 +00:00
Parag Salasakar
d3ddacb625 Add MSA optimized YUV to RGB upsampling functions
We add the following MSA optimized YUV to RGB upsampling functions:
- UpsampleRgbLinePair
- UpsampleBgrLinePair
- UpsampleRgbaLinePair
- UpsampleBgraLinePair
- UpsampleArgbLinePair
- UpsampleRgba4444LinePair
- UpsampleRgb565LinePair

Change-Id: I7264a615edc7eb376e443e9d38bd8e3c9a2cab1f
2016-07-22 14:28:30 +00:00
Pascal Massimino
eb98d8d87c webp_quality: detect lossless format and features
lossless bitstream are returned as quality 101

Change-Id: I8b28287169b710ecf8d4d694abbf0cedc6447908
2016-07-22 00:16:56 -07:00
James Zern
ebee57f4d1 move imageio/example_util.[hc] (back to) examples/
decoding and file i/o have been split to imageio, all that remains is
some string routines used for parameter parsing in the examples

Change-Id: I77386cd8aa39124b9e14c95fdbaa17ea4ab5bb24
2016-07-21 20:41:03 -07:00
James Zern
99542bbf3e webpdec: s/ExUtil//
PrintWebPError, LoadWebP, DecodeWebP, DecodeWebPIncremental

Change-Id: Ie17578b91c7efdf6e5fe63568a95f79788b7f8ee
2016-07-21 20:40:11 -07:00
James Zern
da573cf490 imageio_util: s/ExUtil/ImgIoUtil/
ExUtil(SetBinaryMode|ReadFile|ReadFromStdin|WriteFile|CopyPlane) ->
ImgIoUtil(SetBinaryMode|ReadFile|ReadFromStdin|WriteFile|CopyPlane)

Change-Id: I5497f8fe514347efeb83b8b8866ef334390fc18e
2016-07-21 20:40:11 -07:00
James Zern
bdda5bd4bf split example_util.h
move ExUtil*File to imageio_util.h
ExUtil*WebP* to webpdec.h

string parsing routines remain

Change-Id: I0560c4a74e86710d83bc4b5b234f1b5ef9a86f9d
2016-07-21 19:14:58 -07:00
James Zern
15ed462b2d .gitignore: add extras/{get_disto,webp_quality}
Change-Id: Ibc0178e3abdf8de86183cbfded9a9b2400246ac7
2016-07-21 15:26:48 -07:00
Pascal Massimino
7be5748963 Merge "VP8EstimateQuality(): roughty estimate webp bitstream quality factor" 2016-07-21 13:48:19 +00:00
James Zern
57020525ed Makefile.vc: add missing imageio target
Change-Id: I7069fc70e60ff58d5dc2e365e2b23a0e5be716eb
2016-07-20 23:12:57 -07:00
skal
e8ab6a825a VP8EstimateQuality(): roughty estimate webp bitstream quality factor
This function returns a rough estimation of the quality factor used
for compressing the WebP bitstream.

Simple command line: 'webp_quality [-quiet] in.webp'
should print the estimated quality factor.

Change-Id: Ifba3e489461f5a587003ac9f08cc7556e9b24ac2
2016-07-20 21:50:25 -07:00
James Zern
fee7b3d6ca Merge "'extras/get_disto' example: compute PSNR between two files" 2016-07-21 00:56:16 +00:00
skal
1e7d4401dc 'extras/get_disto' example: compute PSNR between two files
Change-Id: I40e693e52d8eb4e32b86273952dac2e5eefe6e7c
2016-07-20 16:54:28 -07:00
James Zern
4cecab63bd pngdec.c,jpegdec.[hc]: remove unnecessary includes
example_util.h hasn't been needed since:
a9947c3 cwebp: add support for stdin input

Change-Id: Ic4fcefd5567aa3f4a5c1d443e8c6d9b4fc2fb53f
2016-07-20 12:12:14 -07:00
James Zern
259f0434a5 makefile.unix: normalize image decode lib name
libexample_dec -> libimagedec

+ add it to OUT_LIBS so it can be removed by the clean target

Change-Id: I3ef4711e261ead2e5d437182ad3b495ae3da7cbc
2016-07-20 11:39:20 -07:00
skal
ed34c39bfc fix: examples/libexample_dec.a => imageio/libexample_dec.a
Change-Id: Id32c8d5ca749178e49c3c446562eca9a81a5a02e
2016-07-20 08:33:50 -07:00
Pascal Massimino
33d8d0d4d3 Merge "move examples/{example_util,image_dec} to imageio/" 2016-07-20 14:03:05 +00:00
Pascal Massimino
c960b82e5c Merge "extras.h: correct include guard" 2016-07-20 13:13:14 +00:00
Pascal Massimino
fe3cd28a53 Merge ".gitignore: add .gradle, /build" 2016-07-20 13:12:28 +00:00
Pascal Massimino
45fbeba5cd Merge "Do token recording and counting in a single loop" 2016-07-20 13:07:41 +00:00
James Zern
4f33c82098 .gitignore: add .gradle, /build
outputs from gradlew

Change-Id: Idbeac1575a062b2590ee577fc3a0ef33efe974c0
2016-07-19 19:28:09 -07:00
James Zern
c379b55a93 move examples/{example_util,image_dec} to imageio/
Change-Id: I2508c786a095a2a75bebf766210c64e2af88f9b6
2016-07-19 19:06:29 -07:00