| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
This simplifies integration with the Android platform and avoids the
files from being used when a non-NDK build is performed. In that case
Android.bp is preferred.
Change-Id: I6e334cf8b05a19da8452405f5f448f9e4b6e4a40
|
|
|
|
| |
Change-Id: Ic7e93c7c3ec33b8ab0105a6e81b76a7869422b55
|
|
|
|
|
|
|
|
|
| |
This gives a similar structure to libwebp and fixes a bug where passing
NULL to SharpYuvInit() would unconditionally set optimized function
pointers. SharpYuvInit() is left as an undocumented public function and
SharpYuvGetCPUInfo is kept private to serialize updates to the pointer.
Change-Id: Id72fbf3ba5b396367510e3bcd1ee2e4e11b95b8c
|
|
|
|
| |
Change-Id: I261bae3628315bda4ec0dafb8798c7512dd03a36
|
|
|
|
| |
Change-Id: I620c8593dc81f39e747de5ed354332adb7278bed
|
|
|
|
| |
Change-Id: I6d8ebfe1f855024fc0694b1aa584f71fa27b83ae
|
|
|
|
| |
Change-Id: I6ba5cb35917eef7a52152c4924eca205b4af7220
|
|
|
|
|
|
|
|
|
|
|
|
| |
Much faster with aarch64. Still somewhat faster without vmaxv.
C: 3.700s
ArmV7: 3.675
aarch64: 3.600
BUG=b/118740850
Change-Id: I3be852da89633eca4bddce443c87f5e4a2f55868
|
|
|
|
|
|
|
| |
There is only enc_avx2.c and we never managed to get
something fast enough.
Change-Id: I7465b5d8ccf47d9aa612173b8f80f96060cdb366
|
|
|
|
|
|
| |
dependents can then pickup the include path for webp/ automatically
Change-Id: Ie768a93d0054f8ebc1720f16fbb550c0b10ef61d
|
|
|
|
|
|
| |
the webp bitstream is considered stable at this point
Change-Id: I4b13f9ed4c45f63785474b097e96cb7bf651be7b
|
|
|
|
| |
Change-Id: If122da22b74a974262063d232f6ca0ab902ff64e
|
|
|
|
|
|
| |
-integrated-as is now required, the opposite of r14
Change-Id: Ic478b2b3b933e66e7d159030eac29f58743eecda
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
Half of the functionality was duplicated.
The rest is about the alpha channel handling so we
might as well put it in the appropriate file.
Change-Id: I8d5ef0afce82cc4842ab7132fd97995c42e6140a
|
|
|
|
|
|
|
|
|
| |
fixes unknown instruction errors for e.g.,
usw $15, 0($8)
BUG=webp:343
Change-Id: I71d00527fecd2370a40f6bd12f4e361fb525477f
|
|
|
|
| |
Change-Id: I4d8281e69b0e41f7c90337e5be70a6c65b044086
|
|
|
|
|
| |
Change-Id: I449ef9c76b06f971f6e2ad7f9db96bf906d8fe1f
new-file: dsp/yuv_neon.c
|
|
|
|
| |
Change-Id: I63a63fa7f44f257f2e17e45358b206c23069c448
|
|
|
|
|
|
|
|
|
|
| |
this avoids duplicates between these trees and dsp/, e.g., enc/tree.c,
dec/tree.c, making pulling the whole library source tree into one target
possible
BUG=webp:279
Change-Id: I060a614833c7c24ddd37bf641702ae6a5eef1775
|
|
|
|
|
|
| |
gradient-filter code is not much faster, but maybe improvable in the future.
Change-Id: Ia16070e409fe8703b02276166f19526917df6b35
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- ApplyAlphaMultiply
- DispatchAlpha
- DispatchAlphaToGreen
- ExtractAlpha
Decoding to Argb / rgbA / ... is 10-15% faster (measured on N4)
new file: alpha_processing_neon.c
Change-Id: I40f1a809e9885d1031ff0bc886d8d001efa66bca
|
|
|
|
|
|
|
| |
brings the final libwebp.so size down 16/20K with arm64/armv7 builds
using ndk-r13
Change-Id: I20d8aba61d6b692b0fc32f4b271e2f9872f03c28
|
|
|
|
| |
Change-Id: I4cfd60cd5497666a2e1c188ceada2e71b05f1505
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We add the following MSA optimized YUV to RGB upsampling functions:
- UpsampleRgbLinePair
- UpsampleBgrLinePair
- UpsampleRgbaLinePair
- UpsampleBgraLinePair
- UpsampleArgbLinePair
- UpsampleRgba4444LinePair
- UpsampleRgb565LinePair
Change-Id: I7264a615edc7eb376e443e9d38bd8e3c9a2cab1f
|
|
|
|
| |
Change-Id: I2508c786a095a2a75bebf766210c64e2af88f9b6
|
|
|
|
|
|
|
|
| |
We add the following MSA optimized rescaling functions:
- RescalerExportRowExpand
- RescalerExportRowShrink
Change-Id: Ic1c76065423b02617db94cf0c22bb564219b36e6
|
|
|
|
|
|
|
|
| |
We add the following MSA optimized color transform functions:
- TransformColor
- SubtractGreenFromBlueAndRed
Change-Id: Ib182d2b5faa7191f503ce70f0dfde0ac89402fd3
|
|
|
|
|
|
|
|
|
| |
We add the following MSA optimized encoder transform functions:
- ITransform
- FTransform
- FTransformWHT
Change-Id: Ia6b17556aba5aff2d7a88208905fb45293d080a8
|
|
|
|
|
|
|
|
|
| |
We add the following MSA optimized alpha filter functions:
- HorizontalFilter
- VerticalFilter
- GradientFilter
Change-Id: I71e2e04050e569b8c0bf086fadf210ee16d50924
|
|
|
|
|
|
|
|
|
| |
We add the following MSA optimized colorspace conversion functions:
- ConvertBGRAToRGBA
- ConvertBGRAToBGR
- ConvertBGRAToRGB
Change-Id: I76db1c829d593a06d4975d54dbafa385c82b84fb
|
|
|
|
|
|
|
|
|
| |
1. TransformWHT
2. TransformTwo
3. TransformDC
4. TransformAC3
Change-Id: Ia3624cb4aed215bcaffce542b28794e643207039
|
|
|
|
|
|
|
|
|
| |
It's better to stay with a 32b fixed-point precision overall, otherwise
the C-version on ARM gets *slower*.
Actually, gcc ARM compiler optimizes some instructions pretty
well when WEBP_RESCALER_FIX is exactly 32, even in C.
Change-Id: I0eea97f7db5947470f5af355dee098eca81e178d
|
|
|
|
| |
Change-Id: Ibaf4e49aa67d63d0eb11848cca4fd0c60815864a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The rounding and arithmetic is not the same as previously, to prevent overflow cases for large upscale factors.
We still rely on 32b x 32b -> 64b multiplies. Raised the fixed-point precision to 32b
so that we have some nice shifts from epi64 to epi32.
Changed rescaler_t type to 'uint32_t' in order to squeeze in all the precision required.
The MIPS code has been disabled because it's now out-of-sync. Will be fixed in
a subsequent CL when the dust settles.
~30-35% faster
Change-Id: I32e4ddc00933f1b1aa3463403086199fd5dad07b
|
|
|
|
|
|
|
|
|
|
| |
This is designed for the simple use-case where one wants to decode all
frames one-by-one in order.
Also, use this API in anim_util library, which is in turn used by
anim_diff tool.
Change-Id: Ie8b653c04e867d40fd23321b3dd41b87689656c7
|
|
|
|
|
|
| |
cpufeatures is only used with armeabi-v7a.*
Change-Id: I80284061d71d9defa50d139c7f1bda67c00f567e
|
|
|
|
|
|
|
|
| |
New implementations: SubtractGreenFromBlueAndRed and TransformColor
around 1-2% faster lossless encoding.
Change-Id: I1668e36fdc316ba55b3b798b91b4a3e36ce62861
|
|
|
|
|
|
|
| |
DispatchAlpha* functions are hard to speed up, compared to SSE2.
ExtractAlpha sees a ~15% speed-up though.
Change-Id: I8715c2defecbc832f469eed7e6ffd012146b52de
|
|
|
|
|
|
|
|
|
| |
Visible speed-up, thanks to pshufb and pabsw and psignw use.
had to tweak configure.ac to make "smmintri.h" presence correctly
detected (we need to set the CPPFLAGS instead of the CFLAGS!)
Change-Id: I2ab99e16a27a64fdf1f09b2b4e30a5e74ccca080
|
|
|
|
|
|
|
| |
adds lossless_enc*.c; reduces the size of the decode-only so: ~78K
w/gcc-4.8.2 on x86_64.
Change-Id: If5e4610b67d05eba5896bc64bab79e9df92b2092
|
|
|
|
| |
Change-Id: I0c845a98d2871cc8907ff7b914bab7747a92c7ed
|
|
|
|
| |
Change-Id: I60fc898fd804e23f08d760694192c5d04adcae91
|
|
|
|
| |
Change-Id: I2fbbefbee59a96c52f5addcfc5bfe1216caad5cc
|
|
|
|
|
|
|
| |
webpdecoder_static is reused to create libwebpdecoder.so and
libwebp.{a,so}
Change-Id: I940293cb755040c0ea45dc13f22624de8f355867
|
|
|
|
|
|
| |
will allow reuse in future targets
Change-Id: Iededc19d954226e62f2d2383a2b80f268d613647
|
|
|
|
|
|
| |
new file: cost_sse2.c
Change-Id: I4896c07f5ff2443ef743f4435fe2758d95a672ed
|
|
|
|
|
|
|
| |
set/get residual C functions moved to new file in src/dsp
mips32 version of GetResidualCost moved to new file
Change-Id: I7cebb7933a89820ff28c187249a9181f281081d2
|
|
|
|
|
|
|
|
|
|
| |
The 'inverse' variants are harder to parallelize, since
the result of filtering is used for prediction.
The 'direct' way is relatively easier.
The heavy bottleneck left for optimization is still GradientUnfilter()
Change-Id: I358008f492a887e8fff6600cb27857b18dee86e9
|
|
|
|
|
|
|
| |
Move the filtering code to their own dsp/ spot
New function: VP8FiltersInit()
Change-Id: I0b2041eab42346c59b972f2575b05509e6a8f7b1
|