-
Notifications
You must be signed in to change notification settings - Fork 256
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
Chroma 422 mode causes enc/dec mismatch and its test cannot detect this #1149
Comments
aom:
dav1d
I updated the test to use a larger resolution and looks like some rounding somewhere is causing the problem. |
Makes xiph#1149 apparent in the test.
On
|
Makes xiph#1149 apparent in the test.
I confirm this also happens on |
Is this possibly related to chroma sample positioning? In rav1e we say ChromaSamplePosition is Colocated for 4:2:2, but in daala it is treated as Vertical. They also have a conversion function that they run on 4:2:2 or yuv420mpeg2 input to convert from Vertical to Colocated, which we do not have. This was responsible for small mismatches when I was developing the av-metrics crate. The code I wrote in that crate can probably be reused for this as well (better, it would be nice to have that all in the y4m crate or some crate that wraps y4m with higher level abstractions and generic pixel types). |
I think not. When I check for desync, I compare yuv files. For it, I first convert any reconstructed (encoder side) y4m and decoded (decoder side) y4m to yuv using non-daala tools, like ffmpeg. Also, I run aomdec to directly output yuv. |
The PR #2224 will resolve the desync but there exists a more general issue of the bitstream feature coverage of encode-decode tests. |
It passes "cargo test --release --features=decode_test chroma_sampling_422_aom",
but encode and decoder mismatches if tried for larger size input like:
./target/release/rav1e https://media.xiph.org/video/derf/y4m/flower_garden_422_ntsc.y4m -o test.ivf -r test_rec.y4m --quantizer 100 --speed=5 --limit=1
FYI, that current chroma 422 and 444 are all encoded as INTRA frames, i.e. inter modes are NOT used.
The text was updated successfully, but these errors were encountered: