Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Note — this fork fixes the release build and adds a WebAssembly target.

Release fixes. The tagged release workflow could not produce macOS binaries at all (the universal link failed), and the binaries it did produce were not self-contained. Fixed here: macOS is built per-architecture and lipo'd together, OpenEXR's libdeflate/OpenJPH/Imath are always built internally instead of picking up a system copy, Windows links the static CRT, and Linux links libstdc++ statically. CI now fails the build if any binary is not self-contained.

WebAssembly. hdrgen builds under Emscripten and runs on node:

emcmake cmake -S . -B build-wasm -DCMAKE_BUILD_TYPE=Release
cmake --build build-wasm --target hdrgen
node build-wasm/hdrgen.js -m 1000 img*.jpg -o out.hdr -r resp.rsp

It takes the same arguments and real file paths as the native binary. Memory and threading both clear wasm32 comfortably; JPEG decoding differs slightly from native unless built with -DPANLIB_JPEG_REPRODUCIBLE_DCT=ON. See doc/WASM.md for the full measurements.

Requires the panlib cross-compilation fixes, so external/panlib points at adulbrich/panlib until they are upstreamed.

hdrgen repository

Although this repository builds only a few tools, the panlib library that underpins these tools is extensive. Its main focus is on high dynamic-range (HDR) image manipulation, but most operations support 16-bit/channel and 8-bit/channel as well. Much of the library is tailored to support the Photosphere image cataloger and HDR builder app, which is not available for 64-bit targets and needs updating. Volunteers on getting it working again are encouraged to step up.

These are the tools we currently build:

hdrgen

  • takes a set of low dynamic-range (LDR) images in a common 8-bit/channel format and merges them into an HDR format

hdrcvt

  • translates between various HDR and LDR formats and optionally performs numerous operations during conversion

PQconvert

  • batch-converts a set of HDR images into 16-bit/channel TIFFs appropriate for input to HDR video encoders such as ffmpeg

expose2range

  • computes and prints optimal multiplier to get input HDR image pixels within the given value bounds

warpimage

  • warps an HDR or LDR image according to the specified input grid vertex locations

bitmapop

  • performs a variety of comparisons and so forth between images or bitmaps to compute an output bitmap as a bilevel BMP

Most tools will give a usage message if executed without arguments. If you have specific questions, please write to Greg Ward at GJWard@lbl.gov or post to the appropriate Discourse forum, here.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages