Mirror only. Please do not send pull requests. See https://chromium.googlesource.com/webm/libwebp/+/HEAD/CONTRIBUTING.md.
Go to file
James Zern 7bda3deb89 rework AddVector_SSE2
Take advantage of the known sizes used by VP8LHistogramAdd() and remove
loop for the remainder. The loop was being auto-vectorized making the
code larger and slower than the vectorized C code.

For larger sizes the new code is ~4-7% faster than the old code with
about the same improvement against the vectorized C code. For the
minimal size (40), the new code is ~30% faster than the C and old SSE2
code.

The LINE_SIZE==8 option is removed with this change. It had been set to
16 for its entire life and clang-16 was unrolling the LINE_SIZE==8 case
by 2 in any case; they both profile similarly.

Change-Id: I2376e2dca3bffa38477b4a432f4c533419e3be0e
2024-11-14 12:21:33 -08:00
cmake Check for the presence of the ANDROID_ABI variable 2024-03-06 14:50:30 +01:00
doc gif2webp: add -sharp_yuv/-near_lossless 2024-11-04 12:29:24 -08:00
examples gif2webp: add -sharp_yuv/-near_lossless 2024-11-04 12:29:24 -08:00
extras normalize example exit status 2024-05-01 10:38:44 -07:00
gradle/wrapper update gradle to 6.1.1 2021-01-02 15:51:55 -08:00
imageio Fix hidden myerr in my_error_exit 2024-07-11 15:59:57 +02:00
infra run_static_analysis.sh: fix scan-build archive path 2022-06-13 16:17:42 -07:00
m4 autoconf: update ax_pthread.m4 2013-12-29 11:56:21 -05:00
man gif2webp: add -sharp_yuv/-near_lossless 2024-11-04 12:29:24 -08:00
sharpyuv Fix variable names in SharpYuvComputeConversionMatrix 2024-11-07 09:37:40 +01:00
src rework AddVector_SSE2 2024-11-14 12:21:33 -08:00
swig Markdownify libwebp docs and reorganize them. 2022-02-15 15:31:56 +00:00
tests Fix fuzztest link errors w/-DBUILD_SHARED_LIBS=1 2024-08-28 11:39:11 +02:00
webp_js webp_js/*.html: fix canvas mapping 2024-03-29 12:53:05 -07:00
.cmake-format.py add .cmake-format.py 2023-05-30 13:54:06 -07:00
.gitattributes update gradle to 6.1.1 2021-01-02 15:51:55 -08:00
.gitignore Add huffman_fuzzer to .gitignore 2024-06-01 10:21:54 -05:00
.mailmap update .mailmap 2023-06-01 17:13:21 -07:00
.pylintrc presubmit: Add pylint-2.7 and .pylintrc 2021-10-12 01:01:14 +00:00
.style.yapf Update yapf style from "chromium" to "yapf" 2023-02-23 18:10:53 -05:00
Android.mk mv SharpYuvEstimate420Risk to extras/ 2024-01-12 15:25:27 -08:00
AUTHORS update AUTHORS 2024-04-01 15:37:40 -07:00
autogen.sh build: just use autoreconf, avoid calling tools manually 2011-03-26 09:50:31 -07:00
build.gradle mv SharpYuvEstimate420Risk to extras/ 2024-01-12 15:25:27 -08:00
ChangeLog update ChangeLog 2024-04-12 13:48:48 -07:00
CMakeLists.txt gif2webp: add -sharp_yuv/-near_lossless 2024-11-04 12:29:24 -08:00
codereview.settings add codereview.settings 2018-11-07 19:12:35 -08:00
configure.ac update link to issue tracker 2024-07-18 16:49:45 -07:00
CONTRIBUTING.md CONTRIBUTING.md: add C style / cmake-format notes 2023-05-30 13:54:12 -07:00
COPYING Initial commit 2010-09-30 09:55:07 -04:00
gradle.properties Add gradle support 2016-05-24 15:35:20 +02:00
gradlew update gradle to 6.1.1 2021-01-02 15:51:55 -08:00
gradlew.bat update gradle to 6.1.1 2021-01-02 15:51:55 -08:00
iosbuild.sh iosbuild,xcframeworkbuild: add SharpYuv framework 2023-10-06 18:41:03 -07:00
Makefile.am Make libwebp depend on libsharpyuv. 2022-03-04 11:35:03 +01:00
makefile.unix mv SharpYuvEstimate420Risk to extras/ 2024-01-12 15:25:27 -08:00
Makefile.vc Makefile.vc: fix gif2webp link error 2024-11-06 10:14:05 -08:00
NEWS update NEWS 2024-04-12 12:34:22 -07:00
PATENTS fix typo: constitutes -> constitute 2015-04-18 08:46:53 -07:00
PRESUBMIT.py patch-check: detect duplicated files 2021-12-17 00:25:43 +00:00
README.md README.md: add security report note 2024-08-26 18:34:04 -07:00
xcframeworkbuild.sh iosbuild,xcframeworkbuild: add SharpYuv framework 2023-10-06 18:41:03 -07:00

WebP Codec

      __   __  ____  ____  ____
     /  \\/  \/  _ \/  _ )/  _ \
     \       /   __/  _  \   __/
      \__\__/\____/\_____/__/ ____  ___
            / _/ /    \    \ /  _ \/ _/
           /  \_/   / /   \ \   __/  \__
           \____/____/\_____/_____/____/v1.4.0

WebP codec is a library to encode and decode images in WebP format. This package contains the library that can be used in other programs to add WebP support, as well as the command line tools 'cwebp' and 'dwebp' to compress and decompress images respectively.

See https://developers.google.com/speed/webp for details on the image format.

The latest source tree is available at https://chromium.googlesource.com/webm/libwebp

It is released under the same license as the WebM project. See https://www.webmproject.org/license/software/ or the "COPYING" file for details. An additional intellectual property rights grant can be found in the file PATENTS.

Building

See the building documentation.

Encoding and Decoding Tools

The examples/ directory contains tools to encode and decode images and animations, view information about WebP images, and more. See the tools documentation.

APIs

See the APIs documentation, and API usage examples in the examples/ directory.

Bugs

Please report all bugs to the issue tracker. For security reports, select 'Security report' from the Template dropdown.

Patches welcome! See how to contribute.

Discuss

Email: webp-discuss@webmproject.org

Web: https://groups.google.com/a/webmproject.org/group/webp-discuss