cornerstonejs
codecs
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
build+fix(libjpeg-turbo-12bit): upgrade to libjpeg-turbo 3.x (multi-precision API) 3.x forbids add_subdirectory() and removed WITH_12BIT (one build is now multi-precision). Build libjpeg-turbo standalone and link libjpeg.a as an IMPORTED target (two-phase build.sh), and rewrite the decoder for 3.x: - decode grayscale 12-bit via jpeg12_read_scanlines + J12SAMPARRAY (the 3.x per-precision API) instead of jpeg_read_scanlines (the old WITH_12BIT model) - guard on num_components==1 and data_precision==12; overflow-checked sizing - correct single-component int16 output (no JCS_EXT_RGBA overflow) 3.x headers moved under src/. No dependency on #73 (left untouched); the decode-correctness fix here mirrors #73's grayscale logic but on the 3.x API.
chore/libjpeg-turbo-submodule-3.2.0
15 days ago
build(libjpeg-turbo-8bit): build libjpeg-turbo 3.x as a separate project libjpeg-turbo 3.x forbids add_subdirectory() integration, so build it standalone (its own emscripten cmake) and link the produced libturbojpeg.a as an IMPORTED target. Handles 3.x layout changes: headers moved under src/, disable the new SPNG/ZLIB dep (WITH_SPNG=0). No glue changes — the legacy TurboJPEG API our wrapper uses (tjInitDecompress/tjDecompress2/...) is still present in 3.2.0. First blind cut; iterating on CI. 12-bit rework to follow.
chore/libjpeg-turbo-submodule-3.2.0
15 days ago
chore(openjpeg): update extern/openjpeg submodule to upstream v2.5.4 Advances from 2d606701 (~2.5.0-era, Oct 2022) to upstream v2.5.4 (2025-09-20). No custom fork patches (clean version advance). Fork PR: cornerstonejs/openjpeg. CI is the first build/validation of v2.5.4 against our glue.
chore/openjpeg-submodule-2.5.4
15 days ago
chore(charls): update extern/charls submodule to upstream CharLS 2.4.4 Advances from 38d95d0 (~2.4.1-era, Jan 2023) to upstream 2.4.4 (2026-06-08). No custom fork patches (clean version advance). Fork PR: cornerstonejs/charls#1. CI is the first build/validation of 2.4.4 against our glue.
chore/charls-submodule-2.4.4
15 days ago
fix(openjphjs): build the wasm in Release, not Debug build.sh forced CMAKE_BUILD_TYPE=Debug, so the shipped openjph wasm was built -O0 with unoptimized SIMD intrinsics — the reason decode/encode benched far slower (SIMD-on was even slower than scalar under -O0) and the binary was oversized. Release (-O3) is the correct artifact and is what makes the 0.30.1 SIMD kernels fast and the wasm small.
chore/openjph-submodule-0.30.1
15 days ago
fix(openjphjs): keep WASM SIMD enabled for OpenJPH 0.30.1 0.30.1 deprecated OJPH_DISABLE_INTEL_SIMD and bridges it onto the new OJPH_DISABLE_SIMD; our old 'OJPH_DISABLE_INTEL_SIMD=ON' therefore disabled ALL SIMD (OJPH_ENABLE_WASM_SIMD=OFF), shipping a scalar wasm ~2x slower on decode/ encode. Stop setting the deprecated option and force OJPH_DISABLE_SIMD=OFF so 0.30.1's Emscripten path builds the WASM SIMD kernels (-msimd128).
chore/openjph-submodule-0.30.1
16 days ago
fix(openjphjs): link the OpenJPH 0.30.1 'openjph' target (was renamed from openjphsimd) 0.30.1 builds a single architecture-agnostic 'openjph' library; the old 'openjphsimd' target no longer exists, so wasm-ld failed with 'unable to find library -lopenjphsimd'. Link 'openjph', matching upstream's own wasm wrapper (subprojects/js).
chore/openjph-submodule-0.30.1
16 days ago
docs(ci): clarify simulation runner needs no clock isolation; multi-core is a throughput win
ci/codspeed-self-hosted
16 days ago
Latest Branches
CodSpeed Performance Gauge
+7%
chore(libjpeg-turbo): update submodule to upstream 3.2.0 (8-bit + 12-bit)
#79
15 days ago
7c0c49a
chore/libjpeg-turbo-submodule-3.2.0
CodSpeed Performance Gauge
+8%
chore(openjpeg): update OpenJPEG submodule to upstream v2.5.4
#78
15 days ago
3518c7d
chore/openjpeg-submodule-2.5.4
CodSpeed Performance Gauge
-57%
chore(charls): update CharLS submodule to upstream 2.4.4
#77
15 days ago
68d6f90
chore/charls-submodule-2.4.4
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs