Log in

View Full Version : Some help with ghosting please


DarkT
7th November 2007, 18:08
Heya - been trying to IVTC this anime, but I get really bad ghosting...

Here's a 9mb extract from the vob:

http://www.darkuti.net/meow/VTS_01_1.demuxed.m2v

I tried:

interp = AssumeTFF().separatefields().SelectEven().eedi2(field=-1,pp=3)
deint = TDeint(mode=0,Order=-1,type=1,AP=55,edeint=interp,slow=2)
TFM(d2v=d2vpath,clip2=deint,order=-1,Mode=5).TDecimate(mode=1, denoise=true)

And simply:

TFM(d2v=d2vpath,order=-1,Mode=5).TDecimate(mode=1, denoise=true)

Tried messing with the settings, but I didn't get anywere - and my knowledge of these things is rather limited, so I've hit a brick wall...

Any help would be appritiated...

Dark Shikari
7th November 2007, 19:16
Ghosting often means your source was field-blended, which requires something like MRestore.

DarkT
7th November 2007, 20:08
I did try Mrestore, but doesn't it work for PAL sources only? My source is NTSC...

At any rate, I did try it - but I kept getting much less frames - THEN I read the readme, and saw that there are 2 things you can configure if you're not doing ntsc-->pal or the reverse of it(as far as I got it) - but I couldn't get it to work for me...

MOmonster
7th November 2007, 22:24
Mrestore works also with NTSC sources. Just call a bobber and use Mrestore with default setting on the bobbed video.
But your source is just too crappy. Two or three blends following each other. Mrestore can reduce the problem, but the function cannot solve it.
Indeed there is no possibility to restore this perfect. The blending is just too strong.

DarkT
7th November 2007, 22:57
Hey, every little bit counts ;).

I've loaded

McBob()
Mrestore()

But the output is 25fps, from what I understand I need to configure "numr/denm" to make it 23.976? I'm prolly missing something... The material is an ntsc dvd, it's interlaced... I need to deinterlace it and try to somehow get rid of as much ghosting as possible - could you help me with the parameters of Mrestore?

In the meanwhile I'll go over the thread of mrestore... Maybe I can get more info there...

Thanks.

Didée
7th November 2007, 23:08
MCBob is not suited for your source. (It is generally impossible to motion-compensate a blended frame successfully against a not-blended frame, or vice versa.)

Use a "simple" bob filter instead.

DarkT
7th November 2007, 23:17
I've found the settings in the mrestore thread to make it 23.976.

@Didee, thanks - I don't really know the differences between them all, but I tried the tdeint(mode=1) and that seemed to be much faster and pretty much same result...

[P]ako
7th November 2007, 23:24
I took a look at the sample and all I can say is that it's a perfect candidate for YATTA (little program for IVTC'ing). You will have to go through the video and freezeframe a lot.

DarkT
7th November 2007, 23:30
ako;1063265']I took a look at the sample and all I can say is that it's a perfect candidate for YATTA (little program for IVTC'ing). You will have to go through the video and freezeframe a lot.

So I was told by another dude :) - but mrestore helps quite a lot from what I saw... Thing is, in many of the frames this:

tdeint(mode=1)
Mrestore(numr=2002,denm=5005)

Loses in "sharpness" to this:

TFM(d2v=d2vpath,order=-1,Mode=5)
TDecimate(mode=1, denoise=true)

But I suppose that's already due to me not knowing some setting or using a non-appropriate filter or something...

Edit: also things need some nice anti-aliasing from the bob+mrestore combo

foxyshadis
8th November 2007, 00:07
23.976 is 1001/24000 btw. If you don't unblend, I'd just go with TFM instead of also TDecimate, truncating to 24fps will be much jerkier. Just give it a little extra bitrate.

Btw, that seems vaguely familiar, something I watched many years ago. You're Under Arrest perhaps?

DarkT
8th November 2007, 00:26
It's BASTARD! - a great classic :).

ATM I'm going with:

tdeint(mode=1,slow=2)
Mrestore(numr=2002,denm=5005)

I THINK... I tried a couple other bobbers, but they were mostly worse then tdeint mode1...

And yeah, I know 23.976 = 1001/2400 - but I can't get mrestore to work with it - I blame my noobity :) - I barely understand what's going on with all of this - ya know? But what I did there numr=2002,denm=5005 produces 23.976 - so...

MOmonster
8th November 2007, 00:45
YATTA would be really heavy work and is still no solution for scenes with full framerate.
You can use Cdeblend(omode=3) for deblending. It will removes much more blends than Mrestore. But you have to take care about the motion. When it comes to 24fps effects (full motion), Cdeblend will produce some jerky output.

59.97 *2002 / 5005 = 23.976

You can set tdeint also to weave the right fields.

DarkT
8th November 2007, 01:15
Hmm, tried cdeblend - it really did remove, mostly, more stuff - but the thing is, it looked to me like sometimes it killed motion too much, infact, in most cases where I found it to be "effective" it was due to it, while not giving out the blend - it froze on same frame for like 3 frames... I didn't encode it - but I don't belive that I'd like it...

I think the current compromise is:

tdeint(mode=1,slow=2,mtnmode=1,ap=55)
Mrestore(numr=2002,denm=5005)
AA()

While it leaves ghosting, I don't think it will be too noticeable(or atleast I kidmyself that it won't be :)).

foxyshadis
8th November 2007, 01:31
Oh yeah, I meant to remove the first line of my reply after I tested and realized I was wrong. Sorry. =p (Should have found a bit with dark schnieder! :p)

Oddly, 2/5 errors, 4/10 gives 24.0 fps, only above 100/250 does the framerate look right. Must be an integer division thing? Ah, okay, it's in the way ChangeFPS is used.

DarkT
8th November 2007, 01:40
No biggy ;) - you guys helped me immensly, I'm not one of those "ZOMFGBBQ! There's a SPOT THERE!" *runs to photoshop frame* - nah, I like quality, but I'm not going to manually spend more then an hour and a half doing stuff... So my objective was not to eliminate everything... I wanted to eliminate as much as posible, and hide as much of the rest... Sort of... And right now all seems to be good... Kind of...

Anyhow, thanks a lot guys :).

MOmonster
8th November 2007, 08:31
@foxyshadis
Yes itīs the way Mrestore does internal use these parameters. Thatīs why 4/10 or 8/20... gives 24 fps. The current framerate multiplied with the numerator has to be an integer, else it will be rounded to a whole number. Thatīs why you need the factor 1001 for NTSC framerates. The values 4/10 are used as the exact decimation ratio, but Mrestore will assume the source to 60.0 fps.

@DarkT
Cdeblend doesnīt decimate the source, so the two or three dups will be reduced two one dup during decimation. Your sample is actually animated in 12fps (donīt have to be the case for your complete source), so it wonīt hurt the motion as strong as you think of. But yes, the motion will be awful if it comes to different animation framerates, so if Mrestore is ok for you donīt bother about Cdeblend.

foxyshadis
9th November 2007, 10:35
If you ever release another version, perhaps it should be changed to changefps(round(clp.FramerateNumerator * num), round(clp.FramerateDenominator * den),linear=true) (Perhaps with NiceFPS at the end.) It's not really a big deal, it just confused me when small ratios skipped frames unexpectedly until I saw the framerate was rounded.

MOmonster
9th November 2007, 12:01
@foxyshadis
Thanks for the tip. Iīll do in the next release.