Log in

View Full Version : Anything wrong with this script? (NTSC INTERLACED DV)


bira
2nd October 2006, 03:29
I will soon convert a bunch of DV videos to DVD. Having learned that my best option is not to deinterlaced the video, I decided to apply denoising and sharpening filters to the original videos and then encode them using HUFFYUV for later editing.

I haven't tweaked for noise or sharpness yet, because I'm not sure if the script is correct considering the source is interlaced.

Is this script correct?

Clip="scene'20020928 16.22.05"
avisource(Clip+".avi")

backward_vec2 = last.MVAnalyse( isb = true, delta = 2, pel = 2, overlap=4, sharp=1, idx = 1 )
backward_vec1 = last.MVAnalyse( isb = true, delta = 1, pel = 2, overlap=4, sharp=1, idx = 1 )
forward_vec1 = last.MVAnalyse( isb = false, delta = 1, pel = 2, overlap=4, sharp=1, idx = 1 )
forward_vec2 = last.MVAnalyse( isb = false, delta = 2, pel = 2, overlap=4, sharp=1, idx = 1 )
a = last.MVDegrain2( backward_vec1, forward_vec1, backward_vec2, forward_vec2, thSAD=400, idx=1 )


b = a.FFT3Dgpu(sigma=1, bt=3, bw=48, bh=48, sharpen=.1, interlaced=true)
SeeSaw( a, b, NRlimit=4, NRlimit2=5, Sstr=1.5, Slimit=9, Spower=9, Szp=16, sootheT=80, bias=40 )

foxyshadis
2nd October 2006, 03:42
MVtools really won't work correctly without fully progressive frames, whether it's a fast lossless dumb bob(0,1) or something an advanced as mvbob. It'll sort of work with separate fields, but not as well as it should. It'll ruin interlaced material though. Seesaw will work just fine with separate fields, but also messes up interlacing.

Mug Funky
2nd October 2006, 04:21
you might also want to use reinterpolate411(), as NTSC DV has half the horizontal chroma res of DVD (and twice the vertical res, which unfortunately will be lost on converting to yv12 for DVD).

also, unless you're going for a veery low bitrate, try not to remove too much noise - MPEG-2 can handle noise fairly well unless the bitrate is low (sub ~5mbps).

bira
2nd October 2006, 13:40
Mug Funky: I'm using the cedocida decoder, so no need for Reinterpolate411, correct? I've uploaded a clip of the original video for you to see how noisy it is.

foxyshadis: So the script is totally wrong. I'll read more about deinterlacing methods firts but, since I not worried about speed, should I start with MVBob?

I've uploaded the video, so if anyone wants to give it a try ...

http://rapidshare.de/files/35211828/Original.avi.html


Thanks

Guest
2nd October 2006, 14:04
Post a scene with motion in it!

bira
2nd October 2006, 14:22
There it is:

http://rapidshare.de/files/35215628/Original-Motion.avi.html

ADLANCAS
2nd October 2006, 23:00
You could start with:

#source#
tmcbob(5)
#filter#
separatefields().selectevery(4,1,2).weave() #reinterlace

function tmcbob(clip i, int se){ #60fps-bobbing
e=i.tomsmocomp(-1,se,0)
o=i.doubleweave().selectodd().tomsmocomp(-1,se,0)
interleave(e,o)
}

bira
3rd October 2006, 12:10
Adlancas: I've tried your script but for some reason I got combing artifacts where there was none. (hey, I'm also from Brazil)

I've tried the script below and got good results, but the doll's dress shows some shimmering. I've upload a few frames to show the (d)effect. Video was reencode from Huffyuv to cedocida DV just to make it smaller.

What is causing that? Is is possible to fix it?

http://rapidshare.de/files/35326775/dress_clip1.avi.html

Clip="scene'20020928 16.22.05"
avisource(Clip+".avi")


AssumeBFF()
eedibob()

backward_vec2 = last.MVAnalyse( isb = true, delta = 2, pel = 2, overlap=4, sharp=1, idx = 1 )
backward_vec1 = last.MVAnalyse( isb = true, delta = 1, pel = 2, overlap=4, sharp=1, idx = 1 )
forward_vec1 = last.MVAnalyse( isb = false, delta = 1, pel = 2, overlap=4, sharp=1, idx = 1 )
forward_vec2 = last.MVAnalyse( isb = false, delta = 2, pel = 2, overlap=4, sharp=1, idx = 1 )
a = last.MVDegrain2( backward_vec1, forward_vec1, backward_vec2, forward_vec2, thSAD=400, idx=1 )
b = a.FFT3Dgpu(sigma=1, bt=3, bw=48, bh=48, sharpen=0,plane=4)
SeeSaw( a, b, NRlimit=4, NRlimit2=5, Sstr=1.5, Slimit=9, Spower=9, Szp=16, sootheT=80, bias=40 )

MergeChroma(b)

BlindDeHalo3( rx=3.0, ry=3.0, strength=25,
\ lodamp=0.0, hidamp=0.0, sharpness=0.0, tweaker=0.0,
\ PPmode=0, PPlimit=0, interlaced=false)

AssumeBFF()
separatefields().selectevery(4,0,3).weave() #reinterlace

nibbles
3rd October 2006, 16:34
It looks like your bw and bh of 48 is not a power of 2, which is required according to
FFT3DGpu.html at Avisynth.org.ru. (http://www.avisynth.org.ru/docs/english/externalfilters/fft3dgpu.htm) I'm not sure what effect that has, though.
Have you tried to use LeakKernelBob(order=0) or TDeint(mode=1,order=0), curious?

foxyshadis
3rd October 2006, 19:42
bw and bh get rounded though.

The shimmering comes from eedibob, I bet, because all dumb bobs have that problem, especially those that aren't lossless. Securebob will be almost the same speed as eedibob, without the shimmering. SeeSaw probably makes it worse, if it's already present.

ADLANCAS
4th October 2006, 04:12
@bira

In my post, please change SelectEvery(4,1,2) - TFF output, to (4,0,3) - BFF output. It was my fault.
Here is SP, and you ?