Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a pretty large refactoring of the uncompressed codec.
There are two commits. The first splits the uncompressed boxes out into a separate file. That part is basically mechanical.
The second reworks how the uncompressed decode logic works. Previously we tried to pull the right bits into the image. This implementation is closer to the source - we step through the data and push into the image planes. There are multiple decoder implementations, and a factory method to choose which decoder to use. The choices at this point are oriented around interleave, but other options are possible.
There are no changes to the encode side.
There are now many more tests. We now support YCbCr 4:2:2 and 4:2:0 subsampling, and correctly handle component interleave. We also handle component alignment (for at least some cases).
Resolves #904
What is not yet supported:
uncC
short-cut formatEven with all of that, this is a better basis than what we currently have.