Skip to content
New issue

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

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

Already on GitHub? # 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.

# for free to join this conversation on GitHub. Already have an account? # 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