digitalFAQ.com Forums [Archives]

digitalFAQ.com Forums [Archives] (http://www.digitalfaq.com/archives/)
-   Avisynth Scripting (http://www.digitalfaq.com/archives/avisynth/)
-   -   Avisynth: Slight mods to Optimal Script? (http://www.digitalfaq.com/archives/avisynth/4084-avisynth-slight-mods.html)

Grantman 06-19-2003 02:33 PM

Slight mods to Optimal Script?
 
Here is a slight mod to the Optimal Script I have been testing:

LoadPlugin("C:\KVCD\Versions\AviSynth 2.5\plugins\MPEG2Dec3.dll")
LoadPlugin("C:\KVCD\Versions\AviSynth 2.5\plugins\decomb.dll")
LoadPlugin("C:\KVCD\Versions\AviSynth 2.5\plugins\GripFit_YV12.dll")
LoadPlugin("C:\KVCD\Versions\AviSynth 2.5\plugins\STMedianFilter.dll")
LoadPlugin("C:\KVCD\Versions\AviSynth 2.5\plugins\asharp.dll")
LoadPlugin("C:\KVCD\Versions\AviSynth 2.5\plugins\undot.dll")
LoadPlugin("C:\KVCD\LoadPluginEx\LoadPluginEx.dll" )
LoadPlugin("C:\KVCD\LoadPluginEx\DustV5.dll")
LoadPlugin("C:\KVCD\LoadPluginEx\Dup.dll")

MaxTreshold = 1.50
scd_trigger = 30 # Scene change trigger value.
nf = 0 # Current frame.

Mpeg2Source("J:\DVArchive\Export\The Simpsons - Homer the Heretic.d2v")

Limiter()
FieldDeinterlace()
undot()
asharp(2, 4)

GripCrop(480, 480, source_anamorphic=false)
GripSize(resizer="BicubicResize")

STMedianFilter(8, 32, 0, 0 )
MergeChroma(blur(MaxTreshold))
MergeLuma(blur(0.2))

ScriptClip("nf = YDifferenceToNext()"+chr(13)+ "nf > 2.5 ? asharp( -(fmin((nf/30), 1)), 0 ) : \
TemporalSoften(2,7,7,3,2) ")

ScriptClip("nf > scd_trigger ? asharp( -2,0) : asharp(0,0) ")

GripBorders()
Limiter()

function fmin(float f1, float f2) {
return (f1<f2) ? f1 : f2
}

ConvertToYuY2
SpaceDust()
Dup()

Is there a better alternative? I am trying to encode animation from broadcast TV. The current optimal script produces visable artifacts in white that have black next to it. (i.e. Homer Simpson's eyes).

I had a great script that worked with Avisynth 2.08 but my master plan it to have ONE script with a couple of lines that can be turned on or off. The idea would be to have the majority of the script work for everything.

That is why I am starting from the Optimal Script. Using that premise are there any ideas on what filter or two could be added to get better compression and better sharpness?

I was using

BlockBuster(method="noise", detail_max=7, variance=0.5, seed=1)

along with Cnr2 and PixieDust. PixieDust takes too long so I am OK with SpaceDust.

I am using the LoadPluginEx so I don't mind using 2.0x filters but I want to minimize the conversion of the clip between ConvertToYuY2 and ConvertToYV12. According to what I read at the Avisynth site you can bascially convert 2-3 times and then there will be quality loss that is visable.

Knowing YV12 will be fastest I would like to use that to my advantage.

So... I am struggling with filter placement, filter selection and keeping as close to the Optimal Script as possible. (It works great for DVD source).


Grantman

kwag 06-19-2003 02:42 PM

Hi Grantman,

If the cartoons are 29.97fps, try the current script but change the GOP size to 18.
If the cartoons were originally made as FILM, then you should add Telecide() and Decimate(), encode at 23.976fps and change the GOP size to 12.

-kwag

Grantman 06-19-2003 05:20 PM

Originally FILM?
 
How can you tell for sure if something was originally film?

I did open it up in VirtualDub and check each frame. In a different post I displayed the pattern.

http://www.kvcd.net/forum/viewtopic....140&highlight=

Basically it was mainly progressive frames with an occational interlaced frame. Sometimes there would be 20 progressive frames in a row.

This was captured by ReplayTV as supposedly Interlaced. It was from Analog Cable. It is The Simpsons, SpongeBob, Pokemon & Yu-Gi-Oh.

I have only dove into The Simpsons.

I did not know cartoons were in FILM unless they were at the theatre?

BTW... What effect on the picture can I expect by changing the GOP to 18. After testing I want to know EXACTLY what to look for.

Thanks Kwag...

Grantman

ovg64 06-19-2003 05:25 PM

Re: Slight mods to Optimal Script?
 
Hey man, you got the old replace Scriptclip the new line sould read like that; :wink:

Quote:

Quote:

Originally Posted by Grantman
Here is a slight mod to the Optimal Script I have been testing:

LoadPlugin("C:\KVCD\Versions\AviSynth 2.5\plugins\MPEG2Dec3.dll")
LoadPlugin("C:\KVCD\Versions\AviSynth 2.5\plugins\decomb.dll")
LoadPlugin("C:\KVCD\Versions\AviSynth 2.5\plugins\GripFit_YV12.dll")
LoadPlugin("C:\KVCD\Versions\AviSynth 2.5\plugins\STMedianFilter.dll")
LoadPlugin("C:\KVCD\Versions\AviSynth 2.5\plugins\asharp.dll")
LoadPlugin("C:\KVCD\Versions\AviSynth 2.5\plugins\undot.dll")
LoadPlugin("C:\KVCD\LoadPluginEx\LoadPluginEx.dll" )
LoadPlugin("C:\KVCD\LoadPluginEx\DustV5.dll")
LoadPlugin("C:\KVCD\LoadPluginEx\Dup.dll")

MaxTreshold = 1.50
scd_trigger = 30 # Scene change trigger value.
nf = 0 # Current frame.

Mpeg2Source("J:\DVArchive\Export\The Simpsons - Homer the Heretic.d2v")

Limiter()
FieldDeinterlace()
undot()
asharp(2, 4)

GripCrop(480, 480, source_anamorphic=false)
GripSize(resizer="BicubicResize")

STMedianFilter(8, 32, 0, 0 )
MergeChroma(blur(MaxTreshold))
MergeLuma(blur(0.2))

ScriptClip("nf = YDifferenceToNext()"+chr(13)+ "nf > 2.5 ? asharp( -(fmin((nf/30), 1)), 0 ) : \
TemporalSoften(2,7,7,3,2) ")

ScriptClip("nf > scd_trigger ? asharp( -2,0) : asharp(0,0) ")
conditionalfilter( last, asharp(-2,0), last, "nf", ">", "scd_trigger" )

GripBorders()
Limiter()

function fmin(float f1, float f2) {
return (f1<f2) ? f1 : f2
}




All times are GMT -5. The time now is 03:15 PM  —  vBulletin © Jelsoft Enterprises Ltd

Site design, images and content © 2002-2024 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2024 Jelsoft Enterprises Ltd.