-
Notifications
You must be signed in to change notification settings - Fork 253
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
Full 4:2:2/4:4:4 support #970
Comments
I think these are tasks 'TODO', not bugs? |
@ycho: I added the "enhancement" tag because it does not affect usage with 4:2:0 and they (4:2:2/4:4:4) are still functional or supposed to be functional in the degraded state, so it depends on your perspective. As you can see in the encoder/sequence parameters, restoration is disabled when not using 4:2:0. |
Well, yes- it depends on perspective. |
I don't think it is a high priority so I am not expecting someone else to look at it; the comment is a note for anyone who may look at the code. There are likely multiple things missing to enable inter frames with non-4:2:0 sampling. In my commit history you can see I fixed a few issues related to 4:2:2/4:4:4, but I have not had time to look at it since then to fix the remaining ones, including inter frames (even intra-only does not work), restoration and disabled prediction modes.
Do you mean that you would prefer to disable 4:2:2/4:4:4 completely until they are fully supported? They were enabled in this degraded configuration back in February.
Oops, you are right, that one was a typo. |
No, I mean I assumed both non 420 chroma format path would not work correctly. Whether the necessary but not done parts are marked as to-do or a bug, I am fine to leave current working path. |
Regarding the inter frame issue I have tried disabling prediction modes and partition types, but the first desync consistently occurs for Encoded/decoded block sizes vary based on what I disable but here is a sample diff at this location:
The decoding output detects rectangle partitions even when there are/should be none. It further desyncs a few blocks later and the diff is quite large. Decoding error occurs about halfway through (in terms of number of blocks). |
As mentioned before by @tdaede there was a missing decimation factor scaling operation in |
I believe this is happening with speed 0, right? |
@ycho All my recent tests use |
Tested encoding At 64, 128 and 256, the output is decoded correctly and there is no desync with a single inter frame (and almost all coding tools disabled). At 192, the second frame is not decodable, as usual. dav1d can manage to decode the file (albeit with desyncs). Attached is the encoded file and decoded output. |
Now only sub-8x8 inter blocks are still excluded. This along with the tiling accounting issue in #2212 mean that non-4:2:0 subsamplings are not yet on par with 4:2:0 |
4:2:2 and 4:4:4 chroma sampling are supported only in a degraded configuration. The following features should be fixed and re-enabled once bugs are resolved:
The text was updated successfully, but these errors were encountered: