Log in

View Full Version : Yet another horrible videocontent to restore (interlacing probs etc.)


DeepDVD
6th July 2005, 19:09
Hi folks,

I'm sorry to open up yet another "I got worst source to repair"-thread, but I tried everything. The source I try to repair is a private DVD out of city archives I got from a friend. It's from 1971 (USSR). Sadly it was converted in a bad way. From Film to VHS and then via analog capture to M2V. There's no way to get a proper copy of that film anymore. So I have to get the best out of this pile of... sorry :D

I hope you can help me.

Firstly, I cannot see what kind of interlacing the source got.

Secondly, there's a big problem with heavy grain and scratches/film lines. I cant remove anything of it strangely. More crap than film content??? :D

Did only PP before so I'm a total noob in the interlacing sector and fizick's Descratch doesn't work on this film (tried many parameters, no change in the film)

The rest (PP) won't be a problem for me I think so i just need some restoration advices.

Samples:

Interlacing-doesn't-work-Sample (http://mitglied.lycos.de/tdeepblue/Test2.M2V)

InFilmSample (mitglied.lycos.de/tdeepblue/Test.M2V)


Thanks for your help!

MOmonster
6th July 2005, 21:50
The source is telecided, both clips are absolut progressive if you use seperatefields. The test.m2v shows some blended fields. If you can live with it just use telecide(post=2) or better tivct. If not, try restore24 or my new cdeint function. Sorry, but the quality problems because of vhs arenīt my world. I think removegrain and removedirt are fast and good filters for such sources.

DeepDVD
7th July 2005, 04:38
Thanks for the advices. I knew Restore24 before but I thought it was a function for more complicated and difficult sources. Tried it and got progressive output finally.
The first problem is gone...

Now I have to fight against grain with a square of 4 pixels per grain (Dust almost doesn't recognize them), scratches, spots, lines ... It seems like I won't be able to terminate them completely but I think I can get a better picture at least.
I hope fizick will see my thread and give me some advitation.
I'm not the only one who have problems using his filters. The parameters confuse me somehow.

MOmonster
7th July 2005, 07:07
If you can live with the blends, restore24 is to complex to use it. You can also just use tivct on your source.
I canīt tell you much about the internal parameters of the denoiser.

DeepDVD
7th July 2005, 21:22
What's tivct? I searched that keyword and didn't even find something useful in yahoo ^^

In this forum i found nothing as well.

unskinnyboy
7th July 2005, 21:47
What's tivct? I searched that keyword and didn't even find something useful in yahoo ^^

In this forum i found nothing as well.
It's TIVTC (http://www.missouri.edu/~kes25c/TIVTCv0993.zip).

MOmonster
7th July 2005, 21:50
Itīs very similar to decomb, but works better in some cases. The thread, where you can find this function is called: "Another motion adaptive deinterlacer and smart bobber". You find this filter also on the avisynth filter site. Just try it out.
What a mistake, scharfis_brain remind me some time ago on another mistake. I should go to bed. Yes, itīs called Tivtc.

DeepDVD
27th July 2005, 18:10
I added TIVTC to my script. The result looked OK. Wanted to encode the result when I recognized that the length was smaller than before. The real length was 27:49:12 minutes. After TIVTCing it was just 22 minutes with AssumeFPS(25), without it and by using 23.9 FPS in encoding, it grew just up to 23 minutes.
In the statistics of MediaPlayerClassic it showed me 20 FPS. Very strange figure and i don't trust it to be honest.

What's the best way to get back 25 FPS or at least 23.9?

MOmonster
27th July 2005, 19:06
Did you use only tfm or also tdecimate. Only tfm should output the same framerate and length as your input. Did you use tdecimate with a wrong cycle?
Your source has too much motion (to less static scenes and too much blends), so tdeint should give pretty much the same output, if not better. If you can live with the blends use tdeint(mode=0, type=3). This should be just ok, but I would just try Crestore function to avoid the most blends. Load the package from the thread, import the avs and use this script:

crop(16,32,-16,-32)
ord = last.getparity() ? 1 : 0

a = last.tdeint(mode=1, type=3, cthresh=7, MI=64, mthreshL=8 ,mthreshC=8)
b = last.leakkernelbob(order=ord, sharp=false, twoway=true, threshold=4).BilinearResize(360,240)

Crestore(bob=a, bclip=b, bthresh=66)

decimate(cycle=25, quality=0, mode=0)

This function outputs 24 fps. For 25 fps just speed up the clip with assumefps(25), but think of the audio (has to be resampled in this case)
Just try it out :rolleyes:

DeepDVD
27th July 2005, 20:29
a = last.tdeint(mode=1, type=3, cthresh=7, MI=64, mthreshL=8 ,mthreshC=8)


I get an error message that type 3 doesn't exist. I only can use type 0-2. Using type 2 generates combs on fast motion.

MOmonster
27th July 2005, 20:39
Did you use an older version of tdeint? Just update the plugin, that should work. Type 1 looks pretty much the same, but is a little bit slower.
Generate combs? You should lower the thresh values, if you see also with the other types combing.

DeepDVD
27th July 2005, 23:29
all types and all tresholds combing :(

And I got the current version of TDeint, downloaded the newest one from warpenterprises and got the same error with type 3.

MOmonster
28th July 2005, 06:37
If you just use tdeint(mode=0, type=1) on your source, I canīt see any combing left (type 3 works better, but the combing similar things left are artefacts).
Download the newest version of tdeint from the thread in this forum or from triticals filter page, I think warpenterprises, donīt has the newest beta. :sly:

Edit: If you have an older version, maybe you should set tryweave=false (in older versions true was the default).
For your uplouded clip this works, if you see combing problems in other scenes (not in the uplouded), just uploud another small scene.
For the test2.m2v I prefer tryweave=true, but in general for motion scenes, donīt use it.

DeepDVD
28th July 2005, 21:16
OK.
I updated my "newest" TDeint with 1.0B3 from the forum. Same problems. As you mentioned before there are parts which are OK, then in faster motion scenes there are combs and blocking. The "tryweave=true/false"-thingy doesn't work on the general clip which makes the situation more complicated.

My code:
a = last.tdeint(mode=0, type=1, cthresh=4, MI=64, mthreshL=5 ,mthreshC=5,tryweave=false)
b = last.leakkernelbob(order=ord, sharp=false, twoway=true, threshold=4).BilinearResize(360,240)
#
Crestore(bob=a, bclip=b, bthresh=66)
#
decimate(cycle=25, quality=0, mode=0)
BlindDeHalo3(1.8,1.8,180,sharpness=1.0)
#SmoothD(31,8)
DeSpot(p1=30, p2=15, pwidth=720, pheight=576, mthres=30, motpn=true, dilate=1, seg=1)
#crop(16,6,-16,-6)
LimitedSharpen(ss_x=1.7,ss_y=1.42,strength=150,smode=3,exborder=8)
ConvertToYUY2().PixieDust(10).ConvertToYV12()
DeScratch(mindif=255,minlen=10,maxangle=0)
removegrain(1)

I don't wanna annoy you any further with such details and it's gonna grow up to huge work more and more. More work than I wanna invest into it.
I think I can live with the blends so i keep using TIVTC.

MOmonster
28th July 2005, 21:39
If you only use tdeint(mode=0, type=3) without my function and without the other filters? Is the combing still there? If you use it only with your filters and tdeint without my function, is there still the combing. You have complex functions like blinddehalo or limitedsharpen in your script. Maybe under some special conditions they donīt work together, thatīs why you get combs. If you only use my function, without the other two, how it looks now? Maybe it could be also a yv12 problem, convert the tdeint stream (only this) to yuv2 and see what happens.
If this doesnīt help, I donīt know what to do anymore. :angry: If tfm works best for you, just use it.

DeepDVD
28th July 2005, 22:25
I disabled all other filters and function after your function. The blocking errors came by using DeSpot/Descratch. All other filters didnt affect anything of the deinterlacing-method.

Tried to use only the TDeint-Filter without your function. Same combing problems.

tdeint(mode=0, type=1, cthresh=7, MI=64, mthreshL=8 ,mthreshC=8)

btw. even TDeint ver. 1.0B3 doesn't know a Type 3.I get the same error like i did with older versions.


http://img25.imageshack.us/img25/2205/example19vw.th.png (http://img25.imageshack.us/my.php?image=example19vw.png)

http://img25.imageshack.us/img25/4523/example28ai.th.png (http://img25.imageshack.us/my.php?image=example28ai.png)

MOmonster
29th July 2005, 05:48
I canīt understand this. Still no type 3 and the untouched combing? There is something strange with your avisynth. What version do you use, if not 2.55, try it with this version. How work other deinterlacer for you, like leakkernelbob(thereshold=2,order=?) or tomsmocomb. If only tfm works for you, the last possibility I see is to feed my function with doubletfm (a function that use tfm to bob the source similar to doubletelecide or kernelbob). Else just keep it like it is with tfm (decimating should be not necessary).

joshbm
29th July 2005, 21:07
add tryweave=false to TDeint.

I think that's what I did before I upgraded.

Regards,
joshbm

DeepDVD
3rd August 2005, 03:08
OK. Installed AviSynth 2.55 and tried it. Same problem... but tryweave_false worked then. Now I use the function of MOMonster again...
But I need 25 FPS... the sound is veeery old and problematically... dont wanna risk to get even worse sound after framerateconversion.
Is there a better way to get more frames than using blends? The function I use uses interpolated frames, doesn't it?

Mug Funky
3rd August 2005, 06:40
sound will be worse anyway if you transcode lossy to lossy.

however, ac3 exhibits the most problems over about 10k (i forget the exact number), and old film will have no signal over this limit.

this means you can get away with transcoding lossy to lossy on crappy old sound because any extra artefacts aren't going to be noticed over the noise anyway.

speeding-up will not hurt as much as transcoding... so go for it :) if you want you can also remove noise in a decent sound app. but don't go nuts...

MOmonster
3rd August 2005, 08:08
Mug Funky allready said it.
To use a interpolation algo for example mvinterpolate, would be still less fluency and the interpolated frames looks blocky and so on.
Working on your sound is the best you can do. :)