HEIF is a bucket; JPEG is still the lowest-friction interchange
HEIF standardizes a container; Apple’s `.heic` typically wraps HEVC stills, while some devices emit `.heif` that behaves similarly yet hits different decoder paths and licensing realities. `heif-to-jpeg` exists for systems stuck on libjpeg-era stacks: legacy browsers, shop RIPs, and internal image widgets that reject anything but Baseline JPEG. HDR, wide gamut, and 10-bit payloads get squeezed into 8-bit sRGB, so neon skies may show mild banding—mitigate with higher quality settings or consider PNG/WebP when transparency or cleaner ramps matter. Batch jobs need one policy for ICC embedding, physical rotation vs EXIF Orientation-only tags, and thumbnail sidecars; otherwise the same event folder mixes sideways shots, gray shifts, and inconsistent saturation. When sources span multiple OEM color science, sample per vendor before locking one global preset.
HEIF batch to JPEG
- Agree on color space, JPEG quality, and whether to bake orientation into pixels in `heif-to-jpeg`.
- Sample HDR night scenes and large flat colors for banding.
- Emit a manifest or naming rule that pairs outputs with untouched HEIF masters.