Réglages décodeurs video/décodeurs audio/reclock* Décodage video
Edit 09/03/09 Nouveau !
Les possesseurs de cartes Nvidia peuvent bénéficier également d'une accélération permanente sur le H.264/AVC par l'intermédiaire de coreAVC 1.9 et de CUDA, même en post-processant avec ffdshow derrière.
Notez que cette possibilité n'est accessible qu'à partir des forceware 182.06.
Voir plus bas pour la config.NB : Les flux HD concernés sont par défaut encodés en YV12, mais les meilleurs résultats sont obtenus en convertissant le flux video en YUY2 en entrée de renderer, quand cette conversion est faite par ffdshow.
Il n'est pas nécessaire d'installer tous ces codecs, mais il est intéressant de voir lequel fonctionne le mieux sur sa machine.
Attention ! Ici il n'est question que de
décodage software, basé sur la puissance brute du CPU du PC.
Il est enfin possible avec MPC-HC d'engager une accélération DXVA supportée par les cartes graphiques récentes, mais elle présente certaines limites (pas de postprocess ffdshow additionnel, ne fonctionne pas sur tous les profils d'encodage...).
Mais j'y reviendrai dans la section consacrée aux réglages de MPC-HC.
=> Remoulade
=> CoreAVC
Cocher 16-235 et yv12, le traitement de mapping 0-255 sera fait plus tard.
Cochez également "Prefer CUDA acceleration" si vous possédez une CG nvidia compatible et demandez l'affichage de l'icône dans le systray ("use tray icon").
Dorénavant si cuda est actif, en lecture de film, l'icone dans le tray est verte :

Sinon elle reste bleue :
=> FFdshow
En choisissant le décodage effectué par ffdshow, certains utilisateurs ont pu constater un gros déséquilibre dans la charge des différents coeurs des CPU (dual core/quad).
Pour y remédier, la solution dans ce cas consiste à faire entrer le flux préalablement décodé par coreAVC ou Remoulade dans ffdshow.
Pour cela, il suffit dans windows de faire démarrer/exécuter et d'entrer la commande suivante :
- Code: Tout sélectionner
rundll32 "C:\Program Files\ffdshow\ffdshow.ax",configureRaw
et de valider :

Avec ce réglage, si on sélectionne ffdshow_raw dans les filtres directshow actifs, on récupèrera tout flux YV12 en provenance du décodeur sélectionné.
(Cf. "external filters" dans la partie dévolue à MPC-HC).
*Décodage audioConsidérons pour des raisons de simplicité que nous n'avons ici affaire qu'à un encodage multicanal AC3 5.1 (max 640kbs) ou DTS (max 1500kbs).
Les autres formats audio sont plutôt rares dans les containers et pourront être traités au coup par coup si besoin.
Les formats audio HD (true-hd, dts-hd MA...) présents sur les blu-ray/hd-dvd seront évoqués dans la dernière partie de cette aide ("comment lire un stream blu-ray/hd-dvd avec mpc-hc").
=> AC3filter3 hypothèses se présentent :
- Le son est envoyé en SPDIF à l'ampli AV, c'est ce dernier qui prend en charge le décodage.
- Le son est décodé/traité (niveaux/délais/bass management) par AC3filter depuis le PC puis envoyé en analogique à l'ampli.
- Le son est décodé par AC3filter, reversé en kernel streaming par reclock et récupéré en asio via console, traité/filtré via VST et envoyé en analogique à l'ampli : je n'en parlerai pas ici, ceux qui savent faire ça n'ont a priori pas besoin de ce tutorial

.
+ en SPDIF


+ en analogique
Attention les réglages de niveaux, délais et BM sont à titre d'exemple, ne les reprenez pas à votre compte.
Calibrez plutôt votre install !



* ReclockAh, reclock.
Quand on ne connait pas c'est le genre de programme qui fait peur, un peu comme girder ou ffdshow...
Quand on connaît, on regrette de ne pas l'avoir su avant, tout en pestant contre ce foutu soft.
Tout un poème et pourtant indispensable...
Ici reclock va être utilisé pour fluidifier au maximum la lecture des vidéos, éliminer le fameux judder qui donne la tremblotte à tous les travellings et autres, quitte à "tricher" un peu avec les fréquences.
Je ne parlerai ici que de fichiers HD encodés en 24p (i.e 23.976 i/s) mais il va de soi que ces principes sont applicables à toutes les fréquences (24,25,30 fps).
Le but de la manoeuvre est de faire coïncider le nombre d'images/seconde avec la fréquence de rafraichissement du diffuseur (exacte ou multiple), de manière à synchroniser les frames.
Par exemple pour du 24 i/s, 24hz/ 48/ 72 etc...
Encore une fois plusieurs situations se présentent :
-
le diffuseur ne prend que le 50/60hz.
Dans ce cas, il faudra se placer en 50hz et accélerer le flux video en 25 i/s tout en engageant le timestretching, pour retrouver la tonalité normale (pitch) de la bande-son (contrer les effets de ce qu'on appelle le pal-speedup).
Ce traitement entraine une légère accélération du défilement au profit d'une fluidité retrouvée.
Si le son est envoyé en SPDIF il faudra dans ce cas précis, réencoder le son en AC3 à 48khz à la volée (ce que fait reclock) sous peine de perdre des paquets de données en liaison spdif, ce qui provoque des drops audio.

Si le son est envoyé en analogique, pas besoin de réencoder, le réglage se présente comme suit :

-
le diffuseur prend du 24/48/72hz... ou vous souhaitez rester en 60hz, parce que ça vous plaît comme ça

.
Reclock va dans cette hypothèse très légèrement accélerer le 23.976 en 24 i/s de manière à "matcher" au mieux le rafraichissement du diffuseur.
Pas de différence cette fois entre SPDIF et analogique :

Dans tous ces cas de figure, reclock va resampler la flux audio avec plus ou moins de qualité.
Les algos de resample employés sont ce qui se fait de mieux à partir des réglages "good" jusqu'à "excellent" (best sinc), seul le rapport s/b change.
Il n'entrainent pas non plus de dégradations audibles majeures.
Personnellement, je déconseille très fortement de dépasser le resample en mode "very good", le réglage "excellent" occasionnant un surcroît de consommation CPU monstrueux sans différence qualitative palpable.
La suite des onglets :

Privilégier direct draw à D3D sinon reclock va entrer en conflit avec le renderer video (D3D aussi) et empêcher l'affichage.
Reclock est également dans ses dernières versions capable de récupérer les timings de powerstrip( s'il est actif) ou de faire appel à la GDI (Graphics Device Interface : norme zindoze pour la représentation d'objets graphiques ainsi que pour leur transmission aux périphériques de sortie) pour les reconnaître.

Une fois reclock lancé avec le player en lecture video, une petite icone dans le tray windows va se lancer.
Le code couleur est le suivant :
. jaune = aucun refresh n'est compatible, reclock adapte au mieux.
. clignotant rouge/vert = reclock a trouvé un refresh proche du flux video et cherche les meilleurs timings à adopter( dure plusieurs minutes)
. vert = reclock a les timings en mémoire pour ce refresh (ou alors il ne trouve carrément pas de flux video à synchroniser

).
x2-cliquer dessus et régler comme suit :

Voila, reclock est configuré (enfin bon, normalement...).
@+,
Xavier.