summaryrefslogtreecommitdiff
path: root/Android.mk
Commit message (Collapse)AuthorAgeFilesLines
* */Android.mk: add a check for NDK_ROOTJames Zern2022-12-161-0/+3
| | | | | | | | 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
* sharpyuv: add SharpYuvGetVersion()James Zern2022-10-281-1/+1
| | | | Change-Id: Ic7e93c7c3ec33b8ab0105a6e81b76a7869422b55
* sharpyuv: add SharpYuvGetCPUInfoJames Zern2022-10-261-0/+1
| | | | | | | | | 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
* sharpyuv: increase precision of gamma<->linear conversionMaryla2022-06-011-0/+1
| | | | Change-Id: I261bae3628315bda4ec0dafb8798c7512dd03a36
* libsharpyuv: add colorspace utilitiesMaryla2022-04-081-0/+1
| | | | Change-Id: I620c8593dc81f39e747de5ed354332adb7278bed
* Make libwebp depend on libsharpyuv.Maryla2022-03-041-0/+7
| | | | Change-Id: I6d8ebfe1f855024fc0694b1aa584f71fa27b83ae
* SSE4.1 version of TransformColorInverseIlya Kurdyukov2021-02-181-0/+1
| | | | Change-Id: I6ba5cb35917eef7a52152c4924eca205b4af7220
* neon: SetResidualCoeffsJohann2018-11-141-0/+1
| | | | | | | | | | | | Much faster with aarch64. Still somewhat faster without vmaxv. C: 3.700s ArmV7: 3.675 aarch64: 3.600 BUG=b/118740850 Change-Id: I3be852da89633eca4bddce443c87f5e4a2f55868
* Remove AVX2 files.Vincent Rabaud2018-10-161-1/+0
| | | | | | | There is only enc_avx2.c and we never managed to get something fast enough. Change-Id: I7465b5d8ccf47d9aa612173b8f80f96060cdb366
* Android.mk: use LOCAL_EXPORT_C_INCLUDES w/public libsJames Zern2018-06-071-4/+4
| | | | | | dependents can then pickup the include path for webp/ automatically Change-Id: Ie768a93d0054f8ebc1720f16fbb550c0b10ef61d
* remove WEBP_EXPERIMENTAL_FEATURESJames Zern2018-02-091-1/+0
| | | | | | the webp bitstream is considered stable at this point Change-Id: I4b13f9ed4c45f63785474b097e96cb7bf651be7b
* Implement the upsampling/yuv functions in SSE41Vincent Rabaud2017-12-041-0/+2
| | | | Change-Id: If122da22b74a974262063d232f6ca0ab902ff64e
* Android.mk,mips: fix clang build with r15James Zern2017-08-311-1/+4
| | | | | | -integrated-as is now required, the opposite of r14 Change-Id: Ic478b2b3b933e66e7d159030eac29f58743eecda
* fix Android standalone toolchain buildJames Zern2017-08-011-0/+1
| | | | | | | | | | | 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
* Remove the argb* files.Vincent Rabaud2017-06-251-3/+0
| | | | | | | | 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
* Android.mk/build.gradle: fix mips build with clang from r14bJames Zern2017-06-031-0/+8
| | | | | | | | | fixes unknown instruction errors for e.g., usw $15, 0($8) BUG=webp:343 Change-Id: I71d00527fecd2370a40f6bd12f4e361fb525477f
* Split cost-based backward references in its own file.Vincent Rabaud2017-06-011-0/+1
| | | | Change-Id: I4d8281e69b0e41f7c90337e5be70a6c65b044086
* NEON implementation of some Sharp-YUV420 functionsPascal Massimino2017-04-181-0/+1
| | | | | Change-Id: I449ef9c76b06f971f6e2ad7f9db96bf906d8fe1f new-file: dsp/yuv_neon.c
* move the SSIM calculation code in ssim.c / ssim_sse2.cPascal Massimino2017-02-211-0/+2
| | | | Change-Id: I63a63fa7f44f257f2e17e45358b206c23069c448
* src/{dec,enc,utils}: give filenames a unique suffixJames Zern2017-01-191-44/+44
| | | | | | | | | | 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
* NEON: implement alpha-filters (horizontal/vertical/gradient)Pascal Massimino2017-01-171-0/+1
| | | | | | gradient-filter code is not much faster, but maybe improvable in the future. Change-Id: Ia16070e409fe8703b02276166f19526917df6b35
* NEON: implement several alpha-processing functionsPascal Massimino2017-01-111-0/+1
| | | | | | | | | | | | | - ApplyAlphaMultiply - DispatchAlpha - DispatchAlphaToGreen - ExtractAlpha Decoding to Argb / rgbA / ... is 10-15% faster (measured on N4) new file: alpha_processing_neon.c Change-Id: I40f1a809e9885d1031ff0bc886d8d001efa66bca
* Android.mk: use -fvisibility=hiddenJames Zern2016-11-181-0/+1
| | | | | | | brings the final libwebp.so size down 16/20K with arm64/armv7 builds using ndk-r13 Change-Id: I20d8aba61d6b692b0fc32f4b271e2f9872f03c28
* Move some lossless logic out of dsp.Vincent Rabaud2016-09-131-0/+1
| | | | Change-Id: I4cfd60cd5497666a2e1c188ceada2e71b05f1505
* Add MSA optimized YUV to RGB upsampling functionsParag Salasakar2016-07-221-0/+1
| | | | | | | | | | | | | We add the following MSA optimized YUV to RGB upsampling functions: - UpsampleRgbLinePair - UpsampleBgrLinePair - UpsampleRgbaLinePair - UpsampleBgraLinePair - UpsampleArgbLinePair - UpsampleRgba4444LinePair - UpsampleRgb565LinePair Change-Id: I7264a615edc7eb376e443e9d38bd8e3c9a2cab1f
* move examples/{example_util,image_dec} to imageio/James Zern2016-07-191-1/+3
| | | | Change-Id: I2508c786a095a2a75bebf766210c64e2af88f9b6
* Add MSA optimized rescaling functionsParag Salasakar2016-07-191-0/+1
| | | | | | | | We add the following MSA optimized rescaling functions: - RescalerExportRowExpand - RescalerExportRowShrink Change-Id: Ic1c76065423b02617db94cf0c22bb564219b36e6
* Add MSA optimized color transform functionsParag Salasakar2016-07-181-0/+1
| | | | | | | | We add the following MSA optimized color transform functions: - TransformColor - SubtractGreenFromBlueAndRed Change-Id: Ib182d2b5faa7191f503ce70f0dfde0ac89402fd3
* Add MSA optimized encoder transform functionsParag Salasakar2016-07-051-0/+1
| | | | | | | | | We add the following MSA optimized encoder transform functions: - ITransform - FTransform - FTransformWHT Change-Id: Ia6b17556aba5aff2d7a88208905fb45293d080a8
* Add MSA optimized alpha filter functionsParag Salasakar2016-07-011-1/+2
| | | | | | | | | We add the following MSA optimized alpha filter functions: - HorizontalFilter - VerticalFilter - GradientFilter Change-Id: I71e2e04050e569b8c0bf086fadf210ee16d50924
* Add MSA optimized colorspace conversion functionsParag Salasakar2016-06-271-0/+1
| | | | | | | | | We add the following MSA optimized colorspace conversion functions: - ConvertBGRAToRGBA - ConvertBGRAToBGR - ConvertBGRAToRGB Change-Id: I76db1c829d593a06d4975d54dbafa385c82b84fb
* Added MSA optimized transform functionsParag Salasakar2016-06-161-0/+1
| | | | | | | | | 1. TransformWHT 2. TransformTwo 3. TransformDC 4. TransformAC3 Change-Id: Ia3624cb4aed215bcaffce542b28794e643207039
* neon-implementation for rescaler codeskal2015-10-071-0/+1
| | | | | | | | | 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
* Add delta_palettization feature to WebPMislav Bradac2015-10-021-0/+1
| | | | Change-Id: Ibaf4e49aa67d63d0eb11848cca4fd0c60815864a
* rescaler: add some SSE2 codePascal Massimino2015-09-251-0/+1
| | | | | | | | | | | | | | 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
* Create a WebPAnimDecoder API.Urvang Joshi2015-09-021-0/+1
| | | | | | | | | | 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
* Android: limit use of cpufeaturesJames Zern2015-08-191-2/+7
| | | | | | cpufeatures is only used with armeabi-v7a.* Change-Id: I80284061d71d9defa50d139c7f1bda67c00f567e
* SSE4.1 implementation of some lossless encoding functionsPascal Massimino2015-06-231-0/+1
| | | | | | | | New implementations: SubtractGreenFromBlueAndRed and TransformColor around 1-2% faster lossless encoding. Change-Id: I1668e36fdc316ba55b3b798b91b4a3e36ce62861
* SSE4.1 implementation of some alpha-processing functionsPascal Massimino2015-06-191-0/+1
| | | | | | | DispatchAlpha* functions are hard to speed up, compared to SSE2. ExtractAlpha sees a ~15% speed-up though. Change-Id: I8715c2defecbc832f469eed7e6ffd012146b52de
* encoding SSE4.1 stub for StoreHistogram + Quantize + SSE_16xNPascal Massimino2015-03-251-0/+1
| | | | | | | | | 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
* dsp/lossless: split enc/dec functionsJames Zern2015-03-231-1/+5
| | | | | | | adds lossless_enc*.c; reduces the size of the decode-only so: ~78K w/gcc-4.8.2 on x86_64. Change-Id: If5e4610b67d05eba5896bc64bab79e9df92b2092
* stub for SSE4.1 support.Pascal Massimino2015-03-201-0/+1
| | | | Change-Id: I0c845a98d2871cc8907ff7b914bab7747a92c7ed
* Android.mk: add webpmux targetJames Zern2015-02-241-0/+29
| | | | Change-Id: I60fc898fd804e23f08d760694192c5d04adcae91
* Android.mk: add webpdemux targetJames Zern2015-02-241-0/+26
| | | | Change-Id: I2fbbefbee59a96c52f5addcfc5bfe1216caad5cc
* Android.mk: add webpdecoder{,_static} targetsJames Zern2015-02-241-4/+35
| | | | | | | webpdecoder_static is reused to create libwebpdecoder.so and libwebp.{a,so} Change-Id: I940293cb755040c0ea45dc13f22624de8f355867
* Android.mk: split source lists per-directoryJames Zern2015-02-241-16/+37
| | | | | | will allow reuse in future targets Change-Id: Iededc19d954226e62f2d2383a2b80f268d613647
* 4-5% faster encoding using SSE2 for GetResidualCostPascal Massimino2015-02-181-0/+1
| | | | | | new file: cost_sse2.c Change-Id: I4896c07f5ff2443ef743f4435fe2758d95a672ed
* MIPS: dspr2: added optimization for function GetResidualCostPascal Massimino2015-02-071-0/+3
| | | | | | | set/get residual C functions moved to new file in src/dsp mips32 version of GetResidualCost moved to new file Change-Id: I7cebb7933a89820ff28c187249a9181f281081d2
* add SSE2 variants for alpha filtering functionsPascal Massimino2015-01-291-0/+1
| | | | | | | | | | 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
* Alpha coding: reorganize the filter/unfiltering codePascal Massimino2015-01-281-0/+1
| | | | | | | Move the filtering code to their own dsp/ spot New function: VP8FiltersInit() Change-Id: I0b2041eab42346c59b972f2575b05509e6a8f7b1