AcademySoftwareFoundation / AcademySoftwareFoundation/OpenImageIO

feat: Color Interop IDs and related color space improvements

Open
#4,980 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
2.4k
Forks
698
Avg merge
3d 4h
Merged PRs (30d)
47

Description

Discussion is happening in #4787 and various pull requests. This is an issue to keep track of concrete tasks and design decisions (not as another place for discussion).

### Color Interop IDs

* [x] Scene referred color interop IDs support in I/O
* [x] #4971
* [x] #5387
* [x] #5388
* [x] #5390
* [x] #5391
* [x] #5396
* [ ] Refactor reading color space metadata to share logic
* [ ] Prefer display color space interop IDs when reading files?
* [ ] Treat g22_rec709_display as sRGB rather than gamma 2.2?
* [ ] Do or do not write interop IDs for scene referred?
* [ ] Default to scene referred interop IDs for texture system and maketx?
* [ ] Preference as `config` instead of global attribute, for multithreaded apps
* [ ] Change texture system defaults? But how, `ImageCache` is used for other things.
* [ ] Changes needed for namespaced interop IDs
* [ ] Look up interop IDs in default config if current config does not have them

### Color Space Metadata
* OpenEXR `colorInteropID`
* [x] Read support
* [x] #4967
* CICP
* [x] #4964
* [x] PNG support
* [x] HEIF support
* [x] #4968
* [ ] Handle more interop IDs through custom primaries, white point and gamma.
* [ ] Ultra HDR support
* [x] Write scene linear spaces as half (#5335)
* [ ] Write PQ and HLG as integer
* [ ] Supply separate SDR and HDR images
* ICC profiles
* [ ] Use ICC profile associated with color spaces in OCIO 2.5 configs in image writing
* [ ] Bundle ICC profiles for display interop IDs and automatically write them to file?
* [ ] Read `cicpTag` from ICC profile, or other ways to detect interop ID from ICC profile?
* [ ] Determine interop ID from ICC profile by comparing OCIO transforms?
* [ ] Deferred and unified resolution of color interop ID from metadata

### HDR Metadata

* [ ] Mastering Display Color Volume metadata read and write
* [ ] HDR reference white metadata read and write (SMPTE ST 2094-50)

Contributor guide

Open the contributing guide

Research direction

Start by reading discussion #4787 and the listed related pull requests, then choose one unchecked color interop, metadata, or HDR task. The issue names no files, tests, or entry points; done would require narrowing a task, recording the design decision, and adding the corresponding implementation and validation.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.