Modérateurs: Modération Forum Home-Cinéma, Le Bureau de l’Association HCFR • Utilisateurs parcourant ce forum: Beejourcava, JiminyC, jtixi, michelB2, PITO59, Yeswecams et 26 invités

Tout ce qui concerne les logiciels lié au HC sur ordinateur (PC, Mac, Linux...)
Règles du forum
Avant de poster, merci de prendre connaissance des règles du forum : à lire avant de poster

Optimisation AviSynth

Message » 18 Mar 2014 21:23

Impecc ça Olivier ! Pourquoi n'y avons nous pas pensé avant?...
J'imagine cependant que les deux côtés sont upscalés si tu upscales via ffdshow?
Francois76l
 
Messages: 930
Inscription Forum: 19 Mai 2009 19:35
Localisation: Essonne
  • online

Message » 18 Mar 2014 21:31

Nickel !!

Envoyé de mon SM-N9005 en utilisant Tapatalk
Daigoro
 
Messages: 10873
Inscription Forum: 16 Mai 2003 22:57
Localisation: Le Havre
  • offline

Message » 18 Mar 2014 21:57

Francois76l a écrit:Impecc ça Olivier ! Pourquoi n'y avons nous pas pensé avant?...
J'imagine cependant que les deux côtés sont upscalés si tu upscales via ffdshow?


Les résolutions des 2 vidéos Avant / Après ne sont pas touchées pour pouvoir juger du vrai impact à l'image.
Pour ce faire, je les ai croppées donc aucun souci de ce côté là ;-)
Olivier C.
 
Messages: 2812
Inscription Forum: 19 Sep 2001 2:00
Localisation: Yutz (Nord-Est, France)
  • offline

Message » 18 Mar 2014 22:08

Tu croppes et tu appliques tes filtres sur un crop en laissant l'autre dans l'etat mais tu ne fais aucun upscale c'est bien ça ? On aurait pu imaginer que tu upscales sharp et downscale le crop en question sous ffdshow et que tu rassembles les deux partie à la fin.
Francois76l
 
Messages: 930
Inscription Forum: 19 Mai 2009 19:35
Localisation: Essonne
  • online

Message » 18 Mar 2014 22:17

Francois76l a écrit:Tu croppes et tu appliques tes filtres sur un crop en laissant l'autre dans l'etat mais tu ne fais aucun upscale c'est bien ça ? On aurait pu imaginer que tu upscales sharp et downscale le crop en question sous ffdshow et que tu rassembles les deux partie à la fin.


Pour la partie "APRES", j'applique le script normalement :
Post-traitement, upscale, filtres (pas de downscale car c'est madVR qui le fait)
puis je crop

Pour la partie "AVANT" :
Pas de post-traitement, mais je dois effectuer un upscaling tout de même car sinon impossible de les empiler côte à côte.
Puis je crop

J'assemble les 2 (contrainte : les 2 images doivent être de même taille)
Mais pas bien important car je veux peaufiner mes filtres et pas mon resize.

Donc pour le moment ça me parait correct, sauf si vous voyez des choses qui ne vont pas ?

Je gagne un temps fou sur mes peaufinages et comparaisons de réglages de filtres.
Olivier C.
 
Messages: 2812
Inscription Forum: 19 Sep 2001 2:00
Localisation: Yutz (Nord-Est, France)
  • offline

Message » 18 Mar 2014 22:21

C'est nickel le seul truc qui me gêne c'est que tu as une partie qui est upscalé sans aucun traitement de sharpen derrière. Donc au final tu as 1 partie de l'image floutée alors que l'autre sera traiter dans les règles. Ça sera forcément en faveur du traitement complet.
Mais l'initiative est terrible. Je peux peut être t'aider si tu veux.
Francois76l
 
Messages: 930
Inscription Forum: 19 Mai 2009 19:35
Localisation: Essonne
  • online

Message » 18 Mar 2014 22:23

C'est pour ça que je pensais à un traitement complet via avisynth sans downscaler sous madvr. Il y a un mec qui travaille sur l'importation du lanczos avec anti ringing et linear map de madvr sous avisynth. Je peux le retrouver si tu veux.
Francois76l
 
Messages: 930
Inscription Forum: 19 Mai 2009 19:35
Localisation: Essonne
  • online

Message » 19 Mar 2014 0:00

Olivier C. a écrit:Je suis en train de créer un script pour m'aider à mieux visualiser l'impact d'un filtre

J'ai un truc du genre depuis des années ^^

Code: Tout sélectionner
#############################################################################################

mode="LR" # "LR", "RR" or "LL"

#############################################################################################

LoadPlugin("C:\Program Files\DVD-RB PRO\DGDecode.dll")
source=mpeg2source("D:\MES KVCD\D2VAVS\V01.D2V",idct=7)

left=source.script1()
right=source.script2()

source1=left
source2=right

width=left.width()/2
height=left.height()

left = (mode == "RR") ? crop(left,width,0,width,height).addborders(0,0,2,0,$0000FF).crop(2,0,-0,-0):crop(left,0,0,width,height).addborders(0,0,2,0,$0000FF).crop(2,0,-0,-0)
right = (mode == "LL") ? crop(right,0,0,width,height).addborders(2,0,0,0,$0000FF).crop(0,0,-2,-0):crop(right,width,0,width,height).addborders(2,0,0,0,$0000FF).crop(0,0,-2,-0)

StackHorizontal(left.subtitle("Script1",10,20),right.subtitle("Script2",10,20))
#Interleave(source1.subtitle("Script1",10,20),source2.subtitle("Script2",10,20),Subtract(source1,source2))
#Interleave(source1.subtitle("Script1",10,20),source2.subtitle("Script2",10,20))

function script1(clip c) {
c
#----- ENTER CODE OF SCRIPT ONE HERE -----
#TDeint(tryweave=true)
#ColorMatrix(mode="rec.601->rec.709") # for TMPGEnc
#ColorMatrix(mode="rec.709->rec.601") # for TMPGEnc
#LimitedSharpenFaster()
#LRemoveDust_YV12(17,1)
MT("LimitedSharpenFaster()",2)
#----- END OF CODE OF SCRIPT ONE-----
}

function script2(clip c) {
c
#----- ENTER CODE OF SCRIPT TWO HERE -----
#TDeint(tryweave=true)
#ColorMatrix(mode="rec.709->rec.601") # for TMPGEnc
MT("LimitedSharpenFaster()",2)
ColorMatrix(d2v="D:\MES KVCD\D2VAVS\V01.D2V")

#----- END OF CODE OF SCRIPT TWO-----
}


Là c'est la dernière fois que je m'en suis servi pour comparer quelques filtres, en septembre 2010 si j'en crois la date du fichier :lol:
Il suffit de mettre ses scripts à comparer dans les 2 fonctions adéquates et de choisir le mode, mais c'est un petit peu plus compliqué si une des deux moitiés doit subir un upscale différent du reste. Je m'en servais pour tester l'effet de filtres, mais pas d'algo d'upscale c'est vrai.

Le mode "interleave" c'est si on veut se passer cela image par image, dans virtualdub par exemple. On y retrouve le filtre "substract" que tu dois utiliser sur ton exemple 2 je pense. Je préférais l'interleave au Stack parce que de toutes facons le CPU ne suivait pas alors 4 im/s ou image par image ça changeait pas grand chose :)

Voila, si ça peut t'aider. Rien de vraiment compliqué à comprendre, mais j'avoue que je scripte depuis 30 ans (du basic, pas de l'avisynth :ane: ).
Avatar de l’utilisateur
Dialhot
Supervision Technique Forum
Supervision Technique Forum
 
Messages: 30660
Inscription Forum: 25 Aoû 2005 13:26
Localisation: Doral, FL
  • offline

Message » 19 Mar 2014 0:40

Dialhot a écrit:source=mpeg2source("D:\MES KVCD\D2VAVS\V01.D2V",idct=7)


J'ai un peu près un script identique sauf que mon script marche pour n'importe quel type de vidéo. Je préfère ça plutôt que de l'ouvrir manuellement dans le script.
Sinon c'est dans le même état d'esprit...
Olivier C.
 
Messages: 2812
Inscription Forum: 19 Sep 2001 2:00
Localisation: Yutz (Nord-Est, France)
  • offline

Message » 19 Mar 2014 0:42

Francois76l a écrit:C'est nickel le seul truc qui me gêne c'est que tu as une partie qui est upscalé sans aucun traitement de sharpen derrière. Donc au final tu as 1 partie de l'image floutée alors que l'autre sera traiter dans les règles. Ça sera forcément en faveur du traitement complet.
Mais l'initiative est terrible. Je peux peut être t'aider si tu veux.


Non en fait avec le script je peux comparer 2 scripts quels qu'ils soient.
Je peux tester un upscale Lanczos contre un upscale Spline par exemple en live.
Ou alors 2 vidéos upscalées en Spline144 et comparer ensuite 2 réglages différents d'UnsharpHQ.

Tout est possible, c'était juste un exemple que je donnais.
Le script permet de comparer 2 post-traitements différents, quels qu'ils soient.

Francois76l a écrit:Mais l'initiative est terrible. Je peux peut être t'aider si tu veux


C'est gentil, merci ;-)
En fait le script est terminé et marche du tonnerre
Olivier C.
 
Messages: 2812
Inscription Forum: 19 Sep 2001 2:00
Localisation: Yutz (Nord-Est, France)
  • offline

Message » 19 Mar 2014 1:16

Olivier C. a écrit:
Francois76l a écrit:C'est nickel le seul truc qui me gêne c'est que tu as une partie qui est upscalé sans aucun traitement de sharpen derrière. Donc au final tu as 1 partie de l'image floutée alors que l'autre sera traiter dans les règles. Ça sera forcément en faveur du traitement complet.
Mais l'initiative est terrible. Je peux peut être t'aider si tu veux.


Non en fait avec le script je peux comparer 2 scripts quels qu'ils soient.
Je peux tester un upscale Lanczos contre un upscale Spline par exemple en live.
Ou alors 2 vidéos upscalées en Spline144 et comparer ensuite 2 réglages différents d'UnsharpHQ.

Tout est possible, c'était juste un exemple que je donnais.
Le script permet de comparer 2 post-traitements différents, quels qu'ils soient.

Francois76l a écrit:Mais l'initiative est terrible. Je peux peut être t'aider si tu veux


C'est gentil, merci ;-)
En fait le script est terminé et marche du tonnerre




"C'est gentil, merci ;-)
En fait le script est terminé et marche du tonnerre"

Tu partages :wink:
jfmdesign
 
Messages: 408
Inscription Forum: 12 Déc 2010 13:19
Localisation: Belgique
  • offline

Message » 19 Mar 2014 1:17

Olivier C. a écrit:Non en fait avec le script je peux comparer 2 scripts quels qu'ils soient.
Je peux tester un upscale Lanczos contre un upscale Spline par exemple en live.
Ou alors 2 vidéos upscalées en Spline144 et comparer ensuite 2 réglages différents d'UnsharpHQ.

Tout est possible, c'était juste un exemple que je donnais.
Le script permet de comparer 2 post-traitements différents, quels qu'ils soient.


Ah oui effectivement
Je pensais que ton but était de comparer l'image source sans aucun traitement versus une image postraitée (upscale puis downscale compris).
Mais effectivement avec ta méthode tu peux comparer deux upscales différents.
Francois76l
 
Messages: 930
Inscription Forum: 19 Mai 2009 19:35
Localisation: Essonne
  • online

Message » 19 Mar 2014 1:27

Francois76l a écrit:Tu croppes et tu appliques tes filtres sur un crop en laissant l'autre dans l'etat mais tu ne fais aucun upscale c'est bien ça ? On aurait pu imaginer que tu upscales sharp et downscale le crop en question sous ffdshow et que tu rassembles les deux partie à la fin.


Sinon oui on peut aussi si on veut faire le downscale dans avisynth en Lanczos 4 taps par exemple avec LL et AR si on veut comparer un vrai AVANT / APRES.
Je pense que c'est de cela que tu parlais ?
Oui, c'est possible aussi :wink:
Sur doom9 ils ont donné le filtre AR et je crois même que madshi s'en est inspiré si j'ai bonne mémoire... :hehe:
Olivier C.
 
Messages: 2812
Inscription Forum: 19 Sep 2001 2:00
Localisation: Yutz (Nord-Est, France)
  • offline

Message » 19 Mar 2014 1:31

Madshi a donné son lanczos modifié avec anti ringing et LL pour qu'il soit développé sous avisynth. Malheureusement ça s'est arrêté là.
Mais oui c'est exactement ce que je voulais dire. Je me pencherai sur la question demain. C'est le temps pour moi de dormir ;-)
Francois76l
 
Messages: 930
Inscription Forum: 19 Mai 2009 19:35
Localisation: Essonne
  • online

Message » 19 Mar 2014 16:58

Voici mon script de comparaison (inspiré de celui de Dialhot)
J'y ai ajouter le script avisynth que j'utilise pour mes mkv 1080p. Il est appliqué sur une partie de l'image (upscale et downscale compris l'autre partie étant totalement inchangée)

Code: Tout sélectionner
SetMTMode(3,0)
ffdshow_source()
SetMTMode(2)
newWidth = last.width
newHeight = last.height
BorderWidth = 10 #Taille de la bordure en pixels
Left = crop(0,0,-newWidth/2-BorderWidth ,0).AddBorders(0,0,BorderWidth ,0)
Right = crop(newWidth/2 ,0,0,0)
#Traitement des différentes parties avec les scripts associés
LeftAfterTreatment=Left.script1()
RightAfterTreatment=Right.script2()
#Recollage des deux parties précedemment post-traitées
StackHorizontal(LeftAfterTreatment,RightAfterTreatment)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last
function script1(clip c) {
c
#=========CODE Script partie gauche=========
#========FIN CODE Script partie gauche========
}
function script2(clip c) {
c
#=========CODE Script partie droite==========
#Denoiser
#TTempSmooth(maxr=3,lthresh=4,cthresh=3,lmdiff=3,cmdiff=2,strength=2,interlaced=false)
#UpSize by Spline144
ss=1.333
spline144resize(round(ss*last.width/8)*8,last.height)
spline144resize(last.width,round(ss*last.height/8)*8)
#Deband
GradFun2db()
#Sharpen
LimitedSharpenFasterHC(strength=40)
#Unsharp Mask
unsharpHQ(str=1.2)
#DownSize by Lanczos4
ss=1/ss
Lanczos4Resize(round(ss*last.width/8)*8,last.height) #.repair(gaussresize(p=100),mode=1)
Lanczos4Resize(last.width,round(ss*last.height/8)*8) #.repair(gaussresize(p=100),mode=1)
#========FIN CODE Script partie droite=========
}


Saurez-vous me dire sur quelle zone mon script travaille? ;)
Image
http://www.hostingpics.net/viewer.php?id=812526EscapePlanmkvsnapshot01203020140319155021.jpg

C'est vraiment top pour voir le gain obtenu grâce à avisynth! Merci pour cette superbe idée Olivier!
Francois76l
 
Messages: 930
Inscription Forum: 19 Mai 2009 19:35
Localisation: Essonne
  • online


Retourner vers Logiciel PC Home-cinéma

 
  • Articles en relation
    Dernier message