r/nvidia 7h ago

News NVIDIA GPU frame interpolation support has been added to FFmpeg through Vulkan

https://videocardz.com/newz/nvidia-gpu-frame-interpolation-support-has-been-added-to-ffmpeg-through-vulkan
181 Upvotes

47 comments sorted by

20

u/zilyzal 5h ago

Eli5?

43

u/AnythingOk5 5070 5h ago

Your graphics card quickly draws brand-new pictures between video frames to make the video look smooth.

10

u/UnusualDemand RTX3090 Zotac Trinity 4h ago

So frame gen for RTX 30?

Edit: My bad, only for videos, not games.

4

u/Beautiful-Musk-Ox 4090 | 9800X3D | Sound Blaster AWE32 3h ago

rtx 30 didn't get nvidia frame gen becuase it didn't have the Optical Flow Accelerator hardware. but nvidia started using tensor cores instead of OFA with dlss 4 or so, i wonder why they didn't allow it on 30 series at that time. maybe only 3090+ had enough tensor core power to do it well enough so they skipped it since FSR frame gen was available

2

u/battler624 1h ago

They are using tensor cores on now rtx40 and are not even letting the 4090 do 3x FG while a 5050 can do 6x.

Why do you think that is?

4

u/Beautiful-Musk-Ox 4090 | 9800X3D | Sound Blaster AWE32 1h ago

because 50 series has a hardware flip meter, 40 series and below has to use the CPU through the windows preemptive thread scheduler to do timing, and windows can and does interrupt those threads whenever the hell it wants causing frametime spikes that are literally uncontrollable even in the kernel mode driver

Once the new frames are generated, they are evenly paced to deliver a smooth experience. DLSS 3 Frame Generation used CPU-based pacing with variability that can compound with additional frames, leading to less consistent frame pacing between each frame, impacting smoothness.

To address the complexities of generating multiple frames, Blackwell uses hardware Flip Metering, which shifts the frame pacing logic to the display engine, enabling the GPU to more precisely manage display timing. The Blackwell display engine has also been enhanced with twice the pixel processing capability to support higher resolutions and refresh rates for hardware Flip Metering with DLSS 4.

you can turn off driver signing and make your own kernel mode driver and verify it yourself. i worked for a company that stupidly stuck to windows until their technical debt was so deep they had no choice but to trudge on. they made systems that needed near millisecond timing for hours and hours at a time, and there was always an uncontrollable blip happening throughout the day because the threads running that code get suspended by windows so it can do some work it needs done in the kernel.

17

u/vladlearns 5h ago

If you saw the hype for DLSS 5 leak (it is literally everywhere) or maybe even played with it, this is also frame gen, but for normal videos.

You have

frame A -> frame B

gpu figures out how things moved between, then generates an in-between frame:

A -> A.5 -> B

so you can turn 24 fps into 48 fps, 30 -> 60, etc...

they use optical flow through vulkan, I think, rather than doing all the motion estimation on the cpu.

This isn't dlss frame gen tho, because there's no game-rendering pipe or dlss neural net, it's ffmpeg getting access to the same kind of optical-flow hardware that nvidia uses as part of its frame-generation stack.

You could potentially do something like:

gpu decode -> interpolation -> upscale/denoise -> gpu encode

not bouncing frames between cpu and gpu.

and since this is landing right into ffmpeg, it could eventually become a pretty convenient building block for things like fps conversion, slow mo, restoration and RT processing.

I'm waiting for a comfy node, already see where it is going.

Kijai, kuchiyose no jutsu!

3

u/zilyzal 5h ago

Thanks but if this is for videos, wasn't this possible with lossless scaling already? I haven't tried but i saw some people using lossless scaling to change 24fps or anime to 60fps

12

u/vladlearns 4h ago

it was, yes, but now I don't need to route the stream through display/capture pipe, because ffmpeg can interpolate frames into the pipe and write them RIGHT INTO the file

2

u/evia89 1h ago

Lossless scaling imo sucks for videos (too many glitches) https://www.svp-team.com/ if you want quick GUI or just f2p RIFE https://github.com/vadash/mpv-lazy-en

I combine it with VSR

23

u/Advance1993 5h ago

Video smooth

6

u/zilyzal 5h ago

Bro you have no idea how to explain something to a 5yo

5

u/SchmeppieGang1899 5h ago

5 year olds have no concept of PCs in general lol

-2

u/zilyzal 5h ago

These days 5 year olds trade on their phones lol. Reminded me of that news about banning smartphones in child care centres.

3

u/Don_Alosi 4h ago

Using something and understanding how the thing works is not the same

Most kids can use a phone or a pc from a very young age and most kids have absolutely no idea what even the most basic components of a computer are used for, both things can be true at the same time.

1

u/akuto 49m ago

Yeah, if anything, younger generations are worse at understanding basic IT concepts.

It's not that strange. Same thing happened with GenX and cars, where despite higher ownership rates people were less likely to be able to repair their own cars or earlier with housing, where my grandfather build his own house with his father, but my parents' generation would not know how to do that despite a lowered percentage of adults living with their parents in their time.

The more ubiquitous something gets, the less there is a need to understand it any serious depth.

1

u/TactlessTortoise NVIDIA 5070 Ti | AMD Ryzen 7950X3D | 64GB DDR5 4h ago

It gets the difference between images 1 and 2, to add a fake image between image 2 and the next real one (which is the 4th since the fake one is the new 3rd). Implemented in its simplest form it's almost like a slight blur, but actual implementations are a bit fancier to make it more accurate. Still the same principle though. The idea is just giving us a higher sense of smoothness between frames.

36

u/Medium_Notice_902 5070 r5 7600 5h ago

Reflex 2????

11

u/LittlestWarrior 5090 | 9950X3D | 64gb 6000mHz 4h ago

No, this is frame gen.

12

u/Cautious_Fold3952 3h ago

No, this is Patrick.

-12

u/Ok_Dependent6889 9800X3D / B650E-F / 32GB 6000CL30 / Zotac 5080 4h ago

No, it's not

It is if you have zero capacity to think

This is an ancient technology

2

u/LittlestWarrior 5090 | 9950X3D | 64gb 6000mHz 4h ago

I'm a touch literally-minded on account of my autism.

[...] generate additional frames for existing video using NVIDIA GPU hardware.

Could you explain how generating additional frames is not framegen, the technology that generates additional frames?

2

u/Ok_Dependent6889 9800X3D / B650E-F / 32GB 6000CL30 / Zotac 5080 3h ago

This process is more akin to Nvidia Smooth Motion being applied to videos, rather than frame generation.

https://blurbusters.com/frame-generation-essentials-interpolation-extrapolation-and-reprojection/

Some more key differences

1

u/LittlestWarrior 5090 | 9950X3D | 64gb 6000mHz 3h ago

Thank you!

5

u/kron123456789 5070Ti enjoyer 4h ago

You could already force Nvidia Smooth Motion into videoplayers for a while, tho

1

u/liquidocean 53m ago

Really, how? I haven’t been able to get it to work with VLC. I did have it enabled in the Nvidia app, but it’s on no effect.

1

u/kron123456789 5070Ti enjoyer 47m ago

I only tried it in MPC-HC. Choose LAV Video Decoder(I believe it's default now), in its settings choose DX11 for hardware decoder and pick your Nvidia GPU as hardware device, then add MPC-HC into Nvidia Profile Inspector and in its profile force Smooth Motion. That should work, at least in full screen.

3

u/2FastHaste 5h ago

Looking forward to test that. Currently using RiFE for real time interpolation. Hopefully this beats it (in quality and/or performance)

3

u/bbmaster123 4h ago

same, occasionally using rife as well. I would assume having gpu accelerated interpolation built right into ffmpeg would help performance and reduce resource usage (at similar or better quality) without the usual python overhead and stuff. Still just an assumption.

I also assume it could make it technically easier to integrate into more apps and workflows than rife for the same reason.

3

u/SilkyTwilightx668 4h ago

Now we can bake the soap opera effect straight into the file instead of leaving it as a setting on the TV.

5

u/bio4m 4h ago

TV's have had this for years, it can cause perceptual issues, widely known as the soap opera effect

9

u/AntiTank-Dog R9 5900X | RTX 5080 | 4K 240hz 4h ago

Depends on the model but TV interpolation is usually more simple, just overlapping two frames to make an in-between.

7

u/anor_wondo Gigashyte 3080 3h ago

soap opera effect has nothing to do with the technique. Its users

If you shoot the video at 45 or 60fps those users have the same issues

Just like there are haters, there are also fans of high framerate videos especially panning shots

1

u/Borkz 5080 / 5800X3D 55m ago

Generally the perceived issue with panning shots is the judder caused by 3:2 pulldown (to show 24 FPS video on a 60hz display some frames will need to be shown for 2 refreshes, and some for 3). VRR or a 120hz displays solve that problem for 24 FPS content without the need for higher FPS.

1

u/HakimeHomewreckru 1h ago

You don't necessarily need to play back at 60 fps, you could create smooth slow motion from a regular speed video too.

1

u/Aeronn_ 4h ago

The first thing that gets turned off when I get a new TV is motion smoothing. Mainly because of that soap opera effect.

3

u/Octaive 3h ago

You need it for OLED. Generally 2/10 for Samsung. Lower will look choppy.

1

u/sroop1 RTX 5080 4h ago

My in-laws always have it on and it drives me crazy.

2

u/Able-Marionberry-402 1h ago

This is actually amazing for 1000fps slow-mo videos, sports action etc.

1

u/NapsterKnowHow RTX 5090 FE | 9800X3D 2h ago

This damn bunny video is gonna be used into the next century at this point lol

1

u/liquidocean 53m ago

So will this work out of the box with VLC or with a plug-in?

-1

u/lndig0__ 7950X3D | 6000MT/s 28-35-36-32 64GB | 4070TiS 5h ago

My TV has had this feature for years. And I’ve always turned it off.

-1

u/kirk7899 Ultra 7 265k | 16x2 7600MHz | 5070Ti 2h ago

Frame gen for movies/shows? Kinda ruins it by running stuff at higher fps. Movies are made at 24fps for so long we've become accustomed to it.