Dépendances des fournisseurs de SoC pour le gestionnaire de ressources multimédias

Ce document est destiné à aider les fournisseurs de systèmes sur puce (SoC) à implémenter correctement la prise en charge de la priorité, du taux de fonctionnement et des hooks nécessaires au gestionnaire de ressources multimédias Android.

OMX_ErrorInsufficientResources

Le composant du codec doit renvoyer OMX_ErrorInsufficientResources sur GetHandle, Init, UseBuffer, AllocateBuffer ou une transition d'état si l'échec est dû à une ressource insuffisante. Le code d'erreur sera utilisé par le gestionnaire de ressources multimédias comme indicateur pour préempter potentiellement la ressource multimédia d'un autre processus de priorité inférieure.

Un test CTS (Compatibility Test Suite) permet d'allouer, de configurer et de démarrer chaque codec de manière répétée jusqu'à catching OMX_ErrorInsufficientResources (réussite) ou toute autre erreur (échec).

OMX_IndexConfigPriority

Cette configuration permet à l'application de décrire la priorité de codec souhaitée.

La valeur associée est un entier. Plus la valeur est élevée, plus la priorité est faible. Actuellement, seuls deux niveaux sont acceptés:

  • 0: priorité en temps réel, ce qui signifie que le codec doit prendre en charge la configuration de performances donnée (par exemple, le débit d'images) en temps réel. Cette option n'est utilisée que pour la lecture et la capture multimédias, et éventuellement pour les scénarios de communication en temps réel si les performances au mieux de l'effort ne sont pas adaptées.
  • 1: priorité non en temps réel (optimisation limitée). Il s'agit de la valeur par défaut.

Il est recommandé au fournisseur de l'utiliser comme indice lors de la configuration du codec et de la planification des ressources afin de comprendre les exigences en temps réel de l'application.

Ne présumez pas de la priorité en temps réel, sauf si elle est configurée sur 0.

OMX_IndexConfigOperatingRate

Cette configuration permet à l'application de décrire le débit d'images de fonctionnement pour la vidéo ou le taux d'échantillonnage pour l'audio à partir duquel le codec doit fonctionner.

Cette option est utilisée dans les cas de capture vidéo haute vitesse/au ralenti, où le format de l'encodeur vidéo contient le débit de lecture cible (par exemple, 30 FPS), mais que le composant doit pouvoir gérer le débit de capture de fonctionnement élevé (par exemple, 240 FPS).

Ce taux doit être utilisé pour la planification des ressources et la définition des points de fonctionnement.