Log in

View Full Version : Post Yadif deinterlacing artifacts fixing


kostek00
27th June 2016, 14:03
I got video that has been (unfortunately) deinterlaced with yadif only. So now on contours I have white dots. Does anyone know how they can be removed? This is the first time I'm working on already processed video with yadif so I don't know what can be done here.

6 second long sample. (http://www.mediafire.com/download/548cr4nl8rwkbf7/yadif+dot+jitter.mkv) (look at hand)

wonkey_monkey
27th June 2016, 14:45
This seems a strange one to me. It's 720p. 720i isn't really a thing, so I would normally assume it came from 1080i, was deinterlaced and then resized.

But all the "good" lines (alternating rows) seem to be intact. And what's more, they are the same rows on subsequent frames, not alternating. I don't know how this came to be.

Anyway, I would suggest:

nnedi3(field=0)

(http://avisynth.nl/index.php/Nnedi3)

It gets rid of the dots and makes a better job of interpolating the lines.

thecoreyburton
27th June 2016, 15:33
But all the "good" lines (alternating rows) seem to be intact. And what's more, they are the same rows on subsequent frames, not alternating. I don't know how this came to be.
Given a quick look over, I'm thinking the interlacing was added and then removed. I have no idea why, but with the original source being HD it would have likely been at 23.976fps already - or at most required field matching. I could be wrong, but that'd lead me to assume that it was interlaced for whatever purpose at 720p and then later deinterlaced again.

Anyway, I echo the sentiments for nnedi3. If not, you could use QTGMC(InputType=2,ProgSADMask=2) but expect it to go slower than you'd like. I'd also recommend doing any decimation prior to these steps. It looks like the footage should be played back at 23.976fps.

kostek00
27th June 2016, 16:39
Thanks for response. Both of your suggestions are working. In some scenes better is nnedi3 and in other QTGMC. I will look a bit longer which plugin gives better overall results and choose one. Or maybe I will choose both at once? :P

Anyway, I echo the sentiments for nnedi3. If not, you could use QTGMC(InputType=2,ProgSADMask=2) but expect it to go slower than you'd like.I know QTGMC and how slow it is. Sometimes I use it for deinterlacing if TIVTC can't handle.

Edit: I better don't use both. Nnedi3 gives better overall results so I will stick with him. Thanks for help.

geometer
27th June 2016, 19:47
I hope one day someone will speed up post-yadif processing.
I believe it can be done with a superfast local motion-detector that only uses a window 4*4 or 4*8(horizontal) and seeks only 1 line up and 1 down. Then, it makes its guess and moves the block up half a line, and in the next frame, down the same amount (or vice versa). For these resulting blocks, there is a weighted average computed through perhaps 3 frames. The mechanism triggers only when there is a "bobbing" artifact, or a typical "running ant" pattern, and blends itself off for every other part of the picture.
This will already remove the biggest part of what is annoying in yadif. It is fast because it seeks only for a move up or down of the typical bobbing distance, and thus also transparent to other motion-techniques in the signal chain.