AcademySoftwareFoundation / AcademySoftwareFoundation/openexr
Per-channel DWA compression scheme / custom clasifiers
- Dominant language
- C
- Stars
- 1.8k
- Forks
- 700
- Avg merge
- 3d 12h
- Merged PRs (30d)
- 29
Description
Currently DWA compressed images use different compression schemes - LOSSY_DCT, RLE.
Compresson scheme upon EXR writing is determined using hard-coded classifiers - sDefaultChannelRules[].
Would it be possible to add ability for per-channel compression scheme selection?
Probably - by using custom channel classifiers?
This would make it possible to use lossless compression for the "Y" channel.
And this would make it possible to store coordinates or vector normals.
For example - storing "Normal.X", "Normal.Y", "Normal.Z", "WorldPosition.X", "WorldPosition.Y", etc.
Using lossy DCT does not work fine for such values, that could be negative values.
Contributor guide
Research direction
Start by tracing EXR writing and the sDefaultChannelRules[] classifiers, then examine how DWA selects LOSSY_DCT or RLE for each channel. Done means per-channel compression selection supports lossless handling for channels such as Y and vector or coordinate channels without relying only on the hard-coded classifiers.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- computer-graphics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100