À partir d'Android 10 (niveau d'API 29) ou version ultérieure, il existe des méthodes dans
MediaCodecInfo
qui
pour en savoir plus sur un codec:
isSoftwareOnly()
- Renvoie la valeur "true" si le codec ne s'exécute que dans un logiciel. Les codecs logiciels n'empêchent sur les performances d'affichage.
isHardwareAccelerated()
- Renvoie la valeur "true" si un codec est accéléré par le matériel.
isVendor()
- Renvoie la valeur "true" si le codec est fourni par le fournisseur de l'appareil ou la valeur "false" s'il est fourni. par la plate-forme Android.
isAlias()
MediaCodecList
peut contenir des entrées supplémentaires pour le même codec sous-jacent. en utilisant un ou plusieurs autres noms de codec (alias/s). Cette méthode renvoie la valeur "true" si de cette entrée est un alias d'un autre codec.
De plus,
MediaCodec.getCanonicalName()
renvoie le nom du codec sous-jacent des codecs créés via un alias.
Points de performance
Le point de performance représente la capacité d'un codec à afficher une vidéo à un niveau
la hauteur, la largeur et la fréquence d'images. Par exemple, le point de performance UHD_60
Représente une vidéo en ultra haute définition (3 840 x 2 160 pixels) avec un rendu avec 60 images
par seconde.
La méthode
MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()
renvoie une liste de
PerformancePoint
que le codec peut afficher ou capturer.
Vous pouvez vérifier si un élément PerformancePoint
donné en couvre un autre en appelant
PerformancePoint.covers(PerformancePoint)
Par exemple, UHD_60.covers(UHD_50)
renvoie "true".
Une liste de points de performances est fournie pour tous les codecs avec accélération matérielle. Cette liste peut être vide si le codec ne respecte même pas la norme la plus basse ce point de performances.
Notez que les appareils mis à niveau vers Android 10 (niveau d'API 29) ou version ultérieure sans
la mise à jour de l'image du fournisseur ne générera pas
de données sur les points de performance,
les données proviennent
du fournisseur HAL. Dans ce cas, getSupportedPerformancePoints()
renvoie la valeur "null".