SoftSharpen 8.8 - Script vidéo AviSynth

Modérateur : Modérateurs

Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

pepsilite a écrit :par contre pour les valeurs de blur et sharp, c'est un peu le flou artistique :D
Tu veux dire qu'il faudrait savoir quelles valeurs mettre précisément, afin d'avoir plusieurs presets ?
Avatar du membre
pepsilite
The Grinch
The Grinch
Messages : 23287
Enregistré le : sam. 03 févr., 2007 19:13
Localisation : Chez moi le plus possible ...

Message par pepsilite »

vala ...
06/01/2020 m4ng v6 est disponible au téléchargement en version finale : m4ng v6
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

je verrai bien des presets du genre (l'option "equi=true" étant indépendante) :
-- film très rapide, bonne qualité : Flou = 20 & Net = 20
-- film très lent, bonne qualité : Flou = 20 & Net = 5
-- film rapide, mauvaise qualité : Flou = 30 & Net = 30
-- film lent, mauvaise qualité : Flou = 30 & Net = 5
Modifié en dernier par leon1789 le mer. 29 août, 2007 9:15, modifié 5 fois.
Avatar du membre
pepsilite
The Grinch
The Grinch
Messages : 23287
Enregistré le : sam. 03 févr., 2007 19:13
Localisation : Chez moi le plus possible ...

Message par pepsilite »

oui pourquoi pas, tout est dans le "reste à tester", en fait ...
06/01/2020 m4ng v6 est disponible au téléchargement en version finale : m4ng v6
Avatar du membre
Dirk-Pitt
Membre Fondateur
Membre Fondateur
Messages : 10541
Enregistré le : sam. 03 févr., 2007 19:08
Localisation : 01's Land
Contact :

Message par Dirk-Pitt »

As tu fait attention au fait que la doc de BicubicResize préconise "You have to set b + 2 * c = 1 for the numerically most accurate filter." :??:

Code : Tout sélectionner

BicubicResize (clip, int target_width, int target_height, float "b", float "c", float "src_left", float "src_top", float "src_width", float "src_height")
Dell OptiPlex 755, 8 Go ram, 1.5 To disk, dual screen 2 x Dell 2007FP ( 3200x1200 ). Linux openSUSE 11.0
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

oui : b=0.4-Net/50.0 et c=0.3+Net/100.0 donne b+2*c = 0.4+0.6 = 1 (les Net s'éliminent comme on dit en maths) Le compte est bon :rital:

...sauf pour 30 > Net > 20 , car alors b = 0 (b < 0 est traité comme b=0 par bicubic), et du coup c variant entre 0.5 et 0.6, cela donne b+2c variant entre 1 et 1.2. Cela dit, BicubicResize(0,0.5) et BicubicResize(0,0.6) sont les réglages standards "bucibic natural" et "bicubic net", donc je me bile pas pour ça :)
Modifié en dernier par leon1789 le mar. 28 août, 2007 21:42, modifié 2 fois.
Avatar du membre
Dirk-Pitt
Membre Fondateur
Membre Fondateur
Messages : 10541
Enregistré le : sam. 03 févr., 2007 19:08
Localisation : 01's Land
Contact :

Message par Dirk-Pitt »

Cool ;) Une autre au passage :o: ... Ce BicubicResize est utile et pas trop pénalisant lorsqu'il n'y a pas de redimensionnement ? :??:
Dell OptiPlex 755, 8 Go ram, 1.5 To disk, dual screen 2 x Dell 2007FP ( 3200x1200 ). Linux openSUSE 11.0
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

Dirk-Pitt a écrit :Cool ;) Une autre au passage :o: ... Ce BicubicResize est utile et pas trop pénalisant lorsqu'il n'y a pas de redimensionnement ? :??:
Je passe un test ce soir ! ;)
Quand il n'y a pas redimensionnement, bicubic (comme bilinear) ne fait absolument rien : pas de modification sur l'image, et pas de perte de temps.

Cela va même un peu plus loin : le changement de dimensions se fait sur les x (sans toucher les y), puis sur les y (sans toucher les x), ou inversement en fonction de la situation... Si une seule dimension est à changer, alors le travail va deux fois plus vite comparé à un redimensionnement portant sur deux dimensions.

Conclusion : aucun risque à écrire des resizes à la suite (s'ils ont la même résolution bien sûr). C'est pourquoi cela ne me dérange pas d'intégrer un resize dans le script (bien que je trouve cela pas vraiment lié au sharp... mais c'est pour faire plaisir à pepsilite :mrgreen: )
Modifié en dernier par leon1789 le mer. 29 août, 2007 15:27, modifié 2 fois.
Avatar du membre
Dirk-Pitt
Membre Fondateur
Membre Fondateur
Messages : 10541
Enregistré le : sam. 03 févr., 2007 19:08
Localisation : 01's Land
Contact :

Message par Dirk-Pitt »

leon1789 a écrit :... bien que je trouve cela pas vraiment lié au sharp ...
Tu aurais préféré faire le redimensionnement à l'extérieur ? Si oui, avant ou après ? :??:
Dell OptiPlex 755, 8 Go ram, 1.5 To disk, dual screen 2 x Dell 2007FP ( 3200x1200 ). Linux openSUSE 11.0
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

Dirk-Pitt a écrit :
leon1789 a écrit :... bien que je trouve cela pas vraiment lié au sharp ...
Tu aurais préféré faire le redimensionnement à l'extérieur ? Si oui, avant ou après ? :??:
Moralement, oui, j'aurais préféré (pour la raison que j'ai donnée).

Mais il se trouve que HybridFupp propose de traiter une video avec possibilité de redimensionner (avec bilinear pour la qualité moindre, Lanczos pour la qualité maxi, et 3 ou 4 bicubic paramétrés différemment pour les options de traitement intermédiaires).
Et comme je me dis que SoftSharpen peut être un concurent de HybridFupp avec un peu de chance (bien que HybriddFupp soit très souple grace à des paramètres touffus), pepsilite a peut-être raison de soumettre l'idée d'intégrer un resizer dans le script...

Conclusion : ben de toute manière, ça ne coûte rien d'en mettre un (surtout si on s'en sert pas !), alors je l'ai mis :mrgreen:

Maintenant, dans le script, tu vois, je l'ai mis au début. Donc personnellement, je fais un resize avant de traiter, car un resize est plus ou moins destructif. Mais certains conseillent de le faire au dernier moment, parfois même en travaillant avec une résolution plus grande avant... mais j'ai des doutes, et je préfère resizer avant... surtout s'il faut réduire la résolution !
Modifié en dernier par leon1789 le mer. 29 août, 2007 15:30, modifié 2 fois.
Avatar du membre
Dirk-Pitt
Membre Fondateur
Membre Fondateur
Messages : 10541
Enregistré le : sam. 03 févr., 2007 19:08
Localisation : 01's Land
Contact :

Message par Dirk-Pitt »

Après réflexion, c'était évident vu que tu le faisais au début à l'intérieur :o:
Dell OptiPlex 755, 8 Go ram, 1.5 To disk, dual screen 2 x Dell 2007FP ( 3200x1200 ). Linux openSUSE 11.0
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

Excuse moi d'être insistant (je n'arrête pas de demander aux gens de faire juste un petit test), mais as-tu 5 minutes pour tester ? :ange:
-- film très rapide, bonne qualité : Flou = 20 & Net = 20
-- film très lent, bonne qualité : Flou = 20 & Net = 5
-- film rapide, mauvaise qualité : Flou = 30 & Net = 30
-- film lent, mauvaise qualité : Flou = 30 & Net = 5
Modifié en dernier par leon1789 le mer. 29 août, 2007 9:15, modifié 1 fois.
Avatar du membre
Dirk-Pitt
Membre Fondateur
Membre Fondateur
Messages : 10541
Enregistré le : sam. 03 févr., 2007 19:08
Localisation : 01's Land
Contact :

Message par Dirk-Pitt »

Ce sera pour ce WE pas avant, désolé :oups:
Dell OptiPlex 755, 8 Go ram, 1.5 To disk, dual screen 2 x Dell 2007FP ( 3200x1200 ). Linux openSUSE 11.0
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

Absolument pas grave.
Lundi prochain, j'aurai deux avis (autres que le mien) : celui de pepsilite et le tien ;)
Avatar du membre
Dirk-Pitt
Membre Fondateur
Membre Fondateur
Messages : 10541
Enregistré le : sam. 03 févr., 2007 19:08
Localisation : 01's Land
Contact :

Message par Dirk-Pitt »

En fait, je n'en ai pas l'air ... mais je bosse là :mdr Je pars en vacances la semaine prochaine et j'ai pas mal de taf à finir avant.
Dell OptiPlex 755, 8 Go ram, 1.5 To disk, dual screen 2 x Dell 2007FP ( 3200x1200 ). Linux openSUSE 11.0
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

pepsilite a écrit : pour les valeurs de blur et sharp, c'est un peu le flou artistique :D
** Pour la valeur de "Flou", c'est comme pour un débruiteur classique, du style FluxSmooth ou Convolution3D : plus la valeur est élevée, plus le traitement est fort.

Cela dit, personnellement, je pense mettre Flou=30 à peu près à tous les coups.

Mais des gens plus sensibles mettront entre 10 et 20. En contre partie, une valeur réduite de "Flou" handicapera (je me comprends) une valeur élevée de "Net"...

** En ce qui concerne le paramètre "Net", là, je pense qu'il est difficile de deviner une bonne valeur à vue d'oeil (en mon sens : concervation de la comprésibilité de la vidéo). Cette valeur est liée à la quantité de mouvement du film, et comme je disais au-dessus, plus la vidéo est rapide, plus la valeur de Net peut être élevée.

Du coup, j'ai modifié (encore... et toujours) le script pour y intégrer une fonction indicatrice d'une valeur correcte (je pense) de Net à partir de l'analyse de mouvement d'avisynth.

Pour lire cette indication, il suffit de lancer Video.SoftSharpen(EstimNet=true) où EstimNet est un nouveau paramètre optionnel (réglé à false par défaut). La valeur estimée de Net s'affiche simplement en sur-impression en haut à gauche de l'image. Pour que cette valeur soit sensée, il faut faire lire la vidéo sur une assez grande partie, car ce n'est pas la première image qui permet d'estimer le mouvement durant tout le film ;) (un peu dans le genre test de compressibilité...)

Précision : dans le cas d'une estimation de "Net", il n'y a pas de traitement apporté à l'image (pour aller plus vite).

Exemples :
-- pour Star Wars II, une estimation est Net=17 (sans les génériques)
-- pour Les Visiteurs, une estimation est Net=13
-- pour un épisode de Capitaine Flam, une estimation est Net=7
-- pour Le Projet Blair Witch, une estimation est Net=35 (traité de la même manière que 30 en fait)


Voici le nouveau script (qui s'allonge un peu pour le coup) :
mise à jour ici http://www.forum.lauden.fr/ici-vp29458.html#29458

Il s'utilise ainsi :

video.SoftSharpen
= video.SoftSharpen(Flou=30,Net=20,Larg=video.width,Haut=video.height,Equi=false,estimNet=false)

video.SoftSharpen(30,20)
video.SoftSharpen(Larg=1024, Haut=432)
video.SoftSharpen(equi=true)
video.SoftSharpen(estimNet=true)
video.SoftSharpen(Larg=1024, Haut=432, estimNet=true)
Modifié en dernier par leon1789 le sam. 01 sept., 2007 1:22, modifié 7 fois.
Avatar du membre
Underground78
Administrateur
Administrateur
Messages : 11272
Enregistré le : mar. 06 févr., 2007 21:54
Localisation : France
Contact :

Message par Underground78 »

Je débarque moi mais tout ça à l'air bien sympa ... Si j'ai le temps je regarde ça demain ... :)
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

Salut Underground78,

voici une image qui permet de comprendre le fonctionnement de SoftSharpen
[lightbox]http://img209.imageshack.us/img209/4746 ... zw2.th.jpg[/lightbox]
Dans la scène,
-- la planète est fixe : son piqué est donc renforcée par le filtre (ici, on a besoin de plus bits pour coder). Comme la planète est fixe, l' "amélioration" se voit lors du passage du film.
-- le vaisseau au premier plan est en mouvement : on voit également l'effet du filtre (ici, on a besoin de moins de bits pour coder). Comme le vaisseau est mobile, la "déterioration" ne se voit pas lors du passage du film...

Et dans l'ensemble, le nombre de bits pour encoder l'image est le même, donc pas de perte de qualité collatérale, contrairement aux filtres de sharp habituels !
Avatar du membre
Underground78
Administrateur
Administrateur
Messages : 11272
Enregistré le : mar. 06 févr., 2007 21:54
Localisation : France
Contact :

Message par Underground78 »

C'est effectivement clairement efficace ! :)

Est-ce qu'il n'y aurait pas moyen d'accélérer le script puisque c'est visiblement le problème ? en faisant une dll plugin pour avisynth par exemple si tu sais le faire ?
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

Underground78 a écrit :C'est effectivement clairement efficace ! :)
ben c'est exactement ce que je voudrais savoir. Je dis merci d'avance à tous ceux qui pourraient tester et critiquer (en bien, en mal, etc.) comme pepsilite l'a fait : avec ses remarques, le script a évolué depuis deux jours...
Underground78 a écrit : Est-ce qu'il n'y aurait pas moyen d'accélérer le script puisque c'est visiblement le problème ? en faisant une dll plugin pour avisynth par exemple si tu sais le faire ?
Non je ne connais pas un poil de la manière de réaliser une dll.
Oui je suis intéressé, si vous avez de la doc "lisible" par un non-informaticien.
Modifié en dernier par leon1789 le mer. 29 août, 2007 23:05, modifié 2 fois.
Avatar du membre
Dirk-Pitt
Membre Fondateur
Membre Fondateur
Messages : 10541
Enregistré le : sam. 03 févr., 2007 19:08
Localisation : 01's Land
Contact :

Message par Dirk-Pitt »

Underground78 a écrit :... en faisant une dll plugin pour avisynth par exemple ...
ça j'ai fait, ce n'est pas simple :mad:
Dell OptiPlex 755, 8 Go ram, 1.5 To disk, dual screen 2 x Dell 2007FP ( 3200x1200 ). Linux openSUSE 11.0
Avatar du membre
stryke
Membre Fondateur
Membre Fondateur
Messages : 177
Enregistré le : lun. 05 févr., 2007 12:05

Message par stryke »

wouah...ça fait bien longtemps que je n'avais pas lu un tel post.

Lorsque tout sera figé, cela serait sympa de faire un petit fichier d'explication comme il existe pour HFupp

Chapeau pour ce script
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

Salut stryke :o:

oui, je viens d'inclure un bref "howto" au début du script.
Je ne résiste pas à te proposer un petit test : ne te gêne pas ;)
J'espère que le howto t'aidera un peu...
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

leon1789 a écrit : Voilà c'est fait, mais j'ai mis le mot "equi" : il me convient davantage, car cette option donne lieux à une analyse de mouvement plus équilibrée...

Résultat : l'option "equi" est un peu plus lente (évidemment), et elle préserve un poil davantage la compressibilité de la video (d'après quelques tests).
Je viens enfin de trouver le moyen de réaliser une analyse équilibrée du mouvement qui ne coûte quasi-rien de plus en temps de calcul par rapport à l'analyse "de base" !! :o:
Du coup, j'ai supprimé l'option "equi = true/false" puisqu'elle n'y a plus aucune utilité. Avec quelques autres modifications mineures ici et là, le script s'est simplifié un peu, sans perdre de son "efficacité" (à vous de juger).

mis à jour ici http://www.forum.lauden.fr/viewtopic.php?p=29790#29790
Modifié en dernier par leon1789 le mer. 05 sept., 2007 23:11, modifié 3 fois.
Avatar du membre
pepsilite
The Grinch
The Grinch
Messages : 23287
Enregistré le : sam. 03 févr., 2007 19:13
Localisation : Chez moi le plus possible ...

Message par pepsilite »

comment vois-tu les presets avec cette nouvelle mouture?
06/01/2020 m4ng v6 est disponible au téléchargement en version finale : m4ng v6
Répondre