Log in

View Full Version : DVD RB + CCE + AVS takes a very long time. (200+ hr)


Jedd
6th October 2004, 22:37
There have been a nasty DVD of mine which I used as a playground for Xvid encoding
http://forum.doom9.org/showthread.php?s=&threadid=45410
Now time have changed and I switched to the DVD area, but the movie is still there to play with.
It has been telecined from PAL to NTSC, so interlaced frames come in a very special order. To get rid of the dups after process of teleciding decimate(cycle=18).decimate(cycle=17).decimate(cycle=16) has to be invoked. Also the movie is a little dirty and has a black frame.
So, after installing DVD Rebuilder v0.63a and CCE SP 2.67.00.27 I've tied to make it into 3 steps and 2 passes with the avs file:


LoadPlugin("H:\Media\AviSynth 2.5\plugins\MPEG2Dec3dg.dll")
LoadPlugin("H:\Media\AviSynth 2.5\plugins\Decomb521.dll")
Loadplugin("H:\Media\AviSynth 2.5\plugins\RemoveDirt.dll")

before=Mpeg2Source("H:\NEWS\MESTO1\D2VAVS\V01.D2V",cpu=4,idct=7).sharpen(0.2)
trim(before, 0,194069)
Telecide(before,order=0)
decimate(before,cycle=18).decimate(cycle=17).decimate(cycle=16)
crop(before, 8,2,704,476, align=true)

firstpass=RemoveDirt(before)
cleaned=RemoveDirt(before, neighbour=firstpass)
return (cleaned)

ConvertToYUY2(interlaced=false)


And the result is awfully slow. 200 estimated hours to procees the first cell. :sly:
It seems that this pair:

return (cleaned)
ConvertToYUY2(interlaced=false)

make things ugly. ( ConvertToYUY2(cleaned,interlaced=false) gives the same result)

Apparently I'm doing something wrong here. But what? :confused:

The other question I have - is it okey soundtrack-wise to telecide from 30fps down to 25fps? (almost NTSC->PAL conversion, huh?)

wmansir
6th October 2004, 23:49
1. You can't change the framerate at all with DVD-RB. So the rest of this is really moot.


2. The colored code is not doing anything.

LoadPlugin("H:\Media\AviSynth 2.5\plugins\MPEG2Dec3dg.dll")
LoadPlugin("H:\Media\AviSynth 2.5\plugins\Decomb521.dll")
Loadplugin("H:\Media\AviSynth 2.5\plugins\RemoveDirt.dll")

before=Mpeg2Source("H:\NEWS\MESTO1\D2VAVS\V01.D2V",cpu=4,idct=7).sharpen(0.2)
trim(before, 0,194069)
Telecide(before,order=0)
decimate(before,cycle=18).decimate(cycle=17).decimate(cycle=16)
crop(before, 8,2,704,476, align=true)

firstpass=RemoveDirt(before)
cleaned=RemoveDirt(before, neighbour=firstpass)
return (cleaned)

ConvertToYUY2(interlaced=false)


Or more precisely, it's output is thrown away. The red code uses 'before' as the input, but doesn't place the output back into 'before'. You need to put 'before=' in front of every line that you want to change 'before'. Or you can just skip using the handle until you need it. AviSynth has a default handle 'last' which it uses as input and output of all lines that don't have one defined.

Also, the green line is never reached because once the script reaches the line "return (cleaned)" it aborts the script and outputs the result.

Here's what I think you were trying to do:

LoadPlugin("H:\Media\AviSynth 2.5\plugins\MPEG2Dec3dg.dll")
LoadPlugin("H:\Media\AviSynth 2.5\plugins\Decomb521.dll")
Loadplugin("H:\Media\AviSynth 2.5\plugins\RemoveDirt.dll")

Mpeg2Source("H:\NEWS\MESTO1\D2VAVS\V01.D2V",cpu=4,idct=7).sharpen(0.2)
trim(0,194069)
Telecide(order=0)
decimate(cycle=18).decimate(cycle=17).decimate(cycle=16)
before=crop(8,2,704,476, align=true)

firstpass=RemoveDirt(before)
RemoveDirt(before, neighbour=firstpass)
ConvertToYUY2(interlaced=false)

Jedd
7th October 2004, 02:24
Thanks a lot!
I'll give it a try.