-
Notifications
You must be signed in to change notification settings - Fork 257
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
Corrupt bitstream: multi-pass encoding #2311
Comments
Thank you for this detailed report. Which revision of rav1e was used in these tests? |
rav1e c6bf0bf is used in these tests. |
I reproduced the 2-tile failures in a test case and added an assertion for the block size error condition. The assertion didn't fail although the decode did, so I hypothesise that the preceding symbols are where the desync occurs. To test this, I tried disabling loop restoration filters (LRF) and the test case then passed. The cause is likely in the writing of LRF coefficients. Given that there is no desync for most resolutions/tiles/subsamplings, it might be that in this case the wrong number of symbols are written. |
I can reproduce in single-pass with quantizers >= 161. |
rav1e 02018bf |
I think I know what this is; I missed a necessary tile/LRU alignment restriction case for 4:2:2 when fixing #2212. |
Proposed fix in PR #2371, please test. Our CI coverage is very light on 4:2:2 content right now. |
@xiphmont It seems to work well. Thank you!
|
I encoded video with target bitrate mode to compare quality and performance. rav1e seems to output corrupt bitstream in specific parameters.
Playable?
Environment
RUSTFLAGS="-C target-cpu=native" cargo build --release
Artifacts
Logs
The text was updated successfully, but these errors were encountered: