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

4:2:2/4:4:4 desync on 4x4 blocks with intra edge filter #2299

Closed
rzumer opened this issue May 13, 2020 · 5 comments · Fixed by #2313
Closed

4:2:2/4:4:4 desync on 4x4 blocks with intra edge filter #2299

rzumer opened this issue May 13, 2020 · 5 comments · Fixed by #2313
Assignees
Labels
BLOCKER Blocking major path of the project. bug desync

Comments

@rzumer
Copy link
Collaborator

rzumer commented May 13, 2020

Found through a master branch run. See the log.

This run, though incomplete, shows that this was not introduced by #2224.

Also reproduced on 4:4:4 locally.

Probably due to above/left block contexts not properly taking sampling format into account.

@rzumer rzumer added bug BLOCKER Blocking major path of the project. desync labels May 13, 2020
@ycho
Copy link
Collaborator

ycho commented May 15, 2020

commit ace686d
./target/release/rav1e ~/sequences/flower_garden_422_ntsc.y4m -o test.ivf -r test_rec.y4m --quantizer 20 --speed=2 --limit=3 --rdo-lookahead-frames=1 --low_latency # mismatch, when sub 8x8 used!

@rzumer
Copy link
Collaborator Author

rzumer commented May 15, 2020

#2083 seems to have caused it.

Both native and AVX2 (dav1d) implementations desync, so most likely this is related to the edge buffer initialization, which is native only.

@rzumer rzumer self-assigned this May 15, 2020
@ycho
Copy link
Collaborator

ycho commented May 15, 2020

Some more info:
The other smaller frame size video, https://media.xiph.org/video/derf/y4m/football_422_qcif.y4m, also gives the mismatch.
./target/release/rav1e ~/sequences/football_422_qcif.y4m -o test.ivf -r test_rec.y4m --quantizer 20 --speed=2 --limit=3 --rdo-lookahead-frames=1 --low_latency

And, I have diff image for you, which has mismatch in the 1st frame.
Screen Shot 2020-05-15 at 10 55 37 AM
The black grid is 64x64, so there are rowxcol = 3x3 SBs, and the 1st mismatch occur at SB (row, col) = (0,2).
Meanwhile, please note that AOM Analyzer does not decode and display 422 bitstream correctly, adding lots of artifacts, which seems wrong. The aomdec or dav1d decode correctly.

@ycho
Copy link
Collaborator

ycho commented May 15, 2020

To obtain diff image, I have used https://github.com/IENT/YUView.

@rzumer rzumer changed the title 4:2:2 desyncs at speed 0 4:2:2/4:4:4 desync on 4x4 blocks with intra edge filter May 18, 2020
@barrbrain
Copy link
Collaborator

I have confirmed that the reproduction in #2299 (comment) is resolved by #2313.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BLOCKER Blocking major path of the project. bug desync
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants