VA API est une spécification ouverte visant à exposer les fonctions de décodage vidéo du matériel sous-jacent au développeur. VA API == Video Acceleration API. Les codecs supportés, suivant les implémentations, sont le MPEG-2, MPEG-4 Part-2 (ASP, DivX), MPEG-4 Part-10 (AVC, H.264) et VC-1. VA API expose aussi différents points d'entrée pour le décodage. VLD (Variable Length Decoder) est le plus intéressant car il prend tout en charge. Sinon, il est aussi possible de démarrer à d'autres niveaux comme idct, mocomp, deblocking.
Splitted-Desktop Systems développe plusieurs appareils multimedia et communiquants. Actuellement, j'explore donc les solutions disponibles pour décharger le CPU des tâches de décodage vidéo. Évaluation de performances, en particulier. Vu qu'il n'existait pas de player vidéo accessible facilement pour les plate-formes Intel, j'ai donc décidé de le faire pour MPlayer. Et comme c'est un projet GPL/LGPL, les sources du support de VA API pour MPlayer sont également disponibles.
À noter que VA API est une spécification, il vous faut une implémentation, i.e. le couple driver vidéo et backend pour libva. Pour l'instant, il n'y en a de disponible que pour les MIDs et netbooks (e.g. Dell Inspiron Mini 12) à base de chipset Intel Poulsbo (US15W, GMA500). Notez aussi que certains distributeurs n'ont visiblement pas fait beaucoup d'efforts pour fournir les drivers pré-installés. Je pense en particulier à Ubuntu pour les Dell. Apparemment, selon les infos que j'ai pu trouver sur le net, les MIDs à base de Midinux fournissent l'accélération 3D et le décodage video. Hypothèse de fiction(?): "Comment? Les constructeurs favoriseraient Windows en fournissant des alternatives sous-équipées et sous-fonctionnelles sous Linux?". Je me pose parfois la question en voyant les offres du moment...
Enfin bref, si vous avez une plate-forme avec une implémentation de VA API fonctionnelle, je vous invite à y essayer MPlayer. C'est assez impressionnant. Comme quoi, avec un pauvre CPU comme l'Atom Z et un bon chipset à côté, on peut faire de bonnes choses. Remarquez aussi que cette solution d'Intel a le mérite de tourner sans radiateur, et encore moins de ventilateur.
# Super
Posté par Snarky . Évalué à 2.
Promis, dès que l'accélération est implémenté dans les pilotes OpenChrome (cf: http://wiki.openchrome.org/tikiwiki/tiki-index.php?page=Hard(...) ), j'essaye sur mon microclient qui est un peu limite avec ses 500MHz. :)
# Apport de Gallium3D pour VA API ?
Posté par med . Évalué à 3.
Sinon peut-on trouver une liste des appareils supportés. J'ai un Dell mini 9 mais je ne remettrai la main dessus que début janvier pour voir le chipset, est-ce qu'il est supporté lui aussi ?
[^] # Re: Apport de Gallium3D pour VA API ?
Posté par Ph Husson (site web personnel) . Évalué à 4.
Oui il est possible de coder un support VA API à coup de shader, mais ca n'a a peu pres rien à voir avec ce qui est fait ici. La plupart des chipsets contiennent d'emblée des options de décompression vidéos, À CÔTÉ de la fonction 3D (valable même chez NVIDIA/ATI qui disent avoir une architecture "unifiée"). Donc oui c'est possible avec les shaders, mais c'est pas la seule manière, et c'est certainement pas la meilleure manière en terme de consommation éléctrique, consommation CPU, performances maximales (entre un truc fait "en soft" et l'autre en cablé, la différence peut être énorme). Sans compter que comme les shaders ne sont pas prévus pour, le transfert de textures entre le CPU et le GPU peut faire des pertes énormes de performances.
Bref un driver VA API pour Gallium3D oui, mais c'est pas une raison pour se débarasser des autres drivers.
[^] # Re: Apport de Gallium3D pour VA API ?
Posté par Gwenole Beauchesne . Évalué à 6.
Quant à utiliser des shaders, je crois que ce n'est pas trivial non plus à gérer. De toutes façons, je pense pas qu'une telle approche ait un avenir car la plupart des puces du moment possèdent une unité de décodage vidéo dédiée, i.e. totalement indépendante de la puce 3D. Ainsi, si l'on peut croire Wikipedia (ahem), la partie graphique du Poulsbo est en fait double: un SGX535 (puce 3D), et un VXD370 (puce de décodage vidéo). D'ailleurs, ce ne sont pas des technologies propres à Intel, et c'est pour cela que, je pense, il y aura peu de chances d'avoir des drivers libres.
[^] # Re: Apport de Gallium3D pour VA API ?
Posté par med . Évalué à 3.
# Détails supplémentaires
Posté par med . Évalué à 3.
[^] # Re: Détails supplémentaires
Posté par gouchi (site web personnel) . Évalué à 2.
http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/79288
# VA API dans drivers nvidia et AMD?
Posté par blubliblo . Évalué à 2.
AMD devrait dropper son driver proprio et ne faire qu'un driver libre comme fait Intel.
Quand à nvidia... no comment afin d'éviter des torrents de haine.
[^] # Re: VA API dans drivers nvidia et AMD?
Posté par imr . Évalué à 2.
If you happen to have hardware with the Intel Poulsbo and Intel's closed-source driver
Donc je vois pas trop la différence intel/nvidia coté driver dans ce cas.
Coté API et performance, voila ou en est la solution nvidia:
http://www.phoronix.com/scan.php?page=article&item=nvidi(...)
La différence pour l'instant c'est surtout les matériels visés, à moins que nvidia fasse de l'embarqué basse conso.
[^] # Re: VA API dans drivers nvidia et AMD?
Posté par Gwenole Beauchesne . Évalué à 5.
# Commentaire et addons
Posté par Kurtnoise . Évalué à 3.
J'ai posté un lien de ton travail (j'aurais pas dû ?) sur la ML [1] des développeurs de FFmpeg. Peux-tu y jeter un œil et voir les améliorations à apporter suivant les commentaires qui ont été fait ?
Je vais tester de mon côté...
[1] : http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2008-Decemb(...)
# Et le bon vieux XVMC dans tout ça ?
Posté par peikk0 . Évalué à 2.
Bref corrigez-moi si je me trompe, mais en tout cas ça serai cool si on pouvait en rester aux bonnes vieilles technos qui fonctionnent déjà, au lieu de réinventer 10 fois la roue. :)
[^] # Re: Et le bon vieux XVMC dans tout ça ?
Posté par Ph Husson (site web personnel) . Évalué à 5.
La réutilisation de XvMC a été étudiée par les créateurs de VA-API et verdict c'est plus compliqué de l'étendre que de refaire une API.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.