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

Tout ce qui ne rentrait pas dans les catégories ci dessus lors de la réorganisation ;)
Règles du forum
Avant de poster, merci de prendre connaissance des règles du forum : à lire avant de poster
Par ailleurs, il n'est pas possible de créer un nouveau sujet : merci de le faire dans un autre forum.

Accélération vidéo sous Linux : XvMC

Message » 07 Mar 2006 12:45

Petit rappel (tiré du document X-Video Motion Compensation - API specification v. 1.0) :

XvMC provides video acceleration starting at one of two places in the video pipeline. Acceleration starting at the first point, which we shall call the "Motion Compensation" level, begins after the the inverse quantization and IDCT at the place where motion compensation is to be applied. The second point, which we shall call the "IDCT" level, begins before the IDCT just after the inverse quantization.

Pour les anglophobes disons que XvMC est à linux ce que DXVA est à Windows, une API permettant d'utiliser l'accélération vidéo hardware embarquée dans les cartes graphiques (Motion Compensation, IDCT, ...)

A aujourd'hui seuls certains constructeurs permettent ce support. On notera Nvidia, Intel, S3, mais pas de ATI (pour changer...), je suppose que c'est en cours.

Dans le cadre d'un PCHC sous linux il paraît donc plus qu'intéressant d'utiliser XvMC en lieu et place de XV ou XSHM par exemple, histoire de soulager un peu le CPU (à la mode Purevideo ou Avivo sous Windows).

Voici donc mon retour d'expérience sur le sujet.

Mon matériel : CM Asus P4P800E-dlx, adaptateur CT-479, Pentium M 1,5Ghz@2Ghz, CG GF6600GT en AGP.
Mon Soft : Debian toute fraîche (passée en Testing), serveur Xorg 6.8, fluxbox, drivers nvidia 1.0-8178.

Tout d'abord installation classique des drivers nvidia via le script d'installation fourni sur leur site (je ne reviendrai pas sur le sujet, il y a assez d'aide sur le net pour ça).

Ensuite j'utilise exclusivement Xine (pas de mplayer) compilé avec les dernières versions CVS (xine-lib version 1.1.2 et xine-ui version 0.99.4) donc je ne parlerai que de lui, sachant que pour mplayer la manip est similaire.

Pour activer le support de xvmc il faut avoir installer les paquets de dev de libxvmc :
apt-get install libxvmc-dev (qui au passage installera libxvmc1)

Sans ça xine ne compilera pas le support xvmc.

Il faut aussi créer le fichier /usr/X11R6/lib/XvMCConfig (ou /etc/X11/XVMCConfig ou les deux, pour xine juste le premier suffit chez moi) et y mettre la ligne suivante :
/usr/X11R6/lib/libXvMCNVIDIA_dynamic.so

Remarque :
    * libXvMCNVIDIA_dynamic.so étant un lien dynamique vers la vraie librairie, les futures mises à jour des drivers ne remettront pas en cause le support XvMC (c'est une bonne chose !).

    * Si vous possédez un autre chip graphique faites un petit ls /etc/X11R6/lib/libXvMC* et vous trouverez peut-être une librairie propre à votre chipset (i810, S3, ...). Il suffira de mettre le bon nom de librairie.

Ensuite compilation de xine (./autogen.sh, make, make install) et là miracle xine supporte xvmc. (à la fin du ./autogen.sh il liste les mod supporté, dans la partie vidéo devrait apparaître xvmc)

Puis démarrage
xine -V xvmc <fichier>


Alors chez moi le résultat est assez mitigé. Je n'ai pas testé avec un dvd, je pense que le résultat doit être bon mais par exemple lors de la lecture de gros fichiers haute déf type mpeg2 en 1080 ça saccade malgré une occupation CPU correcte (environ 45%). En passant par xv c'est fluide (y'a pas, le pentium M c'est puissant !) tout en utilisant la même charge CPU. Par contre le filtre de désentrelacement contenu dans xvmc est apparemment très efficace, meilleur que les filtres que j'utilise en soft avec xine (tvtime) mais à confirmer. En tout cas ça ne mange pas de ressources CPU.

edit 1 : testé avec un dvd (Sin City). Effectivement la charge CPU diminue mais mon processeur est trop puisssant pour que le gain soit flagrant. En gros je passe de 8% à 3% ce qui est déjà pas mal. Il faudrait tester avec un processeur plus ancien ou un epia. De plus, et là c'est plus embêtant, une fois XvMC choisi les plug-in post video de xine n'ont plus aucun effet :( (ce qui peut paraître logique puisque c'est la CG qui fait tout et qu'il paraît donc difficile d'ajouter un traitement vidéo à la suite des opérations menées par la CG), à creuser.

A suivre donc, je ne désespère pas obtenir un bon résultat si Nvidia et consors font l'effort de porter leur avancée DXVA Windows sous XvMC linux, mais c'est une autre histoire.
Dernière édition par 'Z le 07 Mar 2006 15:15, édité 2 fois.
'Z
 
Messages: 595
Inscription Forum: 31 Déc 2003 12:06
Localisation: Lille (France)
  • offline

Message » 07 Mar 2006 12:51

Réservé...
'Z
 
Messages: 595
Inscription Forum: 31 Déc 2003 12:06
Localisation: Lille (France)
  • offline

Message » 07 Mar 2006 12:57

Heu... Normalement les 6x00 agp n'ont pas de Purevideo activé. Normal donc que tu ait la même occupation CPU...
tfpsly
 
Messages: 2700
Inscription Forum: 16 Jan 2004 2:05
Localisation: FR @ Zurich
  • offline

Message » 07 Mar 2006 14:55

Faux... Seules les 6800 sont affectées, pas les 6600 ni les 6200 :
http://www.nvidia.fr/page/purevideo_support.html
'Z
 
Messages: 595
Inscription Forum: 31 Déc 2003 12:06
Localisation: Lille (France)
  • offline

Message » 07 Mar 2006 15:18

Tres interressant ca, c'est pas souvent qu'on a des posts qui considère linux comme une bonne alternative a windows :)

Z, au passage tu pourrais nous donner tes options xine pour le desentrelacement ou autre filtre que tu appliques et tes impressions sur leur utilisation ?
Prysme
 
Messages: 149
Inscription Forum: 07 Sep 2002 12:30
Localisation: Montpellier
  • offline

Message » 07 Mar 2006 15:22

Ok, autant pour moi.
tfpsly
 
Messages: 2700
Inscription Forum: 16 Jan 2004 2:05
Localisation: FR @ Zurich
  • offline

Message » 07 Mar 2006 15:38

Une bonne alternative à Windows ! Et comment.
Bon ok faut avoir envie de plonger un peu la tête dedant mais une fois lancé on se rend compte qu'il y a vraiment tout ce qu'il faut pour un bon PCHC.
Déjà la gestion des résolutions est d'une simplicité extrème une fois qu'on a compris le truc, pareil pour le multi-écran. Pas besoin de powerstrip puisque c'est intégré au serveur d'affichage.
Autre exemple, la partie son. Par la peine de chercher les drivers Asio, les drivers linux (Alsa) sont l'équivalent d'Asio. Directwire -> Jack, dmix, etc...
et je peux continuer longtemps comme ça.
Un seul pré-requis : éviter le matériel exotique et vérifier la compatibilité, mais rassurez vous, hormis 3 4 bricoles que je n'achèterais pas sous Windows non plus, la plupart est bien supporté maintenant.

Concernant les filtres on va dire que je cherche encore, n'ayant pas vraiment eu le temps de totalement valider les formules magiques.

Toujours est-il que pour le DVD j'utilise :
- unsharp, luma_sharpen, 3x3, valeur luma=0.8
- denoise3D (valeurs à régler)
attention c'est super gourmand en ressources, surtout que ma résolution est de 1280x768 donc upscale (géré par xine je ne sais pas comment... et c'est pas plus mal, pas de prise de tête genre "bicubic c'est mieux que lancsoz etc. etc." :P)

Pour le désentrelacement je ne suis toujours pas décidé. Ils ont tous leur avantage et leur inconvénient. Il faut vraiment que je creuse le sujet (surtout que je regarde la TNT qui envoie des flux entrelacés...) mais en ce moment je prépare le déménagement donc stand-by. Mais promis dès que possible je viendrai donner mes résultats.

Perso je trouve Xine très bon avec une qualité d'image excellente et côté filtres c'est bien suffisant. De plus niveau ergonomie ça me va, une interface sympa et une bonne gestion des menus DVD.

Voilà.
'Z
 
Messages: 595
Inscription Forum: 31 Déc 2003 12:06
Localisation: Lille (France)
  • offline

Message » 08 Mar 2006 12:22

Petite question "linux" ;) "au passage" : tu trouve tous les decodeurs sous Linux ou seulement les open sources ?

Le VP6 et VP7 par exemple ?
Seb.26
 
Messages: 3255
Inscription Forum: 04 Mar 2004 16:43
  • offline

Message » 08 Mar 2006 12:29

Z tu dis que le changement de résolutions est super simple mais tu fais comment exactement ?
Car moi même en rajoutant les ModeLine dans le fichier de config XF96Config j'ai jamais réussi à la sélectionner après.
sauce
 
Messages: 1749
Inscription Forum: 10 Fév 2004 15:44
  • online

Message » 08 Mar 2006 12:40

Ctrl+Alt+Shift+ "+" ou "-" pour changer de résolution :P
tfpsly
 
Messages: 2700
Inscription Forum: 16 Jan 2004 2:05
Localisation: FR @ Zurich
  • offline

Message » 08 Mar 2006 12:46

sans trop dériver, pour le changement de resolution ca m'interresse aussi pour changer a la volée la freq en fonction des fps de la source :)
le CTRL+ALT+SHIFT +/- ok mais sans clavier c'est dur :)
y a une ligne de commande pour ca ? (lirc+irexec)
Prysme
 
Messages: 149
Inscription Forum: 07 Sep 2002 12:30
Localisation: Montpellier
  • offline

Message » 08 Mar 2006 12:50

J'ai un outil qui fait ça : xres 1600 1024 par exemple. Faut que je vois s'il est sur mon site (j'en suis l'auteur).

EDIT:
Trouvé les sources, mais je n'ai pas de binaires :
http://tfpsly.free.fr/Files/xres.tgz
Tu compiles. Si tu le lances sans option il affiche la liste des modes et te demande l'idx de celui que tu veux.
Si tu lances xres 1600 1024 il passe dans le premier mode ayant cette résolution.
Si tu lances xres 1600, il prend la première résolution trouvée avec 1600 pixels de large.
tfpsly
 
Messages: 2700
Inscription Forum: 16 Jan 2004 2:05
Localisation: FR @ Zurich
  • offline

Message » 08 Mar 2006 12:57

Après tu rajoutes une commande irexec avec config = "xres H V". Tu peux aussi faire un script autour pour switcher entre plusieurs résolutions avec un seul bouton.
tfpsly
 
Messages: 2700
Inscription Forum: 16 Jan 2004 2:05
Localisation: FR @ Zurich
  • offline

Message » 08 Mar 2006 14:51

changement de résolution/fréquence/rotation à la volée : xrandr
xrandr [-help] [-display affichage] [-o orientation] [-q] [-v] [-s taille] [-x] [-y] [--screen snum] [--verbose]

le manpage -> http://www.delafond.org/traducmanfr/X11 ... dr.1x.html

Si vous lancer xrandr dans un terminal il vous donnera le mode actif ainsi que tous les modes disponibles (ceux de base + les modelines ajoutés).
Faudrait que je vous poste mon xorg.conf, ça vous donnerai une idée (je gère un VP et un LCD via une 6600GT et bascule l'affichage entre les 2, 2 résolutions différentes, 50 ou 60hz selon les besoins)

à user et abuser !!!

edit : je sens que ce topic va se transformer en "comment on configure un PC linux pour faire du PCHC" :)
'Z
 
Messages: 595
Inscription Forum: 31 Déc 2003 12:06
Localisation: Lille (France)
  • offline

Message » 10 Mar 2006 11:10

Pour ceux que ça intéresse voici la formule magique pour activer l'accélération vidéo (mpeg 1 et 2) sous mplayer :
mplayer -vo xvmc -vc ffmpeg12mc <fichier mpeg .mpg .ts ...>

Evidemment il faut que mplayer soit compilé avec le support de xvmc.
Je n'ai pas encore testé mais d'après ce que j'ai lu c'est assez efficace, notamment sur le fichier HD type .ts en 1080 !
Si quelqu'un pouvait tester...
Sous xine je n'ai pas trouvé le moyen d'utiliser la librairie ffmpeg12mc d'où les problèmes avec les fichiers HD je pense.

''Z
'Z
 
Messages: 595
Inscription Forum: 31 Déc 2003 12:06
Localisation: Lille (France)
  • offline


Retourner vers Archives

 
  • Articles en relation
    Dernier message