Merged
Conversation
21e432f to
842933f
Compare
Collaborator
The versions of write_quiniform() used by the arithmetic packer and the uncompressed bitwriter vary considerably. For some reason, the BitWriter uses a much 'narrower' implementation that overflows with inputs of more than a few bits. This patch replaces the BitWriter's implementation with one like in the arithmetic packer. This allows its use in coding non-uniform tile header fields.
barrbrain
approved these changes
May 14, 2020
Collaborator
barrbrain
left a comment
There was a problem hiding this comment.
Looks good to me with a few minor comments. Passes my reproduction: #2224 (comment)
If rebased against 03a11a2 on master, the reproduction also doesn't desync with CDEF and LRF enabled.
When doing loop filter RDO inline with the rest of the tile coding, LRUs must align to tile boundaries. An unexpected corner case means that chroma LRUs must have an even superblock width in 4:2:2 video, as LRUs must always be square. As a result, that means tiles must also have an even superblock width. As tile width must be adjusted in this case, it also means we can't use the spec's 'tile uniform spacing' mode, which would produce odd superblock width tiles in, eg, 1080p 4:2:2 video. This patch also implements explicit per-tile sizing the the frame OBU header.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Two patches implement the missing infrastructure needed to fix issue 2212 and allow proper Tile/LRU sizing in arbitrary 4:2:2 video.