Codecs multimédias
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
À partir d'Android 10 (niveau d'API 29) et des versions ultérieures, des méthodes sont disponibles dans MediaCodecInfo
pour afficher plus d'informations sur un codec :
isSoftwareOnly()
- Renvoie "true" si le codec s'exécute uniquement dans le logiciel. Les codecs logiciels ne garantissent pas les performances de rendu.
isHardwareAccelerated()
- Renvoie "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 "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 noms de codec alternatifs (alias). Cette méthode renvoie "true" si le codec de cette entrée est un alias pour un autre codec.
De plus, MediaCodec.getCanonicalName()
renvoie le nom du codec sous-jacent pour les codecs créés via un alias.
Un point de performance représente la capacité d'un codec à afficher une vidéo avec une hauteur, une largeur et une fréquence d'images spécifiques. Par exemple, le point de performance UHD_60
représente une vidéo en ultra haute définition (3 840 x 2 160 pixels) rendue à 60 images par seconde.
La méthode MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()
renvoie une liste d'entrées PerformancePoint
que le codec peut afficher ou capturer.
Pour vérifier si un PerformancePoint
donné en couvre un autre, appelez PerformancePoint.covers(PerformancePoint)
.
Par exemple, UHD_60.covers(UHD_50)
renvoie "true".
Une liste de points de performances est fournie pour tous les codecs à accélération matérielle.
Cette liste peut être vide si le codec ne répond même pas au point de performance standard le plus bas.
Notez que les appareils qui ont été mis à niveau vers Android 10 (niveau d'API 29) ou version ultérieure sans mise à jour de l'image du fournisseur ne disposeront pas de données sur les points de performances, car ces données proviennent de la HAL du fournisseur. Dans ce cas, getSupportedPerformancePoints()
renvoie la valeur nulle.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/03 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/03 (UTC)."],[],[],null,["Beginning with Android 10 (API level 29) and higher, there are methods in\n[`MediaCodecInfo`](/reference/android/media/MediaCodecInfo) that\nreveal more information about a codec:\n\n[`isSoftwareOnly()`](/reference/android/media/MediaCodecInfo#isSoftwareOnly)\n: Returns true if the codec runs in software only. Software codecs make no\n guarantees about rendering performance.\n\n[`isHardwareAccelerated()`](/reference/android/media/MediaCodecInfo#isHardwareAccelerated)\n: Returns true if a codec is accelerated by hardware.\n\n[`isVendor()`](/reference/android/media/MediaCodecInfo#isVendor)\n: Returns true if the codec is provided by the device vendor or false if provided\n by the Android platform.\n\n[`isAlias()`](/reference/android/media/MediaCodecInfo#isAlias)\n: `MediaCodecList` may contain additional entries for the same underlying codec\n using an alternate codec name/s (alias/es). This method returns true if the\n codec in this entry is an alias for another codec.\n\nIn addition,\n[`MediaCodec.getCanonicalName()`](/reference/android/media/MediaCodecInfo#getCanonicalName)\nreturns the underlying codec name for codecs created via an alias.\n\nPerformance Points\n\nA *performance point* represents a codec's ability to render video at a specific\nheight, width and frame rate. For example, the `UHD_60` performance point\nrepresents Ultra High Definition video (3840x2160 pixels) rendered at 60 frames\nper second.\n\nThe method\n[`MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()`](/reference/android/media/MediaCodecInfo.VideoCapabilities#getSupportedPerformancePoints())\nreturns a list of\n[`PerformancePoint`](/reference/android/media/MediaCodecInfo.VideoCapabilities.PerformancePoint)\nentries that the codec can render or capture.\n\nYou can check whether a given `PerformancePoint` covers another by calling\n[`PerformancePoint.covers(PerformancePoint)`](/reference/android/media/MediaCodecInfo.VideoCapabilities.PerformancePoint#covers(android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint)).\nFor example, `UHD_60.covers(UHD_50)` returns true.\n\nA list of performance points is provided for all hardware-accelerated codecs.\nThis could be an empty list if the codec does not meet even the lowest standard\nperformance point.\n\nNote that devices which have been upgraded to Android 10 (API level 29) and higher without\nupdating the vendor image will not have performance point data, because this\ndata comes from the vendor HAL. In this case, `getSupportedPerformancePoints()`\nreturns null."]]