Log in

View Full Version : Yadifmod2 vs Tdeint : 3x faster, same quality


laurentje
26th November 2017, 16:34
Hello,
I am a noob about Avisynth.
I used during several years Tdeint as de-interlacer in my avs-script (mostly de-interlacing dv-avi-files) and then resizing to 640x360.

Now I have a new pc (I7 processor 64bit) and I want to de-interlace m2ts-files (1920x1080i50) and I use the same de-interlacer. Speed of encoding: 25fps.

I tried another de-interlacer: Yadifmod2 and the average speed of encoding was 75fps. This is 3-times faster.
I looked at the result videos and compaired them side by side. I see no difference in quality.

What is happening with Tdeint? Why is this de-interlacer so slower?

real.finder
26th November 2017, 17:12
Tdeint didn't update for like 10 years

and it's more complex

johnmeyer
26th November 2017, 18:16
Two things to consider:

1. As real.finder already noted, some code is faster than others.

2. But, as he also noted, and this is my reason for posting, some plugins are more complex. What this means in the case of deinterlacing is that some deinterlacers look for all sorts of conditions where dinterlacing might introduce artifacts and flaws. When these conditions happen, the better deinterlacers try to do something to produce a better result. What this means -- and this is the key thing -- is that on some samples you may not see any difference between a simple deinterlacer and a more complex (and probably much slower) one. To take the extreme example, if you have video, shot on a tripod, of a completely static scene, you can use the simplest deinterlacer in the world and it will work just fine.

So, on your sample you didn't see any difference, but if you repeat the comparison with a different video, you might see a very substantial difference.

You always need to test any script or individual plugin each time you use it with new video, because every situation is different.

real.finder
26th November 2017, 18:25
and since he de-interlace HD (1920x1080i50) he will not note the difference easily

laurentje
26th November 2017, 20:01
and since he de-interlace HD (1920x1080i50) he will not note the difference easily

More important is that I resize to 640x360. Verified this on 120clips: I see no difference with Tdeint.

real.finder
26th November 2017, 20:42
More important is that I resize to 640x360.

then in this case ofc you will never see any difference

lansing
26th November 2017, 20:44
More important is that I resize to 640x360. Verified this on 120clips: I see no difference with Tdeint.

There's no point to use any software deinterlacer at all if you're to resize it to 640x360, in this case hardware deinterlacer beats everything in speed.

real.finder
26th November 2017, 20:53
or internal bob() if there are no hardware deinterlacer available

tebasuna51
26th November 2017, 21:54
Maybe to convert 1920x1080 i50 to 640x360 25 fps you don't need deinterlace at all, you can do:

SeparateFields() # 1920x540 50 fps
SelectEven() # or Selectodd() # discards 1 field: 1920x540 25 fps
AssumeFrameBased() # to mark video like progressive
Assumefps(25) # only to be sure
BilinearResize(640,360) # you have enough input resolution (1920x540) to obtain 640x360

wonkey_monkey
27th November 2017, 10:17
It's still worth doing something better than a dumb bob or discarding fields even if you're downsizing that far. By discarding fields you will introduce (more) aliasing.

https://i.imgur.com/xcaAwOR.png

This is a cherry picked example, but it shows the problem clearly.