Quantcast Avisynth: Slight Mods to Optimal Script? - digitalFAQ.com Forums [Archives]
  #1  
06-19-2003, 02:33 PM
Grantman Grantman is offline
Free Member
 
Join Date: Sep 2002
Location: Northfield, IL
Posts: 102
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via ICQ to Grantman Send a message via AIM to Grantman Send a message via MSN to Grantman Send a message via Yahoo to 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) ")

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
Reply With Quote
Someday, 12:01 PM
admin's Avatar
Site Staff / Ad Manager
 
Join Date: Dec 2002
Posts: 42
Thanks: ∞
Thanked 42 Times in 42 Posts
  #2  
06-19-2003, 02:42 PM
kwag kwag is offline
Free Member
 
Join Date: Apr 2002
Location: Puerto Rico, USA
Posts: 13,537
Thanks: 0
Thanked 0 Times in 0 Posts
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
Reply With Quote
  #3  
06-19-2003, 05:20 PM
Grantman Grantman is offline
Free Member
 
Join Date: Sep 2002
Location: Northfield, IL
Posts: 102
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via ICQ to Grantman Send a message via AIM to Grantman Send a message via MSN to Grantman Send a message via Yahoo to Grantman
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
Reply With Quote
  #4  
06-19-2003, 05:25 PM
ovg64 ovg64 is offline
Free Member
 
Join Date: Jan 2003
Location: Puerto Rico
Posts: 423
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via MSN to ovg64
Hey man, you got the old replace Scriptclip the new line sould read like that;

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
}
Reply With Quote
Reply




Similar Threads
Thread Thread Starter Forum Replies Last Post
Avisynth: Optimal Script? Shibblet Avisynth Scripting 29 01-05-2005 04:57 AM
Avisynth: Mmx optimal script? SlowlyGoingInsane Avisynth Scripting 1 03-10-2004 05:11 AM
Avisynth: Difference between MA script and optimal script? mistermickster Avisynth Scripting 2 08-01-2003 09:36 AM
Avisynth: Next changes to optimal script. kwag Avisynth Scripting 21 06-27-2003 12:31 PM
Avisynth: New optimal script for AVS 2.52 Dialhot Avisynth Scripting 3 06-14-2003 12:17 PM

Thread Tools



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