Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3332 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4
Auteur Sujet :

DivX et décompression hardware

n°143543
nonos
Posté le 26-10-2001 à 10:15:58  profilanswer
 

Reprise du message précédent :
et tu as réussit à intégrer le codec divx 4.02 dans le graph ?

mood
Publicité
Posté le 26-10-2001 à 10:15:58  profilanswer
 

n°143545
BlackSunSo​ft
Keyboard error - Press F1
Posté le 26-10-2001 à 10:25:57  profilanswer
 

nan, en fait j'utilise des filtres (.ax) speciaux qui me propose le icccompressor choose, donc je peux choisir le codec comme n'importe quel app


---------------
PowerDivX NextGen 3.12 sur: http://www.powerdivx.com
n°143551
nonos
Posté le 26-10-2001 à 10:38:06  profilanswer
 

tu l'as trouvé où ton filtre pour la compression ?
 
du coup, tu n'as pas de resize et crop ?

n°143607
BlackSunSo​ft
Keyboard error - Press F1
Posté le 26-10-2001 à 14:21:36  profilanswer
 

j'ai trouvé ça sur Doom9, faut fouiller un peu... Ou alors sur DivX-Digest


---------------
PowerDivX NextGen 3.12 sur: http://www.powerdivx.com
n°143617
nonos
Posté le 26-10-2001 à 14:43:06  profilanswer
 

ok j'ai trouvé. Effectivement c'est plus simple. Par contre pas de cropping.
j'essaie ce  soir.

n°145153
nonos
Posté le 29-10-2001 à 10:13:12  profilanswer
 

bon, j'arrive pas.
j'ai fait le graph directshow avec cinemaster et le filtre permetant l'encodage (http://www.doom9.org/Soft21/Files/Encoders/I-Media_MPEG2_To_AVI_June18_2000_.zip).
 
Le problème, c'est que je n'arrive pas à trouver un filtre à mettre entre le filtre ATI mpeg decoder et le filtre Imedia.
 
ATI en sortie : videoinfo2
Imedia en entrée : RGB24 eo RGB32
 
qqun a une solution ??
 
on en est pas loin !! bientôt les 30 fps !

n°145160
BlackSunSo​ft
Keyboard error - Press F1
Posté le 29-10-2001 à 10:20:41  profilanswer
 

ouais, c'est ça le probleme... Il faudrait un filtre pour convertir du YUV en RGB, mais comme tu l'imagines, ça doit pas etre facile a trouver et en plus ça doit ralentir le tout...


---------------
PowerDivX NextGen 3.12 sur: http://www.powerdivx.com
n°145172
nonos
Posté le 29-10-2001 à 10:35:13  profilanswer
 

ce que je ne comprends pas, c'est que j'avais réussi à faire un graph complet avec le filtre ATI.
ca ressemblait à ca :
".vob" => Mpeg spliter => ATI mpeg decoder => overlay mixer 2 => video renderer
 
j'arrive plus à le faire (le lien overlay mixer et ati ne veut plus se faire ??!!)

n°145183
BlackSunSo​ft
Keyboard error - Press F1
Posté le 29-10-2001 à 10:54:03  profilanswer
 

L'overlay mixer va faire la conversion, mais ton graph ne sert qu'a la lecture


---------------
PowerDivX NextGen 3.12 sur: http://www.powerdivx.com
n°158783
nonos
Posté le 21-11-2001 à 21:12:32  profilanswer
 

ca avance :
en incluant le filtre de powerdvd avec l'accélération matérielle j'atteinds maintenant les 18 fps !!!!!! (12 fps avec le rippack)
l'image est nickel et plus ca désentrelace.
 
par contre c'est pas optimisé !
donc en reprenant les source de dvd2avi et en utilisant le filtre de powerdvd, je n'ose imaginer le gain !

mood
Publicité
Posté le 21-11-2001 à 21:12:32  profilanswer
 

n°158943
nonos
Posté le 22-11-2001 à 09:17:47  profilanswer
 

bon, avant que je me lance dans la reprise du code de mpeg2avi (logiciel utilisé par Bruce), pouvez vous me confirmer ce gain de 50% MINIMUM ?
 
".vob"=>mpeg-spliter=>filtre powerdvd=>I-media resizer=>I-media renderer
 
Pouvez vous tester la chaine chez vous et m'annoncer le gain que vous observez ? A noter que ca marche pour tous les possesseurs d'une carte qui décompresse le MPEG-2.
 
Autre chose : ca vous semble réalisable de remplacer le module de décodage mpeg2 de mpeg2avi par un filtre directshow ?

n°159048
nonos
Posté le 22-11-2001 à 12:09:52  profilanswer
 

j'ai récupéré les source de mpeg2avi 0.15d.
je commence à les lire mais je ne vois pas trop comment le décodage et l'encodage sont fait dans la fonction "EncodeMpeg2Avi"
 
Avez vous des docs qui explique le fonctionnement en détail (les .txt fournis ne sont pas assez explicite) ou avez vous déjà compris son fonctionnement ?
 
Merci aux developpeurs expérimentés de se lancer dans l'aventure !

n°159083
BlackSunSo​ft
Keyboard error - Press F1
Posté le 22-11-2001 à 13:01:36  profilanswer
 

J'ai trop sommeil  :sleep:


---------------
PowerDivX NextGen 3.12 sur: http://www.powerdivx.com
n°159106
nonos
Posté le 22-11-2001 à 13:37:25  profilanswer
 

C'est pourtant un sujet interessant BlackSunSoft ?

n°159114
BlackSunSo​ft
Keyboard error - Press F1
Posté le 22-11-2001 à 13:57:52  profilanswer
 

Oui mais je suis en train de m'endormir sur mon clavier...
A mon avi DVD2AVi serait peut être un meilleur decoder, car le code de m2a est mal organisé...


---------------
PowerDivX NextGen 3.12 sur: http://www.powerdivx.com
n°159124
nonos
Posté le 22-11-2001 à 14:38:05  profilanswer
 

je commence à m'en rendre compte...
par contre le rippack de Bruce utilise mpeg2avi... ce serait donc plus simple en fait de reprendre mpeg2avi.

n°159534
BlackSunSo​ft
Keyboard error - Press F1
Posté le 23-11-2001 à 08:31:40  profilanswer
 

Bruce va utiliser DVD2Avi...


---------------
PowerDivX NextGen 3.12 sur: http://www.powerdivx.com
n°159546
nonos
Posté le 23-11-2001 à 09:10:03  profilanswer
 

mais on peut encoder directement sous dvd2avi ? Je croyais qu'il servait de frameserver ?

n°159550
Slyde
Lizard of the Coast
Posté le 23-11-2001 à 09:13:29  profilanswer
 

BlackSunSoft a écrit a écrit :

ouais, c'est ça le probleme... Il faudrait un filtre pour convertir du YUV en RGB, mais comme tu l'imagines, ça doit pas etre facile a trouver et en plus ça doit ralentir le tout...  




 
Je serais presque capable de faire çà si on me file un squelette de filtre DirectShow et deux trois docs qui vont avec pour me permettre de capter leur fonctionnement, ensuite jpeut te convertir tout en n'importe quoi ! (RGB<->HSL, RGB<->YUV, RGB<->YUY2, YUV<->RGB, HSL<->RGB, YUV<->RGB, etc :D)


---------------
Le topic du QLRR et FIRE - Knowledge is power. Power corrupts. Study hard, become evil.
n°159552
nonos
Posté le 23-11-2001 à 09:31:12  profilanswer
 

si tu installe le sdk directx, tu auras des exemples d'utilisation de filtres directshow.
C'est pas super compliqué.
 
je me suis tapé le code de mepg2avi hier soir. C'est faisable.
 
toute la partie lecture des ".vob" et décodage mpeg2 peut-être remplacée par un chaine directshow.
ensuite il faut connecter la pin YUV du player sur la partie encodage divx de l'image mpeg2 décompressée.
 
on peut même faire le resize à partir du player ! Je crois même que le crop et possible. Avantage en plus : ca désentrelace.
 
 
on peut ensuite imaginer un thread de décodage mpeg2 et un thread d'encodage divx avec une zone partagée d'image mpeg2 décodée. Le gain doit être là aussi interressant.
 
Je continue mes recherches !!!

n°159553
BlackSunSo​ft
Keyboard error - Press F1
Posté le 23-11-2001 à 09:33:27  profilanswer
 

Slyde je suis sur qu'un filtre de conversion pourrait interesser du monde, encore mieux si c'est en opensource...
 
Je continue a dire que c'est faisable


---------------
PowerDivX NextGen 3.12 sur: http://www.powerdivx.com
n°159671
Slyde
Lizard of the Coast
Posté le 23-11-2001 à 13:56:47  profilanswer
 

Jvais regarder les sources de filtres style DVobSub :D


---------------
Le topic du QLRR et FIRE - Knowledge is power. Power corrupts. Study hard, become evil.
n°159674
nonos
Posté le 23-11-2001 à 14:02:40  profilanswer
 

regardes aussi celles de Imedia.
 
je lis les docs direcshow : c'est trop fort !

n°160069
BlackSunSo​ft
Keyboard error - Press F1
Posté le 24-11-2001 à 07:56:45  profilanswer
 

Je suis en train de parcourir MSDN... pffff


---------------
PowerDivX NextGen 3.12 sur: http://www.powerdivx.com
n°160632
nonos
Posté le 25-11-2001 à 19:34:42  profilanswer
 

télécharges le sdk directx, la doc fournie est excellente.
 
bon je gallère un peu dans la création sous c++ de ma chaîne de décodage mpeg2.
 
ceux qui lisent ce post de temps en temps : avez-vous déjà essayé ?

n°160773
ZXR
Posté le 26-11-2001 à 05:36:44  profilanswer
 

p'tit up :bounce: pour vous motivé :benetton:  
votre boulot est vraiment prometteur pour ce qui possède des ATI car en fait on perd bcq plus en charge CPU à la décompress mpg2 que pour le DVIX (j'avais lu ça quelque part)

n°160858
nonos
Posté le 26-11-2001 à 10:24:41  profilanswer
 

Et pas que pour ceux qui possède une ATI ! Puisque powerdvd utilise aussi l'accélération matérielle lorsqu'une carte de décompression mpeg2 est installée.

n°161157
ZXR
Posté le 26-11-2001 à 18:52:41  profilanswer
 

allez les génies de la programmation,plutot que de copier les pak de Jésus et de Bruce sortez plutot ce filtre depuis le temps qu'il n'y a plus de vrai amélioration sur le ripp

n°161205
mphilamp
ForwWweever!
Posté le 26-11-2001 à 20:09:53  profilanswer
 

:ouch:  :eek2:

n°161209
Slyde
Lizard of the Coast
Posté le 26-11-2001 à 20:14:24  profilanswer
 

C'est légèrement d'un autre niveau aussi :D
 
Si quelqu'un me fournit dla doc et un skelette de filtre j'aimerais bien jeter un coup d'oeil dans quelque temps.


---------------
Le topic du QLRR et FIRE - Knowledge is power. Power corrupts. Study hard, become evil.
n°161257
nonos
Posté le 26-11-2001 à 21:50:45  profilanswer
 

je suis en train de faire la chaîne directshow mais c'est pas si évident que ca... j'espère avoir des résultats d'ici la fin de semaine.

n°161267
jugatsu
let&#039;s play...
Posté le 26-11-2001 à 22:08:42  profilanswer
 

Voilà, j'ai juste une petite question, si vous arrivez à faire votre système de filtre, ne sera-t-il appliquable que sur des ATI, si oui, est-ce qu'il serait vraiment difficile de faire un autre filtre pour la motion compensation (même si ça n'accélère pas vraiment). Désolé si vous trouvez ma question un peu bête, mais votre travail est vraiment passionant, alors voilà...


---------------
"On est pas le meilleur quand on le croit, mais quand on le sait." Morpheus - Matrix
n°161286
nonos
Posté le 26-11-2001 à 23:02:57  profilanswer
 

Bon, ca y est je bloque. Je ne suis pas un expert c++.
Pour faire avancer l'étude, voici où j'en suis. Avis à toute les personnes motivées !
 
Mon idée, c'est de reprendre la base de mpeg2avi (utilisé par Bruce dans son Rippack) et de remplacer la partie décodage MPEG-2 par une chaîne Directshow utilisant le filtre de PowerDvd (qui utilise l'accelération matérielle des cartes MPEG-2).
 
Le filtre donnerait :
".vob" -> MEPG-2 Splitter -> PowerDVD
 
Ensuite il faut s'interfacer avec la pin de sortie du filtre de PowerDVD pour récupérer l'image décodée et l'envoyer dans le codec Divx.
 
Pas mal d'avantages avec directshow:
- qualité
- déinterlace effectué
- gestion des buffers (possibilité de décoder des images à l'avance)
- possibilité de demander au filtre PowerDVD de cropper et resizer l'image décodée (via les 'source and target rectangles';)
 
 
Docs utilisées:
- l'aide du sdk Directx 8a.
- un guide sur la création manuelle d'un graph : http://www.flipcode.com/tutorials/tut_dshow03.shtml
 
j'ai commencé à faire le graph en définissant le filtre de PowerDVD
 
#define INITGUID
DEFINE_GUID(CLSID_PowerDvd,
0x9BC1B781, 0x85E3, 0x11D2, 0x98, 0xD0, 0x00, 0x80, 0xC8, 0x4E, 0x9C, 0x39);
 
et ensuite je crée l'instance du filtre :
CoCreateInstance(CLSID_PowerDvd, NULL, CLSCTX_INPROC_SERVER, IID_IBaseFilter, (void**)&g_pPDVD);
 
 
je passe le code autour
à la compilation je me tape :
 
Linking...
playwnd.obj : error LNK2001: unresolved external symbol _CLSID_PowerDvd
 
 
Bref, j'y arrive pas.
HELP !

n°161376
BlackSunSo​ft
Keyboard error - Press F1
Posté le 27-11-2001 à 07:25:56  profilanswer
 

Il faut declarer le CLSID du filtre PowerDVD, donc rechercher dans la base de registre... Ou alors tu enumeres les filtres


---------------
PowerDivX NextGen 3.12 sur: http://www.powerdivx.com
n°161415
nonos
Posté le 27-11-2001 à 09:39:22  profilanswer
 

c'est que j'ai fait (définition de CLSID_PowerDvd trouvé dans la base de registre).
la compilation marche bien jusqu'au linking.
déjà en C j'avais des soucis sur ce genre de chose... alors en C++.

n°161417
Slyde
Lizard of the Coast
Posté le 27-11-2001 à 09:42:59  profilanswer
 

Ca à l'air passionant vos machins :D
 
Vivement que les partielles soient passées :D


---------------
Le topic du QLRR et FIRE - Knowledge is power. Power corrupts. Study hard, become evil.
n°161439
nonos
Posté le 27-11-2001 à 11:21:47  profilanswer
 

Je viens de trouver ca sur un site microsoft :
 
"
Add a Filter as an Additional DLL in Developer Studio
If you're going to debug your filter with Microsoft Developer Studio version 5.0, you must tell the debugger about your filter. You should perform the following steps in Developer Studio to identify your filter as a debuggable DLL.  
 
From the Project menu, choose Settings.  
Select the Debug tab.  
Choose "Additional DLLs" from the Category drop-down list.  
Add "myfilter.ax" to the list, where "myfilter" is the name of your filter
"
 
c'est ce qui me manque ? Il faut déclarer le filtre comme externe au projet (même si ce n'est pas pour du débogage) ?
Je pensais que le déclarer dans le ".cpp" suffisait.
 
De toute façon j'essaie ce soir.

n°161478
BlackSunSo​ft
Keyboard error - Press F1
Posté le 27-11-2001 à 12:12:49  profilanswer
 

en delphi je fait comme ça:
cocreateinstance(CLSID_SampleGrabber, nil, CLSCTX_INPROC ,IID_IBASEFilter, BaseFilter);
GraphBuilder.AddFilter(BaseFilter, StringToOleStr(name));
 
Base filter est une instance IBaseFilter, le name c'est le nom du filtre (FriendlyName)


---------------
PowerDivX NextGen 3.12 sur: http://www.powerdivx.com
n°161483
nonos
Posté le 27-11-2001 à 12:26:17  profilanswer
 

oui mais CLSID_SampleGrabber est un type de filtre prédéfini.
moi je veux référencer le filtre de PowerDVD.

n°161499
BlackSunSo​ft
Keyboard error - Press F1
Posté le 27-11-2001 à 13:32:51  profilanswer
 

Oui je sais mais c'est un exemple. Si tu as dejà defini le CLSID du Cyberlink Video Decoder alors dans ce cas tu utilises son CLSID.


---------------
PowerDivX NextGen 3.12 sur: http://www.powerdivx.com
n°161502
nonos
Posté le 27-11-2001 à 13:35:54  profilanswer
 

c'est ce que je fais.
Par contre à la compilation j'ai un problème de link.

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4

Aller à :
Ajouter une réponse
 

Sujets relatifs
divx => svcdun soft pour lire les divx avec deux flux audios?
problème de sons qui se coupe sur un divxProblème de taille avec divx 4.02
divx? comment çà marchedesire faire divx
Son décalé sur certain DivxDivx 4.02 c'est bon? le 20% lui?
Problème de taille de DivX!!! HELP!!!Un soft qui gère la décompression en hardware pour divx...
Plus de sujets relatifs à : DivX et décompression hardware


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)