Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forum DivX Video Ripp-it After Me Ri4m _ Filtres avisynth.... _ Anti-aliasing - Script d'importation AviSynth

Écrit par : shudji 07/07/2007 22:23

Anti-aliasing - Script d'importation AviSynth


===> Le script " Antialiasing " :

function antialiasing( clip orig, int "th_luma", int "th_croma", string "type", int "order", int "aath", bool "HQedge")
{

# "th_luma" et "th_croma" affecte directement the edge detection: plus grandes valeurs = plus de edges filtrés
# mettre "order = 0" pour Top Field First; order = 1 --> Bottom Field First. cette information est disonible lors de la création de votre fichier.d2v
# aath = la puissance de l'anti-aliasing (la valeur par default sera certainement bonne, cependant tout depends une fois encore de votre source video ainsi que de vos previews)

#Valeurs par default soit Antialiasing() est egale à Antialiasing(20, 20, sobel, 1, 48, false)
th_luma = Default(th_luma, 20)
th_croma = Default(th_croma, 20)
type = Default(type, "sobel")
order = Default(order, 1)
aath = Default(aath, 48)
HQedge = Default(HQedge, false)
ox = orig.width
oy = orig.height
dx = orig.width * 2
dy = orig.height * 2

orig.convertToYV12()
a=last
b=lanczos4Resize(dx, dy).TurnLeft().SangNom(order,aath).TurnRight().SangNom(order,aath)

# native chroma edges:
#c=b.lanczosresize(ox,oy).EdgeMask(0, th_luma, 0, th_croma, type,Y=3,U=3,V=3)

# use luma edges for chroma:
c=b.lanczosresize(ox,oy).EdgeMask(0, th_luma, 0, th_croma, type,Y=3,U=1,V=1).FitY2UV()

d= logic( b.DEdgeMask(0,255,0,255,"5 10 5 0 0 0 -5 -10 -5", divisor=4,Y=3,U=1,V=1)
\ ,b.DEdgeMask(0,255,0,255,"5 0 -5 10 0 -10 5 0 -5", divisor=4,Y=3,U=1,V=1)
\ ,"max").greyscale.levels(0,0.8,128,0,255,false).FitY2UV().lanczosresize(ox,oy)
b=b.lanczosresize(ox,oy)

HQedge ? MaskedMerge(a,b,d,Y=3,U=3,V=3) : MaskedMerge(a,b,c,Y=3,U=3,V=3)
}



===> Fonctions:
Script d'importation qui applique un fort AAFiltre* (~anti-aliasing filtre), provenant du Filtre Avs "SangNom.dll" <==[Lien vers son post], juste la ou c'est necessaire sans produire les artefacts typiques de ce filtre.

===> Requiert:
Plugins:
http://forum.ripp-it.com/redirect.php?url=http%3A%2F%2Favisynth.org%2Fwarpenterprises%2Ffiles%2Fmasktools_25_dll_20060606.zip
http://forum.ripp-it.com/redirect.php?url=http%3A%2F%2Favisynth.org%2Fwarpenterprises%2Ffiles%2Fsangnom_25_dll_20040118.zip
et biensur l'importation du script AA Anti-aliasing


===> Examples:
Voici une rapide comparaison des differentes méthodes en images:


Example pour votre ligne de commande:
#parametres par default
Antialiasing() #tres bon resultat, peu varié suivant la video source
#ou encore
Antialiasing(th_luma=¤¤, th_croma=¤¤, type=Sobel, order¤¤, aath¤¤, HQedge=True)
# Les valeurs indiquaient par "¤¤" sont des information qui ne sont pas encore disponible, cela implique donc d'y mettre une valeurs le plus souvent comprise en 1 et 100, ou encore 1 et 250 suivant le filtre impliqué. A vous pour le moment de faire votre choix selon vos previews.
#HQedge=True est une commande qui devrait donner de bon resultat, a tester selon la source video.


Je vous invites a partager vos impressions, informations, conclusions, bref tout ces trucs en ions qui pourrais s'averer interessant pour les autres et l'utilisation de nos chers amis francophones qui visiteront ce Topic.

Updated: 07/07/07 - Correction faute de frappes.
Updated: 16/07/07 - Correction faute de frappes et explications inclu dans le script d'Antialiasing.

Écrit par : leon1789 07/07/2007 22:35

J'imagine que le double.limitedsharpen() coûte un temps monstrueux ... non ?

Écrit par : micjul 07/07/2007 23:21

A n'en pas douter Léon yahoo.gif ..

bravo shudji ..

Écrit par : YannBresil 08/07/2007 00:50

épinglé

Écrit par : shudji 08/07/2007 02:52

oui tres certainement pas loin de 8 heures pour la deuxieme passe.
je pense que la commande doit ressembler a ca:

ConvertToYV12(true) #presque obligatoire pour limitedsharpen
antialiasing()
LimitedSharpen(ss_x=1.5,ss_y=1.5,Smode=3,strength=40,overshoot=3,exborder=1)
LanczosResize(704,528) #ou autre, a vous de faire votre choix, enfin ya pas photo lanczos reste le meilleur.
LimitedSharpen(ss_x=1.5,ss_y=1.5,Smode=3,strength=40,overshoot=3,exborder=1)
#avec quelques parametres differents suivant que ce soit le premier ou le second limitedsharpen.


ou encore en indiquant le sens du premier puis du deuxieme:
ConvertToYV12(true) #obligatoire pour limitedsharpen
antialiasing()
TurnLeft(LimitedSharpen(ss_x=1.5,ss_y=1.5,Smode=3,strength=40,overshoot=3,exborder=1))
LanczosResize(704,528)
TurnRight(LimitedSharpen(ss_x=1.5,ss_y=1.5,Smode=3,strength=40,overshoot=3,exborder=1)

#Commandes totalement erronées ou peut-etre causés par un "LoadPlugin" manquant, je ne dispose pas plus d'information pour le moment

Mais ca reste à tester pour confirmer, mon englais est loin d'etre parfait.
Les precisions sont disponible http://forum.ripp-it.com/redirect.php?url=http%3A%2F%2Fforum.doom9.org%2Fshowthread.php%3Ft%3D83396

et une 3eme commande qui elle est plus que certaine mais applique les valeurs par default, ou bien en utilisant deux fois les memes valeurs pour l'execution du dble.limitedsharpen:
#Voici la commande toute simple
ConvertToYV12(true)
antialiasing()
LanczosResize(704,528)
dbleS
# sont equivalent = dble.
LimitedSharpen(ss_x=2.0,ss_y=1.0,Smode=3,strength=200,Lmode=2,overshoot=1)

#Commandes totalement erronées ou peut-etre causés par un "LoadPlugin" manquant, je ne dispose pas plus d'information pour le moment
Voilà ce que j'ai deduit de la page forum de Doom9, qu'est-ce que vous en pensez?

Update: 16/07/07_ Erreur les lignes de commandes barrées sont inutilisables

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)