I’ve enhanced a 720p@30fps ~30min clip with the following workflow: Iris upscale x2 → ffmpeg scale_npp back to 720p → prot upscale x2 → ffmpeg scale_npp to 1080p → chronos fast to 60fps
The downscaling with ffmpeg inbetween specified no -fps_mode which defaults to passthrough, so frames were equal after downscaling, and so fast the amount of frames.
I also changed container between mp4 and mkv after each run of TVAi and ran the command below on both containers:
ffmpeg -i input.extension -vf mpdecimate -loglevel debug -f null -
This resulted in 14 duplicates on every output file. Which is margin of error with default mpdecimate parameters. So all good so far.
Source:
FFmpeg mpdecimate docs
On the final clip (which i also cut down to 12min) i ran:
ffmpeg -loglevel verbose -hwaccel cuda -i input60fps.mkv -vf mpdecimate -fps_mode cfr -c:v hevc_nvenc output.mp4
Which reported 2000 duplicates out of ~42000 frames.
I then tried to set stricter boundaries for duplicates running :
mpdecimate=hi=1:lo=1:frac=1:max=0
Which basically requires frame-to-frame to be identical down to the pixel.
That resulted in 310 duplicate frames - however, 268 of them are within the first 9 seconds of the video which has something to do with the movflags used as the video is showing a still frame for the first 8-9 seconds.
I tried loosening the parameters for mpdecimate to hi=100:lo=100:frac=1:max=0 whic also ended up with duplicate frames (total of 824, ~550 when removing the first 8-9sec of still frame). Some parts had several duplicates, but for the most part it seemed to follow a pattern of 1 duplicate every 3 seconds.
Make of it what you want. Those are my findings so far.