Modérateurs: Modération Forum Home-Cinéma, Le Bureau de l’Association HCFR • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 38 invités

Toutes les solutions à base d'ordinateur (PC, Mac, Linux...)

[MPC] Filtre(s) Pixels shaders ...

Message » 09 Sep 2007 0:47

j'ai trouvé un patch non appliqué sur le splitter flv :
Code: Tout sélectionner
Index: FLVSplitter.cpp
===================================================================
--- FLVSplitter.cpp   (revision 192)
+++ FLVSplitter.cpp   (working copy)
@@ -326,8 +326,19 @@
                
                VideoTweak fudge;
                ReadTag(fudge);
-            
-               if((m_pFile->BitRead(16) & 0x80fe) != 0x0046) break;
+                        
+               if (m_pFile->BitRead(1)) {
+                // Delta (inter) frame
+                  break;
+               }
+               m_pFile->BitRead(6);
+               bool fSeparatedCoeff = !!m_pFile->BitRead(1);
+               m_pFile->BitRead(5);
+               int filterHeader = m_pFile->BitRead(2);
+               m_pFile->BitRead(1);
+               if (fSeparatedCoeff || !filterHeader) {
+                m_pFile->BitRead(16);
+               }
 
                h = m_pFile->BitRead(8) * 16;
                w = m_pFile->BitRead(8) * 16;

et un patch qui diffère du tien sur le filtre source ac3/dts :
Code: Tout sélectionner
--- DTSAC3Source2.cpp   Sat Sep  8 22:44:29 2007
+++ DTSAC3Source.cpp   Sat Sep  8 22:40:08 2007
@@ -194,20 +194,16 @@
          1509750,1920000,2048000,3072000,3840000,0,0,0
       };
 
-#define   DTS_MAGIC_NUMBER   6   //magic number to make sonic audio decoder 4.2 happy
-
       m_nSamplesPerSec = freqtbl[freq];
       m_nAvgBytesPerSec = (bitratetbl[transbitrate] + 4) / 8;
 //      m_nBytesPerFrame = m_nAvgBytesPerSec*10.656063618290258449304174950298/1000 + 0.5;
-      m_nBytesPerFrame = framebytes*DTS_MAGIC_NUMBER;
-      if (framebytes == 2012)
-      {
-         // DTS and DTS-HD tracks from HD DVD and Blu-Ray sources have framesizes of 2012 bytes
-         // but if we handle them mathematically "correctly", audio sync will slowly drift away
-         // we have to handle them as if they had 2013 bytes
-         m_AvgTimePerFrame = 10000000i64 * (2013*DTS_MAGIC_NUMBER) * 8 / bitratetbl[transbitrate];
-      }
-      else
+      m_nBytesPerFrame = framebytes;
+      if( framebytes == 2012 )
+       // DTS and DTS-HD tracks from HD DVD and Blu-Ray sources have framesizes of 2012 bytes
+       // but if we handle them mathematically "correctly", audio sync will slowly drift away
+       // we have to handle them as if they had 2013 bytes
+        m_AvgTimePerFrame = 10000000i64 * 2013 * 8 / bitratetbl[transbitrate];
+     else
          m_AvgTimePerFrame = 10000000i64 * m_nBytesPerFrame * 8 / bitratetbl[transbitrate];
 
       m_subtype = MEDIASUBTYPE_DTS;
@@ -248,11 +244,9 @@
             448000,448000,512000,512000,576000,576000,640000,640000
          };
 
-#define   AC3_MAGIC_NUMBER   3   //magic number to make sonic audio decoder 4.2 happy
-
          m_nSamplesPerSec = freqtbl[freq];
          m_nAvgBytesPerSec = (bitratetbl[bitrate] + 4) / 8;
-         m_nBytesPerFrame = m_nAvgBytesPerSec*32/1000*AC3_MAGIC_NUMBER;
+         m_nBytesPerFrame = m_nAvgBytesPerSec*32/1000;
          m_AvgTimePerFrame = 10000000i64 * m_nBytesPerFrame * 8 / bitratetbl[bitrate];
          
          m_subtype = MEDIASUBTYPE_DOLBY_AC3;
@@ -272,8 +266,8 @@
 
          int freqtbl[] = {48000,44100,32000,22400,22050,16000,48000};
          m_nSamplesPerSec = freqtbl[fscod];
-         m_nBytesPerFrame = (2+(id >> 23)+((id&0x00070000)>>7))*6;
-         int timetbl[] = {320000, 640000, 960000, 1920000};
+         m_nBytesPerFrame = 2+(id >> 23)+((id&0x00070000)>>7);
+         int timetbl[] = {53333, 106667, 160000, 320000};
          m_AvgTimePerFrame = timetbl[numblkscod];
 
          m_subtype = MEDIASUBTYPE_DOLBY_AC3;

Pourquoi pas passer à la nouvelle icone aussi ?

j'attends la nouvelle build, et merci pour ton travail !
MatMaul
 
Messages: 28
Inscription Forum: 14 Juin 2006 21:48
  • offline

Message » 09 Sep 2007 17:21

Effectivement il manque un des patchs dans FLVSplitter. Pour AC3 splitter c'est une modification fait par Madshi qui n'est pas intégré dans le build de clsid :

http://forum.doom9.org/showthread.php?p ... ost1037928

Merci pour avoir trouvé le patch manquant
casimir666
 
Messages: 268
Inscription Forum: 26 Fév 2005 0:11
  • offline

Message » 09 Sep 2007 19:08

@casimir666

j'aurais aimé savoir si le filtre interne des sous titre est desactivable , j'aimerai passé par celui de ffdshow . Si ce n'est pas le cas pourrais tu nous donner le choix dans une prochaine version ?

Edit : autant pour moi l'option était sous mon nez :p , ça me donne l'occasion de te feliciter sur ton bon boulot ;-)
ambamo
 
Messages: 230
Inscription Forum: 01 Juin 2003 15:51
Localisation: Charente Maritime
  • offline

Message » 11 Sep 2007 17:14

Je viens de voir que MPC lisait les HD-DVD et les BlueRay :o Qu'en est-il de la gestion des menus ? Le support de l'accélération matérielle par la carte graphique est-il prévu ? Parceque si MPC arrive à être aussi bon pour la haute def qu'il ne l'est pour les DVDs, c'est du lourd ! :)

Guillaume
yaumeguy
 
Messages: 1796
Inscription Forum: 14 Oct 2001 2:00
Localisation: Nantes
  • offline

Message » 11 Sep 2007 17:19

Il me semble que mplayerc fait appel aux codecs externes pour lire la hd. (coreavc par exemple). SI ces codecs utilisent la carte vidéo et autorisent l'utilisation en externe ça pourrait marcher.

Il me semble que les codecs de cyberlink ne peuvent pas etre utilisés dans un autre logiciel que powerdvd.

N'hésitez pas à me corriger.
yawie
 
Messages: 533
Inscription Forum: 16 Fév 2005 17:17
  • offline

Message » 11 Sep 2007 17:23

Oui c'est ça, mais pour l'instant coreavc n'utilise pas l'accélération materielle (mais c'est prévu). En fait j'aurai voulu savoir si les codecs cyberlink pourrait un jour être utilisés via un autre player que powerdvd, ou si des codecs équivalents allait voir le jour.... Dernière solution, contourner la protection des codecs cyberlink :mdr:

Guillaume
yaumeguy
 
Messages: 1796
Inscription Forum: 14 Oct 2001 2:00
Localisation: Nantes
  • offline

Message » 11 Sep 2007 19:55

yaumeguy a écrit:Oui c'est ça, mais pour l'instant coreavc n'utilise pas l'accélération materielle (mais c'est prévu).

Cette version est annoncée depuis plus d'un an... Sinon ils ont commencé à mettre l'accélération DXVA dans ffdshow mais je ne sais pas ou ils en sont.

yaumeguy a écrit:En fait j'aurai voulu savoir si les codecs cyberlink pourrait un jour être utilisés via un autre player que powerdvd, ou si des codecs équivalents allait voir le jour

Le codec H264 normalement est utilisable dans MPC, seul le VC1 est bridé sur PowerDVD (pour combien de temps encore?).
casimir666
 
Messages: 268
Inscription Forum: 26 Fév 2005 0:11
  • offline

Message » 11 Sep 2007 20:47

yawie a écrit:Il me semble que mplayerc fait appel aux codecs externes pour lire la hd. (coreavc par exemple). SI ces codecs utilisent la carte vidéo et autorisent l'utilisation en externe ça pourrait marcher.

Il me semble que les codecs de cyberlink ne peuvent pas etre utilisés dans un autre logiciel que powerdvd.

N'hésitez pas à me corriger.


Moi j'utilise le decodeur H264/AVC decoder de cyberlink ( issu de powerdvd ultra 7.3 ) pour lire les DVD en tant que filtre externe avec MPC et cela fonctionnne très bien .

D'ailleurs la case " use Dvxa " est cochée mais je ne pense pas que cela fonctionne avec ma 8800 gts , vu l'utilisation relativement importante du processeur : environ 8 % pour mon E6600 à 3.4 Ghz.

Il y a t il un moyen de verifier que l'acceleration materielle fonctionne ?

Sinon , je voudrais savoir ce qu'il faut faire pour lire les bluray et hd dvd avec MPC ?

Merci.
riri15
 
Messages: 1019
Inscription Forum: 04 Jan 2006 21:16
Localisation: isere
  • offline

Message » 12 Sep 2007 11:21

8% c'est pas beaucoup pour de la HD
Tu peux toujours décocher udxva pour voir si la charge change.

Je suis content de m'être trompé sur ce coup là. C'est bien qu'on puisse utiliser le codec h.264 dans mplayerc. Pour le VC-1 ça consomme vraiment beaucoup moins de cpu, ce n'est pas trop grave de le faire en soft.
yawie
 
Messages: 533
Inscription Forum: 16 Fév 2005 17:17
  • offline

Message » 12 Sep 2007 11:48

bonne nouvelle pour l'intégration du codec h264 cyberlink dans powerdvd ! Sinon 8% d'occupation CPU c'est très peu pour de la HD, l'accélération materielle est très probablement activée je pense.

Reste donc le problème de la gestion des menus, je n'ai pas trouvé s'il y avait un moyen de les gérer...

Voici un topic consacré à MPC et les HD-DVD/Blue-ray :

http://forum.doom9.org/showthread.php?t=129030

Guillaume
yaumeguy
 
Messages: 1796
Inscription Forum: 14 Oct 2001 2:00
Localisation: Nantes
  • offline

Message » 15 Sep 2007 0:36

La version 1.0.10.0 est maintenant dispo à l'endroit habituel, avec les nouveautés suivantes :

Nouvelles fonctions :
- Ajout des derniers patches de Clsid (Bento4 0.9.3, faad2 2.6b, dtsdec 0.0.2, libmad 0.15.1b, libpng 1.2.18, zlib 1.2.3, mpeg decoder: progressive frames fix, mpeg decoder: dsutil interlaced fix v2)
- Ajout de l'option "/d3dfs" pour activer le D3D plein écran en ligne de command
- Support des écrans LCD logitech (comme par exemple le clavier G15)
- L'option pour mémoriser la position dans le fichier et dans le DVD n'est pas active si l'historique est desactivé
- Le screen saver est desactivé uniquement si la vidéo en lecture
- Support de Vista 64 bits (version beta pour le moment)
- Support multilangue : anglais, français et allemand. Nécessite de telecharger le "language pack" et deplacer les Dlls dans le même répertoire que MPC
- Passage au SDK DirectX de Août 2007

Corrections :
- Mauvais aspect ratio dans les vidéo anamorphiques avec EVR custom (correction définitif j'espère ;)
- Le décodeur interne Mpeg2 fonctionne maintenant avec Evr et Evr custom
- Problèmes de synchronisation audio avec les fichiers Blu-Ray/HD DVD DTS et mauvais calcul de AvgTimePerFrame pour le DTS et AC3 (madshi)
- Affichage OSD affichant des pixels aléatoire lorsque la Dll D3DX9_... dll n'était pas présente
la souris fonctionne avec l'EVR custom sous Vista (pas XP...)
- Correction dans le filtre FLV lorsque la vidéo ne commençait pas par une image clé
- Faille de sécurité CAL-20070912-1 dans le filtre source AVI interne (possibilité d'exécution d'un code malveillant avec les droits de l'utilisateur)
- Faille de sécurité dans le filtre source interne FLI (référencé par Team 509)
casimir666
 
Messages: 268
Inscription Forum: 26 Fév 2005 0:11
  • offline

Message » 16 Sep 2007 1:52

une premier version beta x64 :D

bon ... plus qu'à arriver à faire fonctionner ffshow tryout x64 (marche pas chez moi :( qqun sait si faut des dlls particulières ? )
et après je test mpc hd 64

note perso: c est dommage que ffdshow utilise si peu le muticore (autant dire pas du tout) car quand on commence à activer des filtres gourmand ça serait pas du luxe

ou alors du 'CUDA" sauce nvidia pour utiliser pour profiter de la puissance de calcul des unité shader pour certains filtre

ça devrait aider pour le debruiteur 3D ou l accentuation
... non ?
phoenix-fr
 
Messages: 93
Inscription Forum: 02 Juin 2007 14:04
  • offline

Message » 17 Sep 2007 9:57

J'ai essayé le codec de powerdvd pour le h.264 (sur une 7900 gto, donc avec purevideo pas hd).
Ca marche moins bien que coreavc. J'ai certaines vidéos qui ne passent plus.

Avec des carte 8xxx ça marcherait peut etre mieux (cf les différentes implémentations http://www.nvidia.com/docs/CP/11036/Pur ... arison.pdf)

En effet, ma carte supporte H.264 Decode Acceleration
mais pas H.264 Decode Acceleration with IDCT and CAVLC/CABAC
yawie
 
Messages: 533
Inscription Forum: 16 Fév 2005 17:17
  • offline

Message » 17 Sep 2007 21:59

Pour voir DXVA fonctionne avec PowerDVD, CiNcH viens de trouver le raccouci magique : il faut ouvrir ouvrir les propriété du filtre Cyberlink en ayant la touche "Ctrl" d'appuyée. Le filtre affiche alors MC si DXVA est actif :

Press CTRL (STRG for German readers) and together the 'CyberLink H.264/AVC Decoder' (Play -> Filters), the extended properties will show up. The profile tells you about hardware acceleration:

SW = pure software mode
MC = part of the decoding pipeline is sourced out to the GPU (e.g. PureVideo HD)
Bitstream = all decoding steps are performed on the GPU (e.g. PureVideo HD2)
casimir666
 
Messages: 268
Inscription Forum: 26 Fév 2005 0:11
  • offline

Message » 18 Sep 2007 8:35

OK, je comprend pourquoi ça ramouille. Par contre j'ai activé dxva et normalement j'ai une carte compatible. Donc HW ça serait à partir des cartes uniquement purevideo HD.
Image

J'arrive à obtenir le profil MC sur EVR (Vista .net3) (pas sur les autres modes de rendu, EVR custom inclus)

Par contre ça ne gagne rien, 1 ou 2 fps, ce qui me passe de 13 à 15 alors qu'avec coreavc je suis à 25 constant (sur ce film en particulier).
yawie
 
Messages: 533
Inscription Forum: 16 Fév 2005 17:17
  • offline


Retourner vers Matériel PC Home-cinéma