fraunhoferhhi/vvdec

Corrupted outfile

davFaithid opened this issue · 6 comments

I converted a y4m into vvc using vvenc, and then I tried to decode it back to yuv to make sure it had encoded correctly.
The outputted yuv is corrupted, and I have been unable to fix it. Also, I have tried encoding the vvc from a normal rawvideo yuv and had the same result.
Does anyone have any recommendations or solutions? Are there any test files I can use for reference?
Thank you,
Any help would be appreciated.

Link to zip with all of the video files: https://drive.google.com/file/d/1_RpywgLN7A9U6lEP34_WLHzUdRAYWCXb/view?usp=sharing

Hallo,

Can you post some screenshots of the corrupted files?

Did you have a look at the issue #4?

vvenc does not understand y4m, so you'd need at least need to strip the header to convert it to raw yuv.

We might add bit-depth conversion into the decoder as it seems to cause alot of confusion, but for now please check if you properly interpret the output format (yuv420p or yuv420p10le).

corrupted1
corrupted2
Here are screenshots of the corrupted output files. I will try again with a raw yuv and see if anything changes.

It looks alot like you're trying to view a yuv420p10le (10 bit-depth packad into 2 bytes) as yuv420p (8 bit-depth packed into a byte).

How are you viewing the files? ffmpeg (and, by extension, ffplay), should understand yuv420p10le.

If you really need the output to be 8-bit, you could encode the file with 8 bit internal bit-depth, but this only works in the full featured encoder right now (fix coming soon). Otherwise you could use ffmpeg to convert from yuv420p10le to yuv420p.

I am viewing the files in YUView. When you said that it was viewing in 8 bit, I changed it to viewing in 10 bit and got this.
corrupted3
which is closer but still corrupted.

The rest of the problem should be the y4m/yuv. Could you give it a try?

I just finished encoding and decoding using a raw yuv, and it worked great! Thank you very much for the assistance.
notcorrupted