Comments (6)
Thanks for bringing this up. Could you point to the file where something fails?!
from libjxl.
Thanks for bringing this up. Could you point to the file where something fails?!
libjxl/tools/wasm_demo/no_png.cc
Lines 168 to 215 in b1dc4ff
I think it's somewhere here. I checked the output png file with pngcheck and the output is something like this:
File: image.png (4917485 bytes)
chunk IHDR at offset 0x0000c, length 13
1280 x 1280 image, 24-bit RGB, non-interlaced
chunk iCCP at offset 0x00025, length 550
profile name = 1, compression method = 0 (deflate)
compressed profile = 547 bytes
chunk IDAT at offset 0x00257, length 4916866
zlib: deflated, 256-byte window, superfast compression
CRC error in chunk IDAT (computed 33609e4c, expected 00000000)
ERRORS DETECTED in image.png
from libjxl.
It's definitely because of the Fake CRC32 at the end of IDAT. Fixed it. But would it cost much performance-wise?
from libjxl.
@eustas probably can give you an answer
Can this be closed?
from libjxl.
IIRC we had that checksum calculation in the past, but removed it for the sake of performance.
I can re-add it as a build option. That way "careless" browsers will be able to get max performance, while others will not fail.
Ping me regularly to make that happen, please.
from libjxl.
It would be more useful to make this a runtime thing, and have some detection code to test whether correct CRCs are needed or not, computing them only when needed. There's no point in a wasm polyfill that doesn't work on some browsers...
from libjxl.
Related Issues (20)
- Failed to build libjxl without `-DJPEGXL_STATIC` on MSVC
- Add flag for controlling ICC HOT 5
- Muxing multiple JPEG into a JXL animation HOT 1
- MSYS2/MinGW, GCC 13.1: undefined references in libjpegli-static.a HOT 3
- Using "already_downsampled" Breaks Patches
- Upsampling mode should apply during normal resampling
- JPEG-XL support in Fiji/ImageJ HOT 2
- Build failure in win32 due to highway regression HOT 2
- ARM build broken (bool / boolean casts) HOT 3
- package v0.8.2 HOT 3
- Inconsistent handling of sBIT values
- cjxl hangs on certain images with --brotli_effort set to 0 or 1 HOT 1
- ApplyLZ77_Optimal: Greatly inflated processing time in combination with -P 0 compared to other predictors
- Fails to compress some 32bits float images with lossless enabled HOT 2
- Optimize an existing jxl image HOT 2
- Meta Adaptive ANS HOT 1
- cjxl[v0.8.2] quality option not work HOT 4
- Is there a way to sponsor this library? HOT 3
- missing fclose HOT 1
- Add the Scorecard Action workflow
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libjxl.