Bug Report NVENC i444/chroma bug

NalaNosivad

Member
Following up from this thread.

Put simply, full-chroma seems to be broken with NVENC. It works fine with x264. The problem is that you need to use full chroma for NVENC's lossless mode to function at all, from what I've been able to determine.

A sample of what the result looks like:
chroma-bug.png


You can work around the problem, though, by simply setting the canvas and output resolution to be double the height of the source you're capturing so the chroma-less section doesn't obstruct the source that you want. You can crop it down using ffmpeg or something similar afterwards.

A sample of what raw workaround footage looks like:
chroma-bug-workaround.png


To me, this would point towards the chroma information past the halfway point (since I believe i444 chroma is exactly double the size of NV12) being lost/discarded somewhere.

Anyway, you can grab the raw video files and logs associated with recording them below. Just don't forget that no playback software can play back the files without artifacting with movement. If you transcode with ffmpeg to something like utvideo, they play back without movement artifacting.

Raw files (including logs for each file): https://www.dropbox.com/sh/xi0hnv9hjd5d66x/AAANjOuPvMKHPF9PnbxnxmVfa?dl=0

What the files are:
NVENC-I444-high444p_still.mkv
~1.1MB
A two second video sample without movement of the camera to keep file size down without workaround.​

NVENC-I444-high444p_workaround-still.mkv
~2GB
A two second video sample without movement of the camera to keep file size down with workaround.​

NVENC-I444-high444p.mkv
~35.6MB
A roughly five second video sample without workaround.
NVENC-I444-high44p_workaround.mkv
~216MB
A roughly five second video sample with workaround.​
 

Videophile

Elgato
Downgrade to a Nvidia driver before 368.22 and see if that helps.

This bug was introduced with that driver, and OBS needs an update to fix this.
 

NalaNosivad

Member
I'm certain I had this problem before that driver version, but I'll give it a go. If the update to OBS is just a new version of ffmpeg though, that didn't do it for me.

I'll report back!

Edit:

Yeah, exact same behaviour on 365.19.
 
Last edited:
Top