James Zern
0d7614fddf
README.wasm: add instructions for enabling mulhi
...
Change-Id: I1e9dd737f06ad76f73824352291a6e129ca5ded1
2017-11-02 11:20:09 -07:00
James Zern
88692490a5
WebPMemToUint32: remove ptr cast to int
...
this can result in an alignment hint on arm causing a SIGBUS. casting
the input ptr to anything aside from its type is unnecessary for memcpy
and is contrary to the intent of this function.
Change-Id: I9a4d3f4be90f80cd8c3e96ccbe557e51e34cf7a5
(cherry picked from commit 04b029d236
)
2017-10-31 18:24:54 -07:00
James Zern
0af22e17d6
dec_wasm,NEON mulhi: use local vector types in cast
...
fixes the compile with ENABLE_NEON_BUILTIN_MULHI_INT16X8 without relying
on arm_neon.h when using __builtin_neon_vqdmulhq_v; the typedefs are
assumed to resolve to the same underlying type.
Change-Id: I8840e90d894b5045e0742030cff5e800d7d56efc
2017-10-30 20:40:48 -07:00
James Zern
08af967025
add LOCAL_CLANG_PREREQ and avoid WORK_AROUND_GCC w/3.8+
...
this results in a 15-20% speedup for lossy decoding on a N5/S6/CM1
BUG=webp:339
Change-Id: Icdeb84c3e0b8908147ac276b4d8f76c3d565b735
(cherry picked from commit f78da3dea6
)
2017-10-28 11:49:18 -07:00
James Zern
a26996116f
define WEBP_USE_INTRINSICS w/gcc-4.9+
...
32-bit builds are neutral to slightly faster using ndk r15c on a
N5/S6/CM1
BUG=webp:339
Change-Id: I94b9442e0ceaf2f5edb2b4026bc8b99cd77c918b
(cherry picked from commit 01c426f1e7
)
2017-10-28 11:49:18 -07:00
James Zern
5505a5b107
Android.mk,mips: fix clang build with r15
...
-integrated-as is now required, the opposite of r14
Change-Id: Ic478b2b3b933e66e7d159030eac29f58743eecda
(cherry picked from commit 4fbdc9fb12
)
2017-10-28 11:49:18 -07:00
Scott LaVarnway
8ed24a564c
wasm: replace _mulhi_int16x8() with neon builtin
...
BUG=webp:352
Change-Id: I5c21ee4c631fb7eccff36c7d3cd47a72badf1a89
2017-08-23 12:10:37 -07:00
James Zern
0e8c3004be
fix Android standalone toolchain build
...
add a check for cpu-features.h and rework some of the ifdef's around
android + neon. for android builds with cpu-features enabled the
*_neon.c files will still need to be flagged correctly (with e.g.,
.c.neon in Android.mk) to properly build them.
BUG=webp:353
Change-Id: I905ce305af0a204e560b915d8665093a3edaceb9
(cherry picked from commit c6d1db4b36
)
2017-08-22 12:23:25 -07:00
Scott LaVarnway
6fcc3a720d
wasm: Add simple loopfilter
...
BUG=webp:352
Change-Id: If51454b8f54fb14ced91fa703e86e057457f454f
2017-07-28 09:04:30 -07:00
Scott LaVarnway
2371724d79
Merge "wasm: replace _mulhi_int16x8() with x86 builtin" into portable-intrinsics
2017-07-28 11:43:05 +00:00
Scott LaVarnway
9d1e151bf5
wasm: replace _mulhi_int16x8() with x86 builtin
...
BUG=webp:352
Change-Id: Ie51a8bb68211d7778610a818bba02e7455e47e23
2017-07-27 15:03:52 -07:00
James Zern
a1ab868427
README.wasm: add android build instructions
...
Change-Id: I819dc373b20b2d0255bf396de5e9b467166bb9c2
2017-07-19 12:48:29 -07:00
Scott LaVarnway
0b8ecc8cfa
wasm: Rename _pack_sw_2_sb to _pack_epi16_to_epi8
...
BUG=webp:352
Change-Id: I67beb9297d3a37f3691779e0ad6f557f06195219
2017-07-18 13:34:21 -07:00
James Zern
c646241391
README.wasm: normalize cmake command lines
...
+ enable NEON for armv7
Change-Id: If914f3973391271a1817e7ff16541f3272b2ad88
2017-07-18 11:09:07 -07:00
James Zern
cfaebe3e95
dec_wasm,armv7: set ENABLE_NEON_BUILTIN_ADDSUB_SAT
...
this path works with -march=armv7a -mfpu=neon with clang
Change-Id: I0c04ab9a195c353aa2bfaf3ba2ca8a21e68ee5e1
2017-07-17 22:15:38 -07:00
James Zern
c0eb3ff7d4
dec_wasm,x86: define ENABLE_X86_BUILTIN_ADDSUB_SAT
...
this matches the behavior for aarch64
Change-Id: I243ca6cc5ffec107065a7e0dc442ee69322936ae
2017-07-15 11:54:25 -07:00
Scott LaVarnway
415b98ffad
wasm: Enable neon add,sub with sat builtins
...
For performance testing
BUG=webp:352
Change-Id: I3fab48ee610437ac07dd603208972edf17c6f50b
2017-07-14 15:11:57 -07:00
James Zern
09bcd9a397
Merge "wasm: Replace 5 __builtin_shufflevector()" into portable-intrinsics
2017-07-11 22:57:32 +00:00
Scott LaVarnway
e83df9d208
wasm: replace #if with #ifdef
...
BUG=webp:352
Change-Id: Ib173e8cdb9077b385141c0e3a2f7ceb1a183b89e
2017-07-11 13:18:15 -07:00
Scott LaVarnway
3387fb6fa6
wasm: Replace 5 __builtin_shufflevector()
...
with _unpack*()
BUG=webp:352
Change-Id: Iea17286260afe7d242c91b02d888c5af59ab0cb7
2017-07-11 13:06:24 -07:00
Scott LaVarnway
599bddb658
Merge "wasm: cleanup _pack_sw_2_sb(), SignedShift8b()" into portable-intrinsics
2017-07-11 19:27:57 +00:00
Scott LaVarnway
28fbe808b9
Merge "wasm: Add VFilter8i and HFilter8i" into portable-intrinsics
2017-07-11 18:53:51 +00:00
Scott LaVarnway
c396e6701b
wasm: cleanup _pack_sw_2_sb(), SignedShift8b()
...
BUG=webp:352
Change-Id: I35a36e1841f71f286fa7e032866a878b52ba56ba
2017-07-11 08:48:49 -07:00
Scott LaVarnway
96ef09107c
Merge "wasm: Generic add,sub saturate" into portable-intrinsics
2017-07-10 22:52:40 +00:00
James Zern
bc01db116f
Merge "add README.wasm" into portable-intrinsics
2017-07-10 22:15:16 +00:00
James Zern
d2adc08095
add README.wasm
...
describes how to build dwebp using portable intrinsics
BUG=webp:352
Change-Id: Ibd39dd156d6b64b52f9ade871b969a070bc9ab61
2017-07-10 22:15:00 +00:00
Scott LaVarnway
d6f90a3d83
wasm: Add VFilter8i and HFilter8i
...
BUG=webp:352
Change-Id: I76bac76d55ba2ac62bac479ee60291acacfc491c
2017-07-10 13:19:58 -07:00
Scott LaVarnway
cd01fc3944
wasm: Add VFilter8 and HFilter8
...
BUG=webp:352
Change-Id: Ic43eb5edd7e2508d2975c8f4f72cdba60c4b70f7
2017-07-10 11:54:39 -07:00
Scott LaVarnway
9a1a3aa827
wasm: Generic add,sub saturate
...
BUG=webp:352
Change-Id: I2640df736ea852ca5adcb5048550e26475c777ef
2017-07-10 11:46:53 -07:00
Scott LaVarnway
9eceff25c0
wasm: Add VFilter16i and HFilter16i
...
BUG=webp:352
Change-Id: If2cf5737d7aeab9e2d7205adfd334e3041a83c9f
2017-07-10 06:31:00 -07:00
Scott LaVarnway
fe6184d706
wasm: Add HFilter16
...
BUG=webp:352
Change-Id: I8f1124b36bb5769790b0e7b193acb775e8f463b1
2017-07-07 10:52:48 -07:00
James Zern
cb6c3a2a36
cosmetics,dec_wasm: constify function params
...
Change-Id: I10f2f612b553dc2c8282f4a7d4176f645aba97c9
2017-07-06 23:23:58 -07:00
James Zern
ec666c7526
cmake: split gif detection from IMG deps
...
gifdec isn't part of imageio lib, it's only used by gif2webp.
Change-Id: I70bff378a32f8fb2ebb8a5a7701049ffff7f7992
(cherry picked from commit dcbc1c881a
)
2017-07-07 04:11:49 +00:00
Scott LaVarnway
bafa90ccd8
wasm: Add VFilter16
...
BUG=webp:352
Change-Id: I97f38aee5de063957c1512f6bd429c0e84c02087
2017-07-06 11:21:53 -07:00
Scott LaVarnway
e6e3ec335c
wasm: Add Truemotion
...
BUG=webp:352
Change-Id: Ie65e155ac2d8253a5706ee85e830ec220a12ab4b
2017-07-05 15:56:01 -07:00
Scott LaVarnway
168a3a9e28
Merge "wasm: Add Transform" into portable-intrinsics
2017-07-05 19:50:31 +00:00
Scott LaVarnway
ad4ca27449
wasm: Add Transform
...
BUG=webp:352
Change-Id: Ib119b4121c6fd1a5165088dd132b4ab2aca627a5
2017-07-05 12:16:05 -07:00
Scott LaVarnway
3a5528713b
wasm: Add VR4, LD4, and VL4
...
BUG=webp:352
Change-Id: I28ec852da8aef65b7f3c372c08be5c6bf68256be
2017-07-03 05:36:24 -07:00
Scott LaVarnway
b4cefba731
wasm: Add VE4 and RD4
...
BUG=webp:352
Change-Id: I24286685d7c002ec55534a98bcb88ecd82562f79
2017-06-30 11:08:43 -07:00
Scott LaVarnway
440945ca57
wasm: Add DC8uv*, VE8uv, and HE8uv functions
...
BUG=webp:352
Change-Id: Ia0b2b0d5007c12fff201ac94673312420da42a53
2017-06-30 02:14:12 +00:00
Scott LaVarnway
a37a7b00d5
wasm: Add DC16*, VE16, and HE16 functions
...
BUG=webp:352
Change-Id: Ia003257d00c2c2ea16a6e6344671237e78c0eac6
2017-06-29 21:48:14 +00:00
James Zern
a604ab5600
cpu.cmake: skip simd disable flag check w/wasm
...
this workarounds an ICE with clang. WASM overrides the native simd so
apart from binary size building it isn't an issue.
BUG=webp:350
Change-Id: Ib0195049249e6cb86d3225ce5db7247ac22cdbd6
2017-06-28 19:34:24 -07:00
James Zern
b005d916f8
dsp/cpu: correct wasmCPUInfo placement
...
WASM needs to precede platform specific architecture checks as the
defines will still be present when building this target.
Change-Id: I823f4922829561ea298c6837068b79bf9f1aee1b
2017-06-26 16:05:51 -07:00
James Zern
586eda373d
Revert "dsp/cpu: correct wasmCPUInfo placement"
...
This reverts commit 4026e34e3f
.
fails to build; not all x86 paths were protected
Change-Id: I27bcc83e74440205bfd99c31c6da319c205ef145
2017-06-26 15:49:20 -07:00
James Zern
4026e34e3f
dsp/cpu: correct wasmCPUInfo placement
...
WASM needs to precede platform specific architecture checks as the
defines will still be present when building this target.
Change-Id: If25467ea286e582b928e26e716e41aff72898c50
2017-06-26 12:12:46 -07:00
James Zern
4b21971337
add dec_wasm.c
...
stub + basic cmake support for targeting native code generation using
portable intrinsics / wasm (WebAssembly). integrating this into the
webp_js path will be left until the implementation is more complete.
Change-Id: I3e751b511f6d671da5ba8afc88ca412f31f097b0
2017-06-22 23:21:31 -07:00
James Zern
3b62347b0f
README: correct cmake invocation note
...
the default invocation given generates makefiles, not a configure script
Change-Id: Ia65b120289b497c2f2981fec330456682d11162a
2017-06-21 16:36:09 -07:00
Vincent Rabaud
7ca0df1363
Have the SSE2 version of PackARGB use common code.
...
The common code actually got sped-up by 25% by using the code
from PackARGB.
Change-Id: I94be6ccff2bfe02fff13c8e2698669e6a0d8fc74
2017-06-20 17:41:14 +02:00
Pascal Massimino
7b250459d6
Merge "Re-use the transformed image when trying several LZ77 in lossless."
2017-06-20 11:53:01 +00:00
Vincent Rabaud
e132072f0b
Re-use the transformed image when trying several LZ77 in lossless.
...
Change-Id: If879b960131ba26859f8e4719a4c74cec1e0aaa8
2017-06-19 17:30:01 +02:00