Modérateurs: Modération Forum Home-Cinéma, Le Bureau de l’Association HCFR • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 37 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

PCHC avec Avisynth+ & pixel shaders

Message » 28 Avr 2022 3:04

Bonjour,

Désolé mais après 3h sur le sujet, je n'arrive pas à savoir si j'ai réussi ou pas la partie vidéo proposée par Emmanuel Piat, y'a-t-il un moyen simple de vérifier lors de la lecture d'une source vidéo ?
Merci d'avance !
Myself
 
Messages: 8
Inscription Forum: 28 Sep 2019 15:34
  • offline

Message » 28 Avr 2022 16:26

Pour la partie pixel shaders :

Mettre ds "DX11 Super Acutance.hlsl" :

#define show_area 1

et sauver le fichier. Les pixels modifiés par le shader seront alors affichés en rouge. Ca confirmera visuellement que l'activation des pixels shaders fonctionne bien.

Pour la partie avisynth+ :

je conseille d'utiliser un moniteur fullHD ds un 1er temps pour tester les algos sur un diffuseur très précis. Faire afficher la mire en mettant "mire = true" dans les paramètres d'appel à HTPCVideoProcessing (c'est ds le fichier HTPC.avs). En mettant ensuite le param boostAcutance à 0, puis 25, puis 45, puis 65, puis 125, tu verras que sur la mire avec un damier de 1x1 pixels (mire la plus fine), les pixels sensés être blancs passeront d'une couleur grisée à une couleur parfaitement blanche pour 125, signe que l'acutance augmente. Nota : pour que le chgt prenne effet, il faut recharger un mkv/BRD après chaque modif de HTPC.avs.

Une fois que ce point est confirmé, ds un 2e temps, si tu prends par exemple un bluray de dessin animé bien encodé (dernier Encanto de Disney etc.), le gain en piqué se voit comme le nez au milieu de la figure si tu prends par exemple boostAcutance = 45 ds HTPC.avs (c'est la valeur que j'utilise préférentiellement sur un moniteur fullHD).

Pour comparer avec et sans le traitement avisynth+, il faut dans Options/External Filters de MPC-HC :

Avec :
Cocher avisynth Filter
Sélectionner Prefer

Sans :
décocher avisynth Filter

et relancer un mkv/BRD.
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10476
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 29 Avr 2022 1:36

Emmanuel Piat a écrit:Pour la partie pixel shaders :

Mettre ds "DX11 Super Acutance.hlsl" :

#define show_area 1

et sauver le fichier. Les pixels modifiés par le shader seront alors affichés en rouge. Ca confirmera visuellement que l'activation des pixels shaders fonctionne bien.

Pour la partie avisynth+ :

je conseille d'utiliser un moniteur fullHD ds un 1er temps pour tester les algos sur un diffuseur très précis. Faire afficher la mire en mettant "mire = true" dans les paramètres d'appel à HTPCVideoProcessing (c'est ds le fichier HTPC.avs). En mettant ensuite le param boostAcutance à 0, puis 25, puis 45, puis 65, puis 125, tu verras que sur la mire avec un damier de 1x1 pixels (mire la plus fine), les pixels sensés être blancs passeront d'une couleur grisée à une couleur parfaitement blanche pour 125, signe que l'acutance augmente. Nota : pour que le chgt prenne effet, il faut recharger un mkv/BRD après chaque modif de HTPC.avs.

Une fois que ce point est confirmé, ds un 2e temps, si tu prends par exemple un bluray de dessin animé bien encodé (dernier Encanto de Disney etc.), le gain en piqué se voit comme le nez au milieu de la figure si tu prends par exemple boostAcutance = 45 ds HTPC.avs (c'est la valeur que j'utilise préférentiellement sur un moniteur fullHD).

Pour comparer avec et sans le traitement avisynth+, il faut dans Options/External Filters de MPC-HC :

Avec :
Cocher avisynth Filter
Sélectionner Prefer

Sans :
décocher avisynth Filter

et relancer un mkv/BRD.


Hello,

Pour les Pixels Shaders ça fonctionne parfaitement.

Mais pas de réussite sur la partie AviSynth+, je ne vois pas de mire (setting true) avec un damier même en changeant le paramètre boostAcutance à 125 un dépannage en MP ou Discord est-il possible ? Je ne vois pas où j'ai pu raté quelque chose.
Quelques images au cas où quelque chose vous saute au yeux :
Image
Image
Image
Image
Image
Image

Désolé encore je ne suis d'habitude pas du genre à avoir besoin d'aide pour des soucis techniques :wtf:
Myself
 
Messages: 8
Inscription Forum: 28 Sep 2019 15:34
  • offline

Message » 29 Avr 2022 11:39

Tout me semble correct.

Si tu vas dans les video settings pdt la lecture d'un mkv/BRD (via un clic droit dans l'image puis sélection de Filtres) , les champs "Active Decoder" et "Active Hardware Accelerator" devraient être remplis.

Pour savoir si Avisynth+ se lance bien pendant la lecture, tu peux te faire un nouveau fichier HTPC1.avs qui contient uniqt les 2 lignes :

AvsFilterSource()
Info()

puis sélectionner ce fichier dans Avisynth filter.

Dans ce cas, tu dois voir apparaître en haut à gauche de l'image des lignes écrites en jaune qui donnent des infos sur la nature du flux audio/vidéo qui parvient à Avisynth+.
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10476
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 29 Avr 2022 15:36

Emmanuel Piat a écrit:Tout me semble correct.

Si tu vas dans les video settings pdt la lecture d'un mkv/BRD (via un clic droit dans l'image puis sélection de Filtres) , les champs "Active Decoder" et "Active Hardware Accelerator" devraient être remplis.

Pour savoir si Avisynth+ se lance bien pendant la lecture, tu peux te faire un nouveau fichier HTPC1.avs qui contient uniqt les 2 lignes :

AvsFilterSource()
Info()

puis sélectionner ce fichier dans Avisynth filter.

Dans ce cas, tu dois voir apparaître en haut à gauche de l'image des lignes écrites en jaune qui donnent des infos sur la nature du flux audio/vidéo qui parvient à Avisynth+.


Edit : Problème résolu, désolé du dérangement !
Dernière édition par Myself le 29 Avr 2022 19:45, édité 1 fois.
Myself
 
Messages: 8
Inscription Forum: 28 Sep 2019 15:34
  • offline

Message » 01 Mai 2022 4:38

Après avoir résolu mon soucis j'ai une petite question sur comment optimiser l'usage CPU-GPU.

Je suis actuellement sur un moniteur Full HD mais j'ai un i9-12900K et une RTX 3080 Ti (J'attends le stock d'écrans QD-OLED pour avoir un écran adapté).
Après avoir réussi à mettre tout le setup d'Emmanuel en place, je me retrouve à Thermal Throttle sur mon CPU avec un ou deux core à plus de 100°C sur une source UHD (particulièrement les REMUX) ce qui ne me semble pas idéal pour 2h voire plus d'utilisation.
Comment faire en sorte que celle-ci soit plus gérée ou mieux répartie sur le GPU ?
Myself
 
Messages: 8
Inscription Forum: 28 Sep 2019 15:34
  • offline

Message » 01 Mai 2022 22:05

Si tu mets au début de HTPC.avs :

SetFilterMTMode("AvsFilterSource",3)
SetFilterMTMode("DEFAULT_MT_MODE",2)

est-ce que ça diminue la charge des 2 cores ? (Nota : j'ai aussi 2 cores qui sont bien chargés mais ils restent qd même en dessous de 100% sur du remux UHD)

Tu peut aussi essayer de modifier le prefech à la fin du fichier :
http://avisynth.nl/index.php/SetFilterMTMode#Prefetch

Si le remux UHD a des bandes noires (ça arrive), il faut penser à les cropper car ça soulage pas mal le CPU.
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10476
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 03 Juin 2022 19:25

Merci encore pour le tutoriel détaillé, j'ai vraiment commencé à voir la différence et à l'apprécier.
Aujourd'hui je vous contact car je me heurte à un nouveau problème:
Je lis un cartoon dont voici les caractéristiques :
Width : 1 440 pixels
Height : 1 080 pixels
Display aspect ratio : 4:3
Color space : YUV
Bit depth : 10 bits

Le soucis est que avec la configuration proposé dans le tutoriel l'output frame est en 720x540 ce qui entraîne une perte de qualité énorme, le boostAccutance lui fonctionne mais j'ai du désactiver AviSynthFilter et donc je ne peux pas en profiter pour ce cartoon.

Voici les infos à l'écran : Image

Auriez vous une idée de ce qui cause cela ?

En vous remerciant,
Myself
Myself
 
Messages: 8
Inscription Forum: 28 Sep 2019 15:34
  • offline

Message » 04 Juin 2022 18:11

Bonjour,

N'est-ce pas du au fait que le profil appelé n'est pas le bon ?

Là il devrait être sur du 1080p (mais en 4/3) ... Il faut rajouter une option supplémentaire dans le cropping qui n'est que vertical ;)
Esscobar
 
Messages: 8630
Inscription Forum: 27 Sep 2016 18:10
Localisation: 86 - Châtellerault
  • online

Message » 04 Juin 2022 21:32

Esscobar a écrit:Bonjour,

N'est-ce pas du au fait que le profil appelé n'est pas le bon ?

Là il devrait être sur du 1080p (mais en 4/3) ... Il faut rajouter une option supplémentaire dans le cropping qui n'est que vertical ;)


Je suppose que l'on est sur cette ligne alors :
Code: Tout sélectionner
cropPreset == 0 ? last :
 \ VerticalCrop(preset=cropPreset,offset=cropOffset,borderHeight=cropBorderHeight,UHD=true,showline=cropShowLine


Mais que changer ? Je suis un peu perdu par rapport à ça :cry:
Myself
 
Messages: 8
Inscription Forum: 28 Sep 2019 15:34
  • offline

Message » 08 Juin 2022 23:03

Emmanuel Piat a écrit:Voici un petit tuto pour corriger le BRD "Premier contact" (Arrival) de D. Villeneuve.

J'ai vu ce film au ciné. Je l'ai bcp aimé du fait de la richesse des thèmes singuliers qu'il aborde, lesquels créent une ambiance particulière de huis-clos alors que ce n'en est pas un. Mélanger rencontre du 3e type, réflexion sur la filiation, le deuil, ajouter la prescience et une boucle temporelle, évoquer toutes sortes de difficultés de communication, et chapeauter tout cela avec un enjeu qui dépasse l'humanité était assez casse gueule tellement il y a de choses ... Mais cette 1ère incursion de Villeneuve dans la SF est une réussite à mes yeux.

J'ai donc acheté le BRD. Et là qu'elle ne fut pas ma surprise de voir une image délavée et terne qui n'avait vraiment rien à voir avec l'expérience que j'avais vécu au ciné.

Il y avait évidemment un pb, un TRES gros pb. Lequel est aussi présent sur le BRD UHD, mais dans une moindre mesure.

On va faire simple sur le constat : le BRD a une image de m.erde.

L'histogramme activable ds le script permet de comprendre pourquoi. Si on analyse la galette du BRD on constate que les annonces au début ont un point noir bien positionné. Puis qd le film commence, le point noir saute de 16 à une valeur bcp plus haute, d'ou une perte de contraste phénoménale et une altération du rendu colorimétrique (couleurs délavées).

Jacky le stagiaire qui a été formé à la va vite et qui ne comprenait rien à la config du soft d'encodage/authoring qu'il a utilisé a donc par miracle encodé correctement les pubs des annonceurs mais il s'est ensuite complètement planté pour le film. Et la personne chargée du contrôle qualité était partie en vacances au Bahamas à ce moment-là (2017) donc les conneries de Jacky le stagiaire sont passées comme une lettre à la Poste ...

Essayons de réparer l'incompétence de Jacky grâce à Avisynth+.

En ajoutant Levels(6, 1.0, 249, 0, 255, false, true) avant le post-processing du BRD on va faire un mapping linéaire qui place le 6 et le 249 de l'échelle TV sur 0 et 255 : c'est donc un expander. Un contrôle sur l'histo permet de constater que le point noir revient alors bien sur 16 et que rien ne déborde sur le BTB (Blacker Than Black) : on est ok. L'image change complètement de nature, les couleurs se resaturent (un peu) et je commence à retrouver l'ambiance ciné. Sauf qu'au niveau saturation, ce n'est pas encore ça. Il en manque pas mal (notamment sur les combi oranges). On peut rajouter de la sat avec la fonction tweak :

Tweak(sat=1.16, coring = false)

mais il ne faut pas aller trop loin car les tons de chairs deviennent vite non naturels. De ce fait, il reste quand même un côté terne à l'image.

Par ailleurs, les dégâts fait par Jacky sont + profonds que ça, car en réencodant le film cela a aussi diminué la profondeur d'encodage de la couleur dans les tons moyens et sombres (sans doute à cause d'une mauvaise manip entre les espaces de couleurs linéaire et non-linéaire). On a la drôle d'impression d'être passé de 8 bpp à 7 ou 6 bpp. Résultat : dans les ambiances sombres il y a un banding bien visible qui apparait sur tous les dégradés, même si on ajoute l'option de dithering ds Levels pour éviter l'effet "peigne" sur l'histogramme lorsqu'on fait un expander ... Par exemple, à 1:00:25 les dégradées sur les visages ont un gros pb de banding qui sera difficile à rattraper même avec un traitement anti-banding ... En cherchant bien, on arrive même à distinguer le banding sur les tons moyens ...

C'est le BRD UHD qui va sauver la situation grâce à son encodage sur 10 bits. Même si un ou deux bits ont été perdu pdt les délires de Jacky, il en restera quand même suffisamment pour que la dégradation ne soit pas visible. Par ailleurs la sat est enfin correcte (voir même presque un peu trop poussée à mon goût).

Pour une raison que j'ignore, sur le BRD UHD, il faut faire une correction plus légère que sur le BRD normal pour ne rien avoir qui s'incruste ds le BTB. Et comme on est en P16 à cause de AVSF, il ne pas faut pas oublier de multiplier par 256 la correction précédente en échelle 8 bits pour se retrouver en échelle 16 bits, ce qui donne :

Levels(3*256, 1.0, 252*256, 0, 65535, false, true)

Et là le miracle a lieu : tout devient impeccable. L'image retrouve sa richesse, sa saturation et son contraste. ET comme le son est aussi génial on est bien au cinéma et on peut profiter d'un spectacle prenant et magnifique :)

Concernant le DTM, je conseille de mettre boostTM à true. L'image résultante est vraiment chouette.


Bonjour Emmanuel , en lisant ces lignes j'ai compris pourquoi mon plaisir de redécouvrir ce chef d’œuvre (uhd) ne fut pas mémorable , donc peut on apporter ces corrections sur chaine classique madvr-Lav-mpcbe ?
Merci
xavyton
 
Messages: 37
Inscription Forum: 27 Juil 2011 13:13
  • offline

Message » 08 Jan 2023 13:41

Bonjour.

Petit update.

L'utilisation du combo AVSF v1.3.1 et Avisynth+ 3.7.0 n'est plus nécessaire. Pour info, il fallait procéder ainsi pour ne pas avoir un blocage à la frame 0 et pour passer les containers 10 bits en P16 afin d'avoir un traitement correct du DTM via MPC Video Renderer.

Désormais tous ces bugs sont corrigés.

On peut donc utiliser les dernières versions d'Avisynth+, de AVSF et de MPC VR :

https://github.com/AviSynth/AviSynthPlu ... ses?page=1
https://github.com/CrendKing/avisynth_filter/releases
https://github.com/Aleksoid1978/VideoRenderer/releases

A noter que le DTM de MPC VR fonctionne vraiment bien en toute circonstance. Dans sa dernière version, je le booste dans mes scripts via la fct Levels avec un facteur TMgain=1.02 que j'ai mis désormais APRES l'appel à la fonction NaturalSharpen4K. Avec une source 10 bits, ça donne :

Levels(64, 1.0, 940, 64, 940*TMgain, false, false) # source 10 bits

A part ce chgt, pas d'autres évolutions. Comme on est maintenant en 10 bits, la conso CPU lors de la lecture d'un BRD UHD s'est effondrée à 12% avec mon post-traitement qui fait un downscale UHD -> FHD. Et si je booste le DTM, c'est 13%. Je rappelle que je tourne avec un AMD 5600X@4.725 Ghz et une minable Radeon RX550. On peut donc désormais se monter un PCHC avec un budget plancher si on n'est pas intéressé par le gaming et qu'on veut zapper le traitement HDR de son projo (au passage, j'ai lu sur le forum que thxrd fait systématiquement du DTM PQ->SDR +sharpen sur son projo DLP cinema 4K tri laser de la mort qui tue sur 8m de base... Il passe par un envy).

Rq : en 10 bits, la correction du BRD UHD "Arrival" est désormais :
Levels(3*4, 1.0, 252*4, 0, 1023, false, true) # correction BRD UHD Arrival (source 10 bits)
Dernière édition par Emmanuel Piat le 08 Jan 2023 14:51, édité 4 fois.
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10476
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 08 Jan 2023 13:56

Nota : ds MPC VR j'active Wait for Vblank before Present
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10476
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 08 Jan 2023 14:10

Sur une source UHD croppée au format 2.35:1, la conso CPU tombe à 8% (9% avec le boost du DTM).
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10476
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 08 Jan 2023 14:21

Nota 2 : à la fin du fichier HTPC.avs (script pour AVSF), j'ai mis :

Prefetch(12,4)

pour ne processer que 4 frames en avance sur les 12 coeurs. Ca suffit largement et ça évite de surcharger la mémoire.
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10476
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline


Retourner vers Logiciel PC Home-cinéma

 
  • Articles en relation
    Dernier message