2011-08-09 2 views
9

La plupart des nouvelles plates-formes matérielles fonctionnant sous Android, en particulier le Tegra 2 de NVIDIA, prennent en charge OpenMAX pour l'accélération multimédia. Il est effectivement impossible sur les appareils d'aujourd'hui de décoder la vidéo 720p sans ce support, mais le nombre de démultiplexeurs supportés sur Android est assez faible. La seule API publique que j'ai pu trouver a été la classe MediaPlayer dans le SDK Android. Cependant, il existe plusieurs endroits dans l'arborescence des sources Android avec OpenMAX.Utilisation d'OpenMAX (IL?) Pour le décodage audio/vidéo sur Android

Sur mon appareil (Samsung Galaxy Tab 10.1) J'ai accès à des décodeurs matériels via une multitude de librairies OpenMAX dans/system/lib, et ce serait génial d'interfacer mon application vidéo avec celles-ci. Quelqu'un peut-il me signaler des informations sur la mise en œuvre d'un décodeur alimenté par OpenMAX? J'ai trouvé la documentation de Khronos, mais rien d'un exemple de code ou de tutoriel. J'ai déjà le démultiplexage et même le décodage logiciel pris en charge (via libavcodec/libavformat), je voudrais simplement mettre des hooks pour activer l'encodage matériel. Je suppose également ici qu'il serait nécessaire de lier directement à ceux disponibles sur l'appareil, ce qui le rend plutôt terne en termes de portabilité, mais cela fonctionne. Alternativement, je suis intéressé par tout ce que quelqu'un sait sur les API privées pour accéder au décodage vidéo disponible sur les appareils Tegra 2. Surtout s'il y a une interface vdpau comme ce que NVIDIA implémente pour les distributions linux de bureau, puisqu'il y en a beaucoup pour cela - mais je n'ai pas pu trouver de bibliothèques partagées qui indiquent ce support.

Répondre

4

https://www.uplinq.com/2011/sites/default/files/images/Snapdragon-Lab-Accessing-Hardware-Accelerated-Video-Codecs-Android-Steve-Lukas.pdf

Je trouve la documentation sur l'utilisation OpenMAX pour obtenir l'accès aux décodeurs matériels sur les processeurs Qualcomm nouvelles - il est en désordre, nécessite l'utilisation de l'arbre source android en conjonction avec le NDK, mais il est le meilleur qui est là-bas si loin que je peux voir.

L'exemple de code auquel il fait référence a été trouvé sur le site Web de leur développeur. Il suffit de rechercher le titre du document et il apparaît.

+5

Lien mort, déplacé à https://www.uplinq.com/2011/sites/default/files/images/Snapdragon-Lab-Accessing-Hardware-Accelerated-Video-Codecs-Android-Steve-Lukas.pdf – Pedro

+0

Impossible de trouver "l'exemple de code". Un lien? Le site Web de QuIC n'a aucune fonction de recherche. –

1

Je ne suis pas au courant des docs pour ce qui sont liés à Tegra2.

Cependant, il pourrait être possible sur certains autres processeurs comme TI OMAP4. OPENMAX est utilisé dans les processeurs TI OMAP4 (comme Archos Gen9 et probablement RIM Playbook).

Sous Linux et Android, l'API OPENMAX est utilisée pour accéder à l'accélérateur vidéo et aux interfaces vidéo. Quelques détails sont fournis ici: http://omappedia.com/wiki/OpenMAX_Project http://processors.wiki.ti.com/index.php/OpenMax_Development_Guide

Si Archos publie une image Linux Angstroem pour Gen 9, comme ils l'ont fait pour Gen 8 alors il pourrait y avoir pièce pour jouer avec cela sur la tablette directement. Informations sur Archos G9: http://www.archos.com/products/gen9/archos_80g9/specs.html?country=us&lang=en

Anth.

Questions connexes