View Full Version : Having trouble correcting bad FILM -> NTSC -> PAL conversion
mj0012
2nd June 2004, 03:24
I've been working to clean up a Danish DVD of the Mark Dacascos film "Sabotage" and haven't come up with anything successful yet. The DVD is a FILM->NTSC->PAL transfer and unfortunately I haven't been able to figure out any discernable pattern. Restore24 would seem to be the perfect solution, but whenever I use it the motion seems choppy and it looks like it's frequently choosing the wrong frames. I've posted a VOB sample if anyone wants to have a crack at it:
http://briefcase.wt.net/bc/b/o/boruvka/public/sabotage.vob
Thanks in advance and any help would be greatly appreciated.
--Marcus
scharfis_brain
2nd June 2004, 06:30
only DLed the 1st Meg of that File.
It seem to be a very typical FILM -> NTSC -> PAL pattern
did you apply assumetff() after loading the D2V?
mj0012
3rd June 2004, 02:38
>> did you apply assumetff() after loading the D2V?
Yes, I did. Here is the script that I used:
setmemorymax(256)
import("c:\progra~1\avisynth 2.5\plugins\restore24.avs")
import("c:\progra~1\avisynth 2.5\plugins\bobmatcher.avs")
import("c:\progra~1\avisynth 2.5\plugins\tomsbob.avs")
LoadPlugin("c:\progra~1\avisynth 2.5\plugins\masktools.dll")
LoadPlugin("c:\progra~1\avisynth 2.5\plugins\avisynth_c.dll")
LoadCPlugin("c:\progra~1\avisynth 2.5\plugins\smartdecimate.dll")
LoadPlugin("c:\progra~1\avisynth 2.5\plugins\tomsmocomp.dll")
LoadPlugin("c:\progra~1\avisynth 2.5\plugins\kerneldeint140.dll")
LoadPlugin("c:\progra~1\avisynth 2.5\plugins\mpeg2dec.dll")
LoadPlugin("c:\progra~1\avisynth 2.5\plugins\mpeg2dec3.dll")
Mpeg2Source("g:\mdfilms\sabotage\sabotage.d2v",cpu=4,iPP=true)
AssumeTFF()
Restore24(tomsbobsoft(last),bobmatcher(last))
The result isn't horrible, it's just not nearly as smooth as I would like. Maybe I am just expecting too much from Restore24. :(
scharfis_brain
3rd June 2004, 09:47
uhhhh....
go to the thread 'restore24 revisited' and get that package.
the scripts you are using are outdated.
forget to mention, that you have to convert to yuy2
after assumetff() :
converttoyuy2(interlaced=true)
Didée
3rd June 2004, 10:05
mj0012:
What is the exact problem? Is it that the overall impression of motion is not smooth enough, or is it occasional jerks/stutters every once in a while?
Regarding "overall smoothness" - it's normal that it doesn't look perfectly smooth. It tends to look a little like if the source was shot with a (too) fast shutter speed. One could employ some motion-compensated motion blur, but that brings other problems to daylight ...
Regarding occasional stutters: that may happen, yes. Alas. The issue is under inspection, and will get better, soon. For the time being, you'll probably get the smoothest motion with
a = R24KernelBob(1)
b = KernelBob(4...7)
Restore24(a,b)
Remark:
The nominal problem is to remove the blends. But, the *real* problem are not the blends - my method has a lazy time while reckognizing & removing them, with a success rate of ~99.9% as long as there *is* something moving.
The *real* problem is the decimation! We have only general-purpose decimation tools available, none of which are specialized for this task. (And such unsynchronous decimation can't be done by the script itself, that's not possible.)
I'm actually drilling SmartDecimate to make less errors. It is learning.
(Scharfi: "On the screen, Mr. Worf!" ;) )
Maybe I am just expecting too much from Restore24.
You are heartly invited to come up with a better solution! :)
Currently, Restore24 is just the best available alternative.
- Didée
mj0012
3rd June 2004, 14:29
scharfis_brain,
Thank you, I hadn't realized that you had put together a new version of Restore24. The new version handles this video much, much better. I guess I didn't search the forum hard enough before posting my question ;)
didée,
Thank you for your input as well. The problem I was having was that many blended frames remained in the video after Restore24, but as scharfis_brain pointed out I was using an old script. It works much better now :) Also, I appologize, I did not mean to insult your work when I suggested that I might be expecting too much from Restore24. I was just afraid that I was getting my hopes too high about the video quality. But, in fact, it was my fault all along. I appreciate all of the hard work that you and scharfis_brain have put into this program and keep up the good work.
--Marcus
Didée
3rd June 2004, 15:44
Well, I didn't feel insulted at all ;)
But since the script isn't perfect (yet), that statement remains:
Everybody is invited to invent a better & faster solution. ( :D )
Additional remark:
I quickly tested the clip you posted. It comes out nicely with any deinterlacer, but not with IntelliBob() as renderer: in that case, I got two or three instances of backward motion flashing up, each for two frames or so. That's a pity, since IntelliBob() gives pretty much the best ovderall picture quality.
@ Scharfi:
tritical has a new version of TCombMask() out for some days now. Any chances to get IntelliBob() benefit from it? (I could try, but I fear I would make everything wrong again...)
- Didée
scharfis_brain
3rd June 2004, 23:33
@dideé
1) I don't have got the time to play with that jet.
(the germans and their bureaucracy :( [dict.leo.org tells : "red tape" <- is that correct ?!?] )
2) my Athlon-System seems to be broken after moving. I need to get it working before I can do some scripting :(
so please be patient, the new versions of any plugins are getting included asap!
If you want to, you can try it yourself.
It shouldn't be that hard, replacing the old tcombmask with a new one.
the only (maybe) difficult thing would be, to find 'optimal' thresholds and paramters for it, setting them as preset and wrapping them to the function call.
I also tend to re-introduce sangnom interpolation, but that will need much testing. before doing so...
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.