Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
1st November 2010, 10:21 | #1 | Link |
Registered User
Join Date: Mar 2010
Posts: 115
|
IVTC PAL? (probably NTSC2PAL)
Hi. I have a PAL DVD which is very poor quality and when I make XVID I get very bad result. Here is the image (example how it looks when scenes changes)
<<edited>> The DVD is also interlaced. So is it possible to deinterlace and fix those frames at a same time ripping with GKnot? What scripts/command lines should I use on .avs to fix that? <<edited>> Last edited by rhaz; 2nd November 2010 at 16:27. |
1st November 2010, 11:17 | #2 | Link |
23sKiDdOo!
Join Date: May 2010
Location: Germany
Posts: 182
|
From the first view i would say, it is Blended Material - really difficult/impossible to clean up correctly. I had given you a chance, if it was anime-material, but with real moving pictures you have nearly no possibility to process this material to its original properties.
You can -nevertheless- deinterlace the material with a more or less good deinterlacer. If you don't care about "super-quality" you can try: -Yadif(mod) ->Ultra-Fast -TDeint -> Good Quality/Performance -(Q)TGMC -> Best Quality, slowest performance You CANNOT IVTC this material...it is PAL. |
2nd November 2010, 08:43 | #4 | Link |
Moderator
Join Date: Oct 2001
Location: Hawaii
Posts: 7,406
|
That's a pretty crummy source, from a VHS tape I would guess. And from an NTSC source that was field-blended to get to PAL. You'll have to edit the script GKnot makes to add in different filters:
Yadif(Mode=1)#or the bobber of your choice SRestore() Your sample wasn't all that good - dark and not much of the right kind of movement, but that script gets rid of most of the blending. Of course, the video has other kinds of problems also. http://avisynth.org/mediawiki/Srestore |
2nd November 2010, 11:36 | #5 | Link |
Registered User
Join Date: Mar 2010
Posts: 115
|
manono I tried this and I got no changes.
Script: LoadPlugin("C:\Program Files\GordianKnot\DGMPGDec\DGDecode.dll") LoadPlugin("C:\Program Files\GordianKnot\AviSynthPlugins\UnDot.dll") LoadCPlugin("C:\Program Files\GordianKnot\AviSynthPlugins\Yadif.dll") LoadPlugin("C:\Program Files\GordianKnot\AviSynthPlugins\mt_masktools-25.dll") Import("C:\Program Files\GordianKnot\AviSynthPlugins\Srestore.avsi") mpeg2source("path.d2v") Yadif(Mode=1)#or the bobber of your choice SRestore() crop(14,4,684,568) LanczosResize(608,464) Undot() |
2nd November 2010, 12:04 | #6 | Link |
Moderator
Join Date: Oct 2001
Location: Hawaii
Posts: 7,406
|
What does that mean, no changes? With the small sample it removed the majority of the blends, although there were still a lot left. And it put it back at 23.976fps which is a significant change, I think.
Also, to even make SRestore work you need several more plugins, although maybe they're autoloading for you. Your script opens OK in VDub(Mod)? It doesn't usually do anything at the scene changes, which you mentioned at the beginning. I either go through the video and FreezeFrame them to duplicate a good frame before or after, or just leave them alone if I don't feel like doing all that work. Didee came up with a script to clean up the scene changes, but it's pretty slow and I've never tried it: Code:
# Plugins #from Didee Import("...\Srestore.avs") Loadplugin("...\nnedi2\nnedi2.dll") Loadplugin("...\masktools-v2.0a44\mt_masktools-25.dll") Loadplugin("...\RemoveGrain-0.9\RemoveGrainSSE3.dll") Loadplugin("...\RemoveDirt\RemoveDirtSSE2.dll") # Source MPEG2source("VTS_01_1.d2v") # Insane code nedibob = nnedi2(field=-2) prev = nedibob.selectevery(1,-1) next = nedibob.selectevery(1,1) max = nedibob.mt_logic(prev,"max",U=3,V=3).mt_logic(next ,"max",U=3,V=3) min = nedibob.mt_logic(prev,"min",U=3,V=3).mt_logic(next ,"min",U=3,V=3) calm = nedibob.merge(nedibob.clense(reduceflicker=false), 0.5) resharp = mt_clamp(calm.sharpen(1),max,min,0,0,U=3,V=3) restore = calm.srestore(frate=25) # or nedibob.srestore(frate=25), or resharp.SRestore(frate=25) # freeze before+after scenechange. Needs v0.9 of RemoveDirt.dll prev = restore.selectevery(1,-1) next = restore.selectevery(1,1) SCclean = restore.SCSelect(next,prev,restore,dfactor=2.0) # 2.0 ~ 5.0 return(SCclean) # return(restore) for NO scenechange cleanup |
2nd November 2010, 15:31 | #7 | Link |
Registered User
Join Date: Mar 2010
Posts: 115
|
Code:
LoadPlugin("C:\Program Files\GordianKnot\DGMPGDec\DGDecode.dll") LoadPlugin("C:\Program Files\GordianKnot\AviSynthPlugins\UnDot.dll") LoadPlugin("C:\Program Files\GordianKnot\AviSynthPlugins\nnedi2.dll") LoadPlugin("C:\Program Files\GordianKnot\AviSynthPlugins\RemoveGrainSSE3.dll") LoadPlugin("C:\Program Files\GordianKnot\AviSynthPlugins\RemoveDirtSSE2.dll") LoadPlugin("C:\Program Files\GordianKnot\AviSynthPlugins\mt_masktools-25.dll") Import("C:\Program Files\GordianKnot\AviSynthPlugins\Srestore.avsi") mpeg2source("path.d2v") crop(14,4,684,568) LanczosResize(608,464) Undot() # Insane code nedibob = nnedi2(field=-2) prev = nedibob.selectevery(1,-1) next = nedibob.selectevery(1,1) max = nedibob.mt_logic(prev,"max",U=3,V=3).mt_logic(next ,"max",U=3,V=3) min = nedibob.mt_logic(prev,"min",U=3,V=3).mt_logic(next ,"min",U=3,V=3) calm = nedibob.merge(nedibob.clense(reduceflicker=false), 0.5) resharp = mt_clamp(calm.sharpen(1),max,min,0,0,U=3,V=3) restore = calm.srestore(frate=25) # or nedibob.srestore(frate=25), or resharp.SRestore(frate=25) # freeze before+after scenechange. Needs v0.9 of RemoveDirt.dll prev = restore.selectevery(1,-1) next = restore.selectevery(1,1) SCclean = restore.SCSelect(next,prev,restore,dfactor=2.0) # 2.0 ~ 5.0 return(SCclean) # return(restore) for NO scenechange cleanup <<edited>> Last edited by rhaz; 2nd November 2010 at 16:28. |
2nd November 2010, 16:07 | #8 | Link |
Moderator
Join Date: Oct 2001
Location: Hawaii
Posts: 7,406
|
There are too many blends in your movie to get it unblended properly. The sample only had one scene change, but at that change there were 3 blended fields in a row. That makes it impossible to get a clean scene change. Blame your lousy source.
|
2nd November 2010, 16:15 | #9 | Link |
Registered User
Join Date: Mar 2010
Posts: 115
|
Well it means bye bye to this one DVD disc :/ okay one more <<edited>> (other DVD) and what script would you suggest for that one? Or is it same as previous DVD?
Damn, I just realized that all my DVDs are crap. And all retail! Last edited by rhaz; 4th November 2010 at 13:14. |
2nd November 2010, 19:13 | #10 | Link |
Moderator
Join Date: Oct 2001
Location: Hawaii
Posts: 7,406
|
The second one needs an IVTC. It can't be the same as the first sample as that one was from a PAL DVD and the second one's from an NTSC DVD.
If you're going to post more samples, please try and choose pieces that have steady movement. Both so far have been pretty movement free. |
2nd November 2010, 20:18 | #11 | Link |
Registered User
Join Date: Mar 2010
Posts: 115
|
Okay I uploaded another <<edited>> of previous NTSC release with more movement. With some people running and racing cars. So that one needs only IVTC i.e. to select on GK invert telecine option? That's it? But the source is also interlaced so what plugin you would recommend?
Last edited by rhaz; 4th November 2010 at 13:13. |
3rd November 2010, 01:55 | #12 | Link |
Moderator
Join Date: Oct 2001
Location: Hawaii
Posts: 7,406
|
That's a much better sample. Your source is really lousy, a direct port from a VHS tape to DVD. The duplicate fields are really supposed to be exact duplicates here, but aren't. In any event, you make the D2V Project File with the field operation set for Honor Pulldown Flags. Then ticking the Inverse Telecine box in GKnot should work for that one.
|
3rd November 2010, 10:51 | #13 | Link | |
Registered User
Join Date: Apr 2002
Location: Germany
Posts: 5,389
|
Quote:
Anyhoo, this need clarification. The code for cleaning scenechanges is only the few lines in the last part of the script. It is also very fast. And also, it is not by me ... that is, literally, the basic usage example for kassandro's SCSelect() filter. The upper/bigger part of the script is not needed for scenechange cleaning. That one is (kind of) a mini-TGMC, without mo'comp or any other fancy stuff. It's a way of killing bob shimmer, specifically tailored for fieldblended sources. (i.e., better don't use that code on not-fieldblended interlaced sources...)
__________________
- We´re at the beginning of the end of mankind´s childhood - My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!) |
|
3rd November 2010, 15:11 | #14 | Link | |
Moderator
Join Date: Oct 2001
Location: Hawaii
Posts: 7,406
|
Maybe instead of saying 'slow' I should have said 'slower'. Slower than what, you might ask? Slower than Yadif(Mode=1).SRestore(). Why? Because it uses Nnedi2.
Quote:
|
|
Tags |
pal ivtc frames ntsc2pal |
Thread Tools | Search this Thread |
Display Modes | |
|
|