AcademySoftwareFoundation / AcademySoftwareFoundation/openexr

Per-channel DWA compression scheme / custom clasifiers

Open
#1,942 3 comments 0 reactions 0 assignees View on GitHub
needs attention
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.