Topic: Optimizing 3D transcoding for 60fps (source) to 90fps (output)

As the title says:

Looking for some setting guidance for transcoding 60fps to 90fps with a focus on maximum smoothness for 90fps 3D headsets.  I just couldn't get the realtime interpolation to work reliably inside the VR headset players.  It would always stutter, crash, etc even with a 6 core I5 8600K + GTX 1080.  I use simple VR player, but whirligig also had similar issues depending on source file.  Transcoding solves all real time issues while allowing max interpolation settings. 

The big question is how (well) SVP handles fractional frame interpolation.  I know 60fps to 90fps isn't ideal, but is there anything we can do to optimize?  Does SVP discard original source frames in the 1.5 rate interpolations?  You would think that it should be doing something along these lines to do this properly.  Does it make sense to interpolate 60fps 3X up to 180fps, then back down .5X to 90fps?....or does SVP already do this via 3/2 motion vector estimation?  If not, then it would great to have this option...hint hint.  This 2 step process should generate all the required frames and then be able to properly match the time critical ones up to the corresponding frame in the new frame rate.

Any thoughts or suggestions?


Current options

Transcoding Options:

H.265 NVENC
40-50Mbps Bitrate

VIDEO PROFILE OPTIONS

Fixed 90.00 fps


Uniform (Frames interpolation mode)
Complicated (SVP Shader)
Average (Artifacts masking)

Half pixel (motion vectors)
8px small (vectors grid
disabled (decrease grid step)
average (search radius)
average (wide search)
average (top course level)

Repeat frame
do not change
do not change

OTHER OPTIONS
"turn stereo mode on by aspect ratio" checked in APPLICATION SETTINGS/ADVANCED OPTIONS

Re: Optimizing 3D transcoding for 60fps (source) to 90fps (output)

I'm having trouble finding where to modify the settings to transcode my 180fps intermediate files by 1/2 frame rate to get them back down to 90fps.  There is only a setting for .5 screen refresh rate, but I need a user defined reduction in movie fps that is only applied to the selected "VR .5fps DOWN MIX" profile.  I understand this is the exact opposite of what SVP is about, but it would be nice to add that ability/option.

Re: Optimizing 3D transcoding for 60fps (source) to 90fps (output)

> Does it make sense to interpolate 60fps 3X up to 180fps, then back down .5X to 90fps?

No it doesn't

Re: Optimizing 3D transcoding for 60fps (source) to 90fps (output)

It may be depending on how exactly SVP handles the interpolation (which I'm obviously not privy to), and why I asked the question.  I would also suggest you treat your customers kindly and patiently, not like a fellow developer who should know every last detail of the software's inner workings.  If it "makes no sense" because the results would be exactly the same, (then I agree with you), but an explanation (instead of an short and insulting answer) would be much appreciated.  The people here are the ones who are feeding you, so it would be recommended to show an ounce of patience with them.  It is just successful business 101.

The reasoning behind my theory is to keep the frames synced up to realtime / integer equivalent images needed for the final 90fps since it isn't a simple integer multiplication.  We'd just discard the frames we didn't need on the 180fps (intermediate video) down to 90fps conversion.  This would theoretically be advantageous if SVP only did linear motion blending instead of a cubic or higher order motion vector interpolation.  It has been stated multiple places that fractional interpolation yields sub optimal results from SVP, and I was wondering if this method would help improve it since we aren't relying on doing this expensive calculation real-time.

Re: Optimizing 3D transcoding for 60fps (source) to 90fps (output)

> if it "makes no sense" because the results would be exactly the same

yes, the results will be the same


>  It is just successful business 101.
please, don't wink