Repository navigation
Complete practical JPEG XL coverage and qualify encoder targets - #37
Merged
Merged
Conversation
Precompute fixed effort-1 AC scales and use an aligned RGB8 XYB path to reduce warm encode time without changing output. Keep the M7 capability guidance and generated documentation aligned with the current qualification state.
Preserve the approved capped and original-size source splits, artifact hashes, independent decoder receipts, and paired cold/warm timings. Record the targets that still fail so lossy remains Experimental.
Tune color DC precision and enable adaptive LF smoothing for sRGB RGBA8. Keep alpha exact, add browser parity coverage, and record measured package size and optimization evidence.
Preserve development and observed-holdout curves, independent decode and resource receipts, hashes, and target-by-target status. Keep lossy Experimental while missing quality brackets and visual gates remain.
Record pinned libjxl patch controls, independent quality scores, and rejected restoration and transform probes. Keep lossy Experimental and identify the VarDCT patch integration needed for screenshots.
Record all 173 missing SSIMULACRA2-70 curves with 187 independently decoded supplementary endpoints and a bounded zero-swap receipt. Keep wide intervals and the pinned native high-band ceiling visible; do not change codec behavior or promotion status.
Profile representative transparent icons, independently score black and white composites, and retain the complete development matched-quality comparison. Sparse EPF raises equal-distance quality but worsens matched-size ratios, so the codec remains unchanged.
Record bounded adaptive-quantization probes, independently decoded streams, and pinned-libjxl strategy coverage on gradient and photo derivatives. Scope the DCT16x16 follow-up while keeping the existing qualification and Experimental status unchanged.
Keep the DCT16 and DCT64 development and original-size measurements, including independent decoder checks and the original-size matched-quality regressions. Revert the prototype encoder changes and retain lossy Experimental status.
Refine effort-7 AC quantization where the original-size visual probes showed coarse edges and texture. Keep exact alpha, native HDR precision, and the existing lossless and fast paths. Add browser and codec regression coverage plus reviewable visual crops.
Record the complete 2 MP matrices with public screenshot overlays, fixed original-size checks, HDR and transparent grids, independent decoding, bounded resource gates and remaining visual limits. Keep lossy Experimental.
Retain measured effort-7 edge precision and compact transparent artwork without changing lossless or progressive guarantees. Record the full capped, original-size, HDR and alpha evidence and keep lossy Experimental where visible defects and brackets remain.
Attach the 39-case conformance result, 24 resource checks, zero-swap receipts and source-to-artifact hash index for implementation 55c1d74. Keep four residual visual differences and missing quality brackets explicit.
Add a bounded effort-7 alternate transform policy and choose by actual stream size. Preserve conservative photo and sunset outputs, verify map and screenshot gains with independent decoders, and record the remaining qualification limits.
Link the 39-case conformance run and 24 fuzz/resource probes to the retained lossy selector implementation. Keep lossy Experimental pending affected matrix and remaining visual review.
Refine local quantization from reconstructed contrast error, smooth distance transitions, and preserve exact alpha and lossless behavior. Record complete original, capped, HDR, alpha, browser and independent-decoder evidence for the four visual corrections. Final clean-revision conformance and resource receipts follow in the evidence handoff.
Close the four registered visual defects and record the explicit Stable static integer scope. Link 3,213 passing tests, 21 browser checks, clean-revision conformance and resource gates, retained quality comparisons, and verified source/artifact hashes. Keep lossy animation Experimental and missing comparisons unscored.
Validate the scoped promotion against the recorded qualification report and evidence index, preserving legacy M1/M2 gates and Experimental lossy animation. Keep historical measurements intact and share the guard with generated status validation. Add positive CLI and negative qualification regressions.
Add pinned public API adapters, bounded browser and Node measurements, independent correctness checks, and matched-quality diagnostics for PureJsImage, jSquash, jxl-oxide-wasm, and wasm-vips. Preserve unsupported cases, alpha tradeoffs, and unresolved brackets in the generated website dataset. Keep codec behavior and release status unchanged.
| | null | ||
| postMessage(value: unknown): void | ||
| } | ||
| self.onmessage = async (event: MessageEvent<{ job: Job; input: Uint8Array; pixels: Pixels }>) => { |
| | null | ||
| postMessage(value: unknown): void | ||
| } | ||
| self.onmessage = async (event) => { |
| } | ||
| } catch (error) { | ||
| res.statusCode = 500 | ||
| res.end(String(error)) |
| } | ||
| } catch (error) { | ||
| res.statusCode = 500 | ||
| res.end(String(error)) |
| res.end(bytes) | ||
| } catch (error) { | ||
| res.statusCode = 500 | ||
| res.end(String(error)) |
Reuse the existing worker dispatcher for progressive sessions, native sample inspection and verified re-encoding, and bounded animation workflows. Add reusable cancellation and response guards, preserve native depth in static conversion, and keep codec implementations unchanged.
Build seven useful destinations around the shared first-party worker: conversion, exact JPEG recovery, animation, progressive access, native samples and frozen comparison evidence. Preserve local-file privacy, bounded work and scoped maturity labels. Validate 63 Chromium/Firefox/WebKit workflows, 27 focused checks and the full repository gate (3238 tests). Include real captures, pinned crop provenance and a JPEG XL-only asset envelope. No codec changes, new benchmarks or release.
Add early codec scope and optional WASM tables, dated timing examples, and clearer API guidance. Preserve the whole-slide showcase and apply the reviewed screenshot removals. Update JPEG XL browser tests for the separate tool routes, use a committed privacy fixture, and give the existing paired encode quality test a scoped CI timeout without changing its assertions.
Flickr returned HTTP 403 to all three browser jobs. Use the Wikimedia original, verified by a fresh download to match the existing SHA-256 exactly; keep the fixture pixels, metadata, and historical results unchanged.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Completes practical JPEG XL coverage and qualifies the documented static integer lossy subset as Stable. Lossy animation remains Experimental. Lossless samples, including RGB under zero alpha, exact default lossy alpha, and exact JPEG reconstruction keep their existing guarantees. No version change, publication, native/WASM runtime replacement, or new runtime dependency.
The final first-party effort-7 change refines local quantization using reconstructed contrast error before transform selection. A bounded taper avoids demonstrated quality steps around distances 2 and 4. The finite sunset, screenshot, map and PQ overpass defects are closed against their registered corrections, with complete-original measurements and lossless source/before/after crops. The earlier transparent-icon correction remains visible-color and alpha exact.
Qualification
Checks and evidence
npm run check: 3,213 passed, three existing skips, including browser portability, types, lint, formatting, generated surfaces and package budgets.Final qualification and target-by-target decisions · Evidence index and hashes
Implementation revision:
89395abd17027257d2b2d073abcd12a77c1622c2. Evidence commit772a9c4716f282aecf0e1470c9211c4d3c84ebadrecords final clean-revision gates. Public distance remains 0.25–25; AC magnitudes above 4095 produce an explicit unsupported-operation error. Unsupported color/layout/transform modes remain documented.Preserved earlier work
The earlier visual/HDR/alpha report, rejected selector investigations, and retained public selector remain historical evidence. The final qualification above supersedes their pending static-lossy decisions. Lossy animation and release authorization remain separate.
Smoke status guard follow-up
Commit
564a4d2d3e1c318f64821322c67329550df6da6bfixes the baseline label rejection. Both baseline and generated-status validation recognize the scoped static-lossy decision and verify its recorded report/index hashes and implementation revision. Existing M1/M2 promotion gates remain enforced; lossy animation remains Experimental. Historical measurements, encoder behavior and CI configuration are unchanged.jpegxl:program:baseline, 93 focused checks, andnpm run check(3,225 tests passed, three existing skips) pass. The unchanged bounded smoke sequence passes locally, and the existing GitHub JPEG XL smoke workflow passed in 1m47s.