Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: I made an HDR ICC profile for JPG and PNG images
3 points by kloch on July 8, 2023 | hide | past | favorite | 1 comment
I wanted to be able to share HDR renderings from bsrender in widely supported formats like jpeg and png. There are ICC profiles to do this but they are copyrighted so I made an experimental open source ICC profile using the CC0 copyright:

Experimental open source Rec. 2100 PQ profile with annotated source: https://bsrender.io/rec2100pq-experimental.zip ICC profile standards document: https://www.color.org/specification/ICC.1-2022-05.pdf Sample HDR renderings (first few sample renderings): https://bsrender.io

The only viewer/platform I've been able to confirm it works on is the Chrome browser on M1/M2 Macs. It does not work on iPhone or Safari/Firefox on Mac.

The profile is derived mainly from saucecontrol's open source Rec2020Compat-v4.icc profile: https://github.com/saucecontrol/Compact-ICC-Profiles with 'cicp' and 'lumi' tags added. Since it uses the same transfer function as Rec2020, images will appear very washed out/fuzzy on unsupported viewers. I found this "bug" very helpful during testing as it was really obvious if the viewer was using the cicp/lumi tags or the (incorrect) transfer TRC.

With a bit more work you could implement something approximating the PQ transfer function but I actually like the 'you-know-when-it's-not-doing-the-thing' effect.



ICC Profile w/annotated source: https://bsrender.io/rec2100pq-experimental.zip

Standards document: https://www.color.org/specification/ICC.1-2022-05.pdf

Sample renderings (first four at top of page): https://bsrender.io

They will only be rendered in HDR on supported viewers/platforms, currently only known working is Chrome browser on M1/M2 mac. On unsupported viewers the HDR images will appear very washed out/fuzzy.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: