-
-
Notifications
You must be signed in to change notification settings - Fork 855
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add WebP Format Support #1552
Add WebP Format Support #1552
Conversation
Also looked at some TODOs in Vp8LEncoder
Added Clone and Resize to Vp8LBitWriter
Start threading the configs through the encoding and comparing results
Work out the crunch configs for lossless webp
- Distance was not copied in histogram DeepClone - Do not remove entries from the histogram: instead set them to null like the original code - Fix invalid upper bound in for loop of HistogramRemap
- Fix wrong palette code bits init in CalculateBestCacheSize - Fix wrong slice start index in PrepareMapToPalette - PixOrCopy: Change len from short to ushort
Hi. It is me again I am running this code on my (intel x86 mac) for my own projects. I do CENSORED/ImageSharp/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs(78,35): error SA1000: The keyword 'new' should be followed by a space. [/Users/andreas.hysing/Mirror/code/ImageSharp/src/ImageSharp/ImageSharp.csproj]
...
0 Warning(s)
6 Error(s) All the 6 messages are the same error on the same line 78 in file WebpDecoderCore.cs . My current version the latests commit on branch commit 569ad469d14b62d6960940d9894b159b4c84a893 (HEAD -> webp, origin/webp)
Merge: bc4e2f723 08f2d45a9
Author: TAKEN OUT
Date: Fri Oct 22 18:28:22 2021 +0200
Merge branch 'master' into webp More context
|
Are your submodules set up correctly? Our CI runs on a fresh install in release mode on multiple OS without issue |
No. my submodules were not correctly set up.
Now the same build passes through with 16 warnings 0 errors. Thanks! |
Ace. I’ve no idea why it requires additional instruction on some machines and not others. Seems to depend on the version of git installed and the mechanism it has been installed by. |
I made a final tweak to the metadata/encoder process to ensure the same property was used for determine whether lossy or lossless encoding was to be used (and tweaked the name slightly to closer match the container spec.) So.... Drumroll.... 🥁🥁🥁 I see no reason why we cannot merge this into master to continue to allow public testing and continue work on performance before we release V2. Incredible work @brianpopow !! WebP is a monster of complexity but you did what you do so well and provided us with a first class port. I most definitely could not have done this. |
Cheers on completing this @brianpopow. I've been watching this issue for a long time and the amount of work done here is beyond my understanding. This is a perfect addition to ImageSharp and I'm eager to start toying with the new features. |
It really was a monster of a PR and a lot of work. I am very happy, that its merged now! |
Prerequisites
Description
Note: This Replaces #1271 which cannot be reopened following a force push.
This is a port of libweb for decoding and encoding webp images with ImageSharp.
It is based on libwebp
The specification for the lossless webp format can be found here lossless
The specification for the lossy format can be found here lossy