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 : 2. tu initialises énormément de variables pour les calculs, ne peux-tu pas simplifier pour économiser la mémoire et les ressources?
C'est fait : je suis passé de 8 variables de film (mask,mask2, video, videosharp, video, videoconv, videoblur, videobblur) à 4 variables (maks,mask2,videomod,videosharp).... Je ne vois pas comment diminuer davantage.

Tu diras si cela a un impact sur le temps de calcul ? ...j'ai cru voir un petit gain...
Modifié en dernier par leon1789 le lun. 27 août, 2007 8:17, modifié 1 fois.
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

pepsilite a écrit :attention, comme je l'ai maintes fois dit ici, le bicubic ne peut être utilisé dans tous les cas, le bicubic resize en infographie sert à agrandir l'image et le bilinear resize à la réduire, ils ne peuvent pas être échangés dans leurs fonctions car ils ne sont absolument pas prévus pour ça... chacun a sa spécialité.
Tu veux un truc comme ça ?

Code : Tout sélectionner

## Largeur, Hauteur sont les dimensions désirées pour Video

WV = Width(Video)
HV = Height(Video)
Video = Hauteur > HV ? BicubicResize(Video,Width(Video),Hauteur,0,0.5) : Video
Video = Largeur > WV ? BicubicResize(Video,Largeur,Height(Video),0,0.5) : Video
Video = Hauteur < HV ? BilinearResize(Video,Width(Video),Hauteur) : Video
Video = Largeur < WV ? BilinearResize(Video,Largeur,Height(Video)) : Video
L'image est redimensionnée d'abord via un agrandissement, en hauteur et/ou largeur, si décisiré.
Ensuite, l'image est redimensionnée via une réduction, en hauteur et/ou largeur, si décisirée.
Ne pas croire qu'il y a deux transformations car les bilinearesize et bicubicresize ne travaillent dans leur coeur qu'une dimension à la fois... J'ai simplement couper le travail en deux explicitement. Je ne sais pas si je suis clair.
Modifié en dernier par leon1789 le lun. 27 août, 2007 10:57, modifié 4 fois.
Avatar du membre
Guix
Le Corse
Le Corse
Messages : 1036
Enregistré le : dim. 04 févr., 2007 13:38
Localisation : Corse, le plus beau pays du monde
Contact :

Message par Guix »

Heu.... C'est pas un peu trop complexe pour la section "Premiers Pas" ? :mad:
Parce que, moi, je n'y pige que dalle :mrgreen:

PS : Salut léon, bienvenu :did:
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

Guix a écrit :Heu.... C'est pas un peu trop complexe pour la section "Premiers Pas" ? :mad:
Parce que, moi, je n'y pige que dalle :mrgreen:

PS : Salut léon, bienvenu :did:
Salut Guix :)

Disons que ce sont mes premiers pas dans votre forum...
En fait, je ne savais pas où mettre mon message : cela dit, on peut sûrement le déplacer dans une section plus appropriée.
Avatar du membre
Echo
Pom Pom Biquette
Pom Pom Biquette
Messages : 1344
Enregistré le : mer. 07 févr., 2007 1:20
Localisation : ^^

Message par Echo »

Les grands esprits... etc...
Je m'etais fait la même reflexion :yeap:
Ce qui se passe sur la pelouse doit rester sur la pelouse...Image
Avatar du membre
KadicK
Ghost member
Ghost member
Messages : 5202
Enregistré le : sam. 03 févr., 2007 19:24
Contact :

Message par KadicK »

*Regarde à gauche, regarde à droite, en haut, en bas, devant, derrière*

Grands esprits ?!? Où ça ? :gy:
Avatar du membre
Echo
Pom Pom Biquette
Pom Pom Biquette
Messages : 1344
Enregistré le : mer. 07 févr., 2007 1:20
Localisation : ^^

Message par Echo »

Ja-loux ! :vc:
Ce qui se passe sur la pelouse doit rester sur la pelouse...Image
Avatar du membre
KadicK
Ghost member
Ghost member
Messages : 5202
Enregistré le : sam. 03 févr., 2007 19:24
Contact :

Message par KadicK »

Place aux techniciens ... Aparté clôturée :)
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 »

leon1789 a écrit :
pepsilite a écrit :attention, comme je l'ai maintes fois dit ici, le bicubic ne peut être utilisé dans tous les cas, le bicubic resize en infographie sert à agrandir l'image et le bilinear resize à la réduire, ils ne peuvent pas être échangés dans leurs fonctions car ils ne sont absolument pas prévus pour ça... chacun a sa spécialité.
Tu veux un truc comme ça ?

Code : Tout sélectionner

## Largeur, Hauteur sont les dimensions désirées pour Video

WV = Width(Video)
HV = Height(Video)
Video = Hauteur > HV ? BicubicResize(Video,Width(Video),Hauteur,0,0.5) : Video
Video = Largeur > WV ? BicubicResize(Video,Largeur,Height(Video),0,0.5) : Video
Video = Hauteur < HV ? BilinearResize(Video,Width(Video),Hauteur) : Video
Video = Largeur < WV ? BilinearResize(Video,Largeur,Height(Video)) : Video
L'image est redimensionnée d'abord via un agrandissement, en hauteur et/ou largeur, si décisiré.
Ensuite, l'image est redimensionnée via une réduction, en hauteur et/ou largeur, si décisirée.
Ne pas croire qu'il y a deux transformations car les bilinearesize et bicubicresize ne travaillent dans leur coeur qu'une dimension à la fois... J'ai simplement couper le travail en deux explicitement. Je ne sais pas si je suis clair.
ne te prends pas le chou, j'ai fait le code pour gérer ça directement à la génération du script, pas besoin de ces lignes .....
06/01/2020 m4ng v6 est disponible au téléchargement en version finale : m4ng v6
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 »

leon1789 a écrit : Mask2 = Video.MVMask(Video.MVAnalyse(16,isb=true), ml=20)
Mask = Logic(Mask, Mask2, "and")

devraient normalement être exécutées dans le script, mais pour des raisons de temps de calculs, je les ai commentées car leur absence ne crée pas trop de dégats... à ma grande surprise...
on peut créer 2 types de presets différents, l'un avec et l'autre sans, une sorte de mode "insane" et l'autre plus rapide (comme pour les hybrid).
Pour l'instant, j'ai créé 2 presets de base :
Softsharpen : 20, 20
Softsharpen : 30, 30
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 »

KadicK a écrit :*Regarde à gauche, regarde à droite, en haut, en bas, devant, derrière*
Grands esprits ?!? Où ça ? :gy:
Mais un esprit, ça ne se voit pas normalement, non ? :mrgreen:

Sinon, stp KadicK, j'apprécirais ton avis, sans te commander, sur cette fonction avs :o:
(mais pas avec un vidéo VHS car pepsilite l'a déjà fait)
Modifié en dernier par leon1789 le lun. 27 août, 2007 19:36, modifié 1 fois.
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

pepsilite a écrit : ne te prends pas le chou, j'ai fait le code pour gérer ça directement à la génération du script, pas besoin de ces lignes .....
comment fais-tu si une dimension doit augmenter pendant que la seconde doit diminuer ? il faut alors deux instructions : 1 bicubic + 1 bilinear ...
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

pepsilite a écrit : on peut créer 2 types de presets différents, l'un avec et l'autre sans, une sorte de mode "insane" et l'autre plus rapide (comme pour les hybrid).
Ha oui pourquoi pas.
pepsilite a écrit : Pour l'instant, j'ai créé 2 presets de base :
Softsharpen : 20, 20
Softsharpen : 30, 30
Pourquoi pas là aussi, mais pour avoir des presets "réalistes", il faudrait faire plein de tests sur différents types de vidéo : VHS, anim, film lent, rapide, etc... non ? mais ça va prendre du temps, et surtout il faut avoir de tels films en stock chez soi !!!
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 »

leon1789 a écrit :
pepsilite a écrit : ne te prends pas le chou, j'ai fait le code pour gérer ça directement à la génération du script, pas besoin de ces lignes .....
comment fais-tu si une dimension doit augmenter pendant que la seconde doit diminuer ? il faut alors deux instructions : 1 bicubic + 1 bilinear ...
c'est un cas quand même assez rare, je ne suis pas sûr d'avoir déjà rencontré le cas dans mes encodages persos...

et si on utilisait le lanczos pour simplifier? :mdr
Modifié en dernier par pepsilite le lun. 27 août, 2007 19:30, modifié 1 fois.
06/01/2020 m4ng v6 est disponible au téléchargement en version finale : m4ng v6
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 »

leon1789 a écrit : Pourquoi pas là aussi, mais pour avoir des presets "réalistes", il faudrait faire plein de tests sur différents types de vidéo : VHS, anim, film lent, rapide, etc... non ? mais ça va prendre du temps, et surtout il faut avoir de tels films en stock chez soi !!!
perso, je ne suis pas expert au point de voir une énoooooorme différence à chaque réglage et encore moins selon un type de source, VHS pourrave à la rigueur, mais pour le reste... D'ailleurs, pour quel usage "concret" voyais-tu le SoftSharpen?
06/01/2020 m4ng v6 est disponible au téléchargement en version finale : m4ng v6
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 »

leon1789 a écrit :
pepsilite a écrit : 2. tu initialises énormément de variables pour les calculs, ne peux-tu pas simplifier pour économiser la mémoire et les ressources?
C'est fait : je suis passé de 8 variables de film (mask,mask2, video, videosharp, video, videoconv, videoblur, videobblur) à 4 variables (maks,mask2,videomod,videosharp).... Je ne vois pas comment diminuer davantage.

Tu diras si cela a un impact sur le temps de calcul ? ...j'ai cru voir un petit gain...
il me faudrait ce nouveau script ...
le gain n'est surement pas en temps de calcul mais plutôt en occupation mémoire ... chaque variable qui stocke la vidéo utilise des mo à la pelle...
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 »

pepsilite a écrit :... chaque variable qui stocke la vidéo utilise des mo à la pelle ...
Je n'avais jamais vraiment pensé à ça ... je vais contrôler ça :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 »

pepsilite a écrit :perso, je ne suis pas expert au point de voir une énoooooorme différence à chaque réglage et encore moins selon un type de source, VHS pourrave à la rigueur, mais pour le reste... D'ailleurs, pour quel usage "concret" voyais-tu le SoftSharpen?
Une anime ne s'encode pas de la même manière qu'un film style star wars (pardon, mais j'adore les star wars...) car les détails, les couleurs, les mouvements sont bcp moindres, donc on peut y aller un peu plus fort avec les traitements smoother.

A mon avis, mais ce n'est vraiment que mon avis, sharper une vidéo de très très mauvaise qualité ne sert pas vraiment, puique les contours sont trop vagues.

Mon usage perso de SoftSharpen ?
1-- m'amuser (c'est très important de s'amuser !!!) à écrire un script performant (la performance étant décrétée seulement par d'éventuels utilisateurs)

2-- encoder des films DVD (=source d'excellente qualité) : là, j'ai fait quelques tests pour essayer de mettre au point le code de SoftSharpen (mais cela n'empêche pas que je voudrais bien avoir l'opinion de plusieurs autres personnes, afin d'améliorer avec de nouvelles idées)

3-- réencoder mes vidéos perso mpeg (=source pas top du tout !) : là, j'ai pas vraiment fait de tests.
Modifié en dernier par leon1789 le lun. 27 août, 2007 21:39, modifié 2 fois.
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

pepsilite a écrit :il me faudrait ce nouveau script ...
ben il est là :) http://www.forum.lauden.fr/ici-vp29050.html#29050
car j'ai remplacé celui d'hier.
pepsilite a écrit : le gain n'est surement pas en temps de calcul mais plutôt en occupation mémoire ... chaque variable qui stocke la vidéo utilise des mo à la pelle...
Oui, c'est vrai. Cela dit, une machine à mémoire limitée (comme la mienne ?) aura moins besoin de swaper, donc pourrait aller un poil plus vite, non ?

EDIT : j'ai rêvé en fait... les temps de calcul sont effectivement identiques.
Modifié en dernier par leon1789 le lun. 27 août, 2007 23:30, modifié 1 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, dans tous les cas de figure, c'est un bien d'avoir moins de variables ..... je vais récupérer le dernier script alors, je ne savais pas qu'il était remplacé .
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 »

question vitesse d'exécution, je ne comprends pas pourquoi ces deux commandes ont des temps d'exécution semblables (la première est un poil plus rapide que le seconde), alors que logiquement, il devrait y a avoir un facteur 10 !!!

Code : Tout sélectionner

video = video.SelectRangeEvery(2000,200).SoftSharpen
ici, on sélectionne 200 images toutes les 2000 (ie 10%), puis on leur (à ces 10%) fait subir softsharpen
Le travail est minimal...

Code : Tout sélectionner

video = video.SoftSharpen.SelectRangeEvery(2000,200)
ici, on fait subir softsharpen à toutes les images (ie 100%), puis on en prend que 200 toutes les 2000 (ie 10%)
90% du travail est inutile !


Et pourtant... les deux traitements sont comparables en temps de calcul !

REPONSE : ceci est dû à la manière dont AviSynth exécute le code : en partant de la fin en fait !!!
Modifié en dernier par leon1789 le mer. 29 août, 2007 9:49, modifié 1 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 »

bon en fait, j'ai stocké le script dans un .avs "à part" que j'importe dans le script final, ça permet de ne pas avoir à modifier mon code quand tu changes le tien ...
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 »

ok, c'est effectivement plus simple ainsi.
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

pepsilite a écrit :
leon1789 a écrit : Mask2 = Video.MVMask(Video.MVAnalyse(16,isb=true), ml=20)
Mask = Logic(Mask, Mask2, "and")

devraient normalement être exécutées dans le script, mais pour des raisons de temps de calculs, je les ai commentées car leur absence ne crée pas trop de dégats... à ma grande surprise...
on peut créer 2 types de presets différents, l'un avec et l'autre sans, une sorte de mode "insane" et l'autre plus rapide (comme pour les hybrid).
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).

mis à jour ici http://www.forum.lauden.fr/ici-vp29220.html#29220

Il s'utilise ainsi :

video.SoftSharpen
video.SoftSharpen(30)
video.SoftSharpen(30,20)
video.SoftSharpen(30,20, 720,304)
video.SoftSharpen(Larg=1024, Haut=432)
video.SoftSharpen(30, equi=true)
Modifié en dernier par leon1789 le mer. 29 août, 2007 14:12, modifié 4 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 »

Adopté ... j'ai ajouté un preset SoftSharpen : 30, 30, HQ avec equi=true, ça fonctionne ... par contre pour les valeurs de blur et sharp, c'est un peu le flou artistique :D
06/01/2020 m4ng v6 est disponible au téléchargement en version finale : m4ng v6
Répondre