rigaya / NVEnc

NVENCによる高速エンコードの性能実験
https://rigaya34589.blog.fc2.com/blog-category-17.html
Other
1.03k stars 108 forks source link

Optical Flow Fruc Grid Size and other artifact issues questions #586

Open VisionHDR opened 1 month ago

VisionHDR commented 1 month ago

Hello,

I was trying to completely understand the behavior and usage of this specific function.

I use the "double" command and it works fast, but there are severe artifacting here and there i don't think it's the proper output considering i use a powerful NVidia GPU and if it were like this, Nvidia should never even use it for anything. I notice pixels moving and even shaking randomly, making the whole idea of motion interpolation using optical flow completely useless.

I notice there are "Grid Size", where is always set to "4". How do i change this (if even matters to help reducing the artifacting?)

Is there any scene detection threshold or setting you are going to add? This may be good to avoid these issues?

What are the complete options to use? Because you only mention:

Parameters

double Convert to double framerate, this mode will result in higher performance.

fps=<int>/<int> Convert to framerate specified, the performance will be low compared to double.

Examples

Example: Convert to double framerate
--vpp-fruc double

Example: Convert to 59.94fps
--vpp-fruc fps=60000/1001
rigaya commented 1 month ago

Yes, there is artifacts created with --vpp-fruc, and you should not expect too much from it. There are also many limitations, like it can only generate in 8bit and does not support 10bit. (I've actually added this for test and fun)

There are surprisingly very little parameter available for NVOFA FRUC, only parameter which can be set is actually the time of the frame to interpolate, and that is all. Therefore, you cannot change Grid Size or something else. There will be no parameter added unless the FRUC library is updated in the future.