I don’t understand why Topaz doesn’t address the recurring problem of duplicate frames.
Many files contain duplicate frames; they’ve been stretched from 24 (23.97) or 25 fps to 30 (29.97), for whatever reason.
Topaz only works correctly if every other frame is a duplicate.
It turns ‘fake 60fps’—every other frame is a duplicate—into a perfect 60fps.
The same applies to ‘fake 50fps’.
But it’s completely helpless if only every 5th or 6th frame is a duplicate!
Then it replaces this duplicate with an AI-generated frame instead of simply removing it, and then only creating the desired intermediate frames between the frames containing motion!
This problem is very common, and it would be really nice if Topaz had an answer for it.
I would find it very incomprehensible if this couldn’t be achieved with such a powerful tool.
Wait “Duplicate Frames Replace” works in that situation?! I didn’t know it ever worked, because I’ve only ever tried it on fake 30 fps (DVD standard).
Anyway, I agree! It is VERY possible to make an AI model that can detect if any random frame is a duplicate, and combine that with a model that can detect if that is lost motion or duplicate motion and use the existing interpolation models to fill in the most likely intermediate frames.
I’m afraid we do not mean the same.
You mean a 3:2 pull down from 24fps cinema to US TV standard NTSC ?
→ I dont know if this works on Topaz …
I mean a file wich comes as 59,94 but every frame is doubled.
Then Topaz makes a perfekt 59,94.
Again, what we can do in Topaz to repair video-files wich are covertet from 24 (23,98) or from 25 fps footage to the US 30 (29,97) standard with a primitiv frame doubling?
To eliminated Judder.
Imho I think it is very easy to change the option-button-function from “Duplicate frames: REPLACE” to “Duplicate frame: REMOVAL”.
Only in the case where the file is a fake 60fps or fake 50fps (Fake means every frame is doubled) is Replace or Removal the same.
But not in all other cases, where is only every 5. or 6. a double from the frame bevor.
Agreed. Currently I am forced to use pre-processing, doing frame decimation in avisynth to get rid of these null frames. Would be nice if this extra step could be eliminated.
Another problem of this nature I often run into is bad cameras / bad transfers where the encoder got out of sync with the source signal for some reason, so you end up with variations of what you describe, but with irregular patterns. Such as FFFDFDFFFFDFFD (F=real frame, D=dupe). Or the worse variant FSFDFDSFFFDFSD… where S is a skip frame, meaning the transfer dropped valid frames, resulting in skippy motion.
Dealing with those types is painful even with avisynth, but has to be done, else TVAI will just worsen the situation whenever any of its frame interpolation models are used.
Holy smokes. Didn’t know ffmpeg had a decimator that worked the same as the Avisynth TDecimate filter. Well, that now saves me the use of one extra tool for those cases
Thanks for the pointer.
ffmpeg -hide_banner -h filter=decimate
Filter decimate
Decimate frames (post field matching filter).
Inputs:
dynamic (depending on the options)
Outputs:
#0: default (video)
decimate AVOptions:
cycle <int> ..FV....... set the number of frame from which one will be dropped (from 2 to 25) (default 5)
dupthresh <double> ..FV....... set duplicate threshold (from 0 to 100) (default 1.1)
scthresh <double> ..FV....... set scene change threshold (from 0 to 100) (default 15)
blockx <int> ..FV....... set the size of the x-axis blocks used during metric calculations (from 4 to 512) (default 32)
blocky <int> ..FV....... set the size of the y-axis blocks used during metric calculations (from 4 to 512) (default 32)
ppsrc <boolean> ..FV....... mark main input as a pre-processed input and activate clean source input stream (default false)
chroma <boolean> ..FV....... set whether or not chroma is considered in the metric calculations (default true)
mixed <boolean> ..FV....... set whether or not the input only partially contains content to be decimated (default false)
For 90% of the DVDs I own, just using ffmpeg -r 23.976 (drops frames to that frame rate) works perfectly. On the rest, the decimate filter does a good job. I’ve never seen one with skipped frames, but of the ones where the pattern is irregular, they are usually interlaced, so I do bob deinterlacing then do decimate 1 in every 2 frames then again with 1 in every 5 frames.
I have about 3 DVDs that the motion gets messed up no matter how I try to lower the frame rate. I can tell they were originally 23.976fps, but I just can’t figure out how to get them smooth at that frame rate. Those I just leave at the 29.97 fps demanded by the NTSC DVD format.
You have to check if the audio is still synchronized.
In a 29.97 file, which then became a 23.98 file,
there was a delay of approximately 2.5 seconds at a length of 42 minutes.
I corrected this in DaVinci by unlinking the audio, then speeding it up by 100.10%, and relinking it.
Just a note.
Best regards