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.

Domains: forum.doom9.org / forum.doom9.net / forum.doom9.se

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Usage
Register FAQ Today's Posts Search

Reply
 
Thread Tools Search this Thread
Old 6th April 2007, 20:19   #1  |  Link
DarkT
Registered User
 
Join Date: Dec 2006
Posts: 280
Please help me simplify this script:

Hi, I wrote the following script - and it took me quite a while, and it's all super messy, because I dunno how to simplify it in the "avisynth" language...



Function ZeroCool(Clip Clp,Int"X", Int"Y", Int"Z", Float"a", Float"b", Float"c", Int"s")
{
X = default(X,0)
Y = default(Y,0)
Z = default(Z,0)

#defining the hqdn values
a = (x==1) ? 1.2 : (x==2) ? 2.1 : (x==3) ? 3.2 : 0

#defining the deblock values
b = (z==1) ? 18 : (z==2) ? 23 : (z==3) ? 25 : 0
c = (z==1) ? 1 : (z==2) ? 1 : (z==3) ? 3 : 0

#s stands for "situation" - 8 possible situation can hapen with 3 filters, the below line tries to identify
#which situation we're in (which of the 3 filters did the user want to use)
s = (x!=0) && (x < 4) ?
\(y!=0) && (y < 2) ? (z!=0) && (z < 4) ? 111 : 11
\: (z!=0) && (z < 4) ? 101 : 1
\: (y!=0) && (y < 2) ? (z!=0) && (z < 4) ? 110 : 10
\: (z!=0) && (z < 4) ? 100 : 0

#Here the script will execute the line of code according to the situation we're in

(s==0) ? Clp :
\(s==1) ? Clp.hqdn3d(ls=a,cs=a,lt=a,ct=a) :
\(s==10) ? Clp.LimitedSharpenFaster(Smode=4) :
\(s==11) ? Clp.hqdn3d(ls=a,cs=a,lt=a,ct=a).LimitedSharpenFaster(Smode=4) :
\(s==100) ? Clp.deblock(quant=b,aoffset=3,boffset=4) :
\(s==101) ? Clp.hqdn3d(ls=a,cs=a,lt=a,ct=a).deblock(quant=b,aoffset=3,boffset=4) :
\(s==110) ? Clp.LimitedSharpenFaster(Smode=4).deblock(quant=b,aoffset=3,boffset=4) :
\(s==111) ? Clp.hqdn3d(ls=a,cs=a,lt=a,ct=a).LimitedSharpenFaster(Smode=4).deblock(quant=b,aoffset=c,boffset=c+1)
\ : Clp



Return(Last)
}



Edit:

This script is incomplete and has bogous values for the filters... The main idea is to create a certain function for new people which would have let's say 7-10 usefull filters, and each filter has 3 working levels, each "harder" then the other - then you merely need to specify what you want working (let's say sharpen=2, deblock=1) and it uses custom values.

It was fun fiddling with the idea, that's why I wrote it - btw, how will it afect the speeds? Will it slow down the encoding proccess? The fact that it's all in a function with all of the lines and all...

Edit2:

This is a side project of mine, I'd like to attempt also having a similiar script for the IVTC and pre-ivtc filtering, since not everybody wants to learn to do these things, to sort of help people automate it... And coz' it's fun .

Last edited by DarkT; 6th April 2007 at 20:29.
DarkT is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 20:14.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.