Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DWAx_COMPRESION v2 #119

Merged
merged 5 commits into from
Aug 5, 2014

Conversation

karlrasche
Copy link
Contributor

Previously, DWAA and DWAB_COMPRESSION would switch between lossy and lossless compression variants based on some fixed classification logic of the channel name. We'll call this v1, as it lines up with VERSION==1 at the start of the data block.

This logic might not be exactly what people want to suit their workflows. Yes, for absolute control of compression, one should use multi-parts. But a variety of situations may arise where multi-part output isn't feasible just yet. One wart in the existing logic is that the test is case insensitive, which traps both Y (often luminance) and y (often some xyz data) as channels for lossy compression, when you probably don't really want y to be lossy compressed.

This bumps the version to 2, and changes the encoder to write the channel classification rules into the data block. This adds a few bytes per block, but hopefully isn't too much overhead for folks. This allows anyone to change the encoder logic without breaking decoder compatibility.

The decoder should still be able to read v1 files, and a test case was added to that end.

Also, initializeFuncs() moved down to below uncompress(), which generated a bunch of noise in the diff, but no real interesting code changes.

@ehanway-ilm
Copy link
Contributor

Fuzz tests passing (after a small change to multipart file support that I'll commit in a moment.)

ehanway-ilm added a commit that referenced this pull request Aug 5, 2014
@ehanway-ilm ehanway-ilm merged commit 58101a2 into AcademySoftwareFoundation:develop Aug 5, 2014
@karlrasche karlrasche deleted the DWAx_v2 branch August 5, 2014 22:38
@cary-ilm cary-ilm added this to the Pre-ASWF milestone Apr 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants