NVENC H.264 encoding causes aliasing / stair-stepping colors, worse on interlaced than progressive
|Reported by:||alexpigment||Owned by:|
|Blocking:||Reproduced by developer:||no|
|Analyzed by developer:||no|
Summary of the bug:
When encoding to H.264 with the NVENC encoder, I'm seeing a pronounced aliasing or stair-stepping effect that happens on the colors (chroma-only?) during motion. This occurs on progressive encodes, but is worse on interlaced encodes. I have verified this behavior on both an Nvidia 1060 and an Nvidia 750 while using the newest static Win64 build from Zeranoe as well as a build from January.
To rule out a problem with the GPU, driver, or NVENC itself, I used Staxrip x264 22.214.171.124 to encode with NVENC H.264 on 2 samples and saw no issues. Therefore, this issue appears to be specific to the FFMPEG implementation of NVENC. FFMPEG x264 does not suffer from this issue either.
How to reproduce:
% ffmpeg -i interlacedsample.mp4 -c:v h264_nvenc -b:v 20000000 -flags +ilme+ildct interlacedoutput.mp4
View the file in a player that supports deinterlacing (I'm using WMP 12 for consistency). Notice that the colors of the rings have massive stair-stepping around the curves, particularly in the lower right where the red and green intersect.
As mentioned above, this also occurs on progressive, albeit to a lesser but still very problematic degree.
% ffmpeg -i progressivesample.mp4 -c:v h264_nvenc -b:v 20000000 progressiveoutput.mp4
The same problem occurs here, most notably at hte top of the blue right and at the intersection of the green and red rings at the bottom left.
ffmpeg version N-84348-gdb7a05d
built on 2017-03-21