Log in

View Full Version : Cleaning ghosting which causes interlaced looking frames


BrainPhreeze
12th March 2004, 06:14
Howdy, i've made the following clip

Interlaced looking clip (http://users.tpg.com.au/adslrup6/badclip.avi)
You can notice interlaced looking frames in the eyes, but I cannot do anymore manual IVTC'ing in TMPGenc without damaging the flow of the scene.. I don't really want to have to manually edit frame by frame either, it basically sucks ass.

Is there anyway to apply a blur to a certain range of frames, while keeping the entire 20min avi in the avs file.

I tried using stuff like SelectRangeEvery(video,b,c).Blur()
but that only played back those selected ranges, and it worked for every range after b, but i only really want it to work for that one range.

If anyone has any other possible solutions, i'd love to hear them :D

BrainPhreeze

Edit: Sorry, it's a slightly older version of Xvid (XviD-24062003)

rfmmars
12th March 2004, 07:11
The clip is black, what codec did you use?

richard

AS
12th March 2004, 09:04
The function you're look for is Applyrange.

BrainPhreeze
12th March 2004, 11:00
Alright so I tried to use the following,
I know its way basic but, don't mock my simple ways ;)
Anyway, at first i had it working (or atleast, i thought i did), then i messed around with stuff and now it seems to have stopped working..


v = AVISource("sourceclip.avi")

function BlurRange(clip clip, string args) {
clip.blur(0.4)
}

ApplyRange(v, 1448,1488,"BlurRange","")
ApplyRange(v, 1521,1564,"BlurRange","")
ApplyRange(v, 1521,1564,"BlurRange","")
ApplyRange(v, 3800,3985,"BlurRange","")
ApplyRange(v, 5635,5718,"BlurRange","")
ApplyRange(v, 7295,7329,"BlurRange","")


There's no error message, it just doesn't seem to be blurring, I set the blur to max and I still didn't notice it.

AS
12th March 2004, 12:54
Due to the way applyrange works, the correct syntax should be

ApplyRange(v, 1448,1488,"Blur",0.4)
ApplyRange(v, 1521,1564,"blur",0.4)
ApplyRange(v, 1521,1564,"blur",0.4)
ApplyRange(v, 3800,3985,"blur",0.4)
ApplyRange(v, 5635,5718,"blur",0.4)
ApplyRange(v, 7295,7329,"blur",0.4)


However, it's much more intuitive to use stickboy's jdl_applyrange (http://www.avisynth.org/stickboy/) function, imo.

With jdl_applyrange, it becomes

jdl_ApplyRange(v, 1448,1488,"BlurRange()")
jdl_ApplyRange(v, 1521,1564,"BlurRange()")
jdl_ApplyRange(v, 1521,1564,"BlurRange()")
jdl_ApplyRange(v, 3800,3985,"BlurRange()")
jdl_ApplyRange(v, 5635,5718,"BlurRange()")
jdl_ApplyRange(v, 7295,7329,"BlurRange()")

mf
12th March 2004, 13:50
Also, if you only want to get rid of interlacing, I advise you to try:
Blur(0, 1)
Which only blurs vertically. Interlacing doesn't occur horizontally. You could even try:
Blur(0, 1).Sharpen(0, 1)
For a more pleasing result.

scharfis_brain
12th March 2004, 14:58
bobmatcher(deintth=0,bobmethod=255).selecteven

returns very nice results.

(hehe, never stop advertising your own products :p )