Medien-Codecs

Ab Android 10 (API-Level 29) gibt es in MediaCodecInfo Methoden, die mehr Informationen zu einem Codec liefern:

isSoftwareOnly()
Gibt „true“ zurück, wenn der Codec nur in Software ausgeführt wird. Software-Codecs bieten keine Garantie für die Rendering-Leistung.
isHardwareAccelerated()
Gibt „true“ zurück, wenn ein Codec durch Hardware beschleunigt wird.
isVendor()
Gibt „true“ zurück, wenn der Codec vom Geräteanbieter bereitgestellt wird, oder „false“, wenn er von der Android-Plattform bereitgestellt wird.
isAlias()
MediaCodecList kann zusätzliche Einträge für denselben zugrunde liegenden Codec mit einem oder mehreren alternativen Codecnamen (Aliasen) enthalten. Diese Methode gibt „true“ zurück, wenn der Codec in diesem Eintrag ein Alias für einen anderen Codec ist.

Außerdem gibt MediaCodec.getCanonicalName() den zugrunde liegenden Codecnamen für Codecs zurück, die über einen Alias erstellt wurden.

Leistungspunkte

Ein Leistungspunkt stellt die Fähigkeit eines Codecs dar, Videos mit einer bestimmten Höhe, Breite und Framerate zu rendern. Der Leistungspunkt UHD_60 steht beispielsweise für Ultra High Definition-Videos (3840 × 2160 Pixel), die mit 60 Bildern pro Sekunde gerendert werden.

Die Methode MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints() gibt eine Liste von PerformancePoint-Einträgen zurück, die der Codec rendern oder erfassen kann.

Sie können prüfen, ob ein bestimmter PerformancePoint einen anderen abdeckt, indem Sie PerformancePoint.covers(PerformancePoint) aufrufen. Beispiel: UHD_60.covers(UHD_50) gibt „true“ zurück.

Für alle hardwarebeschleunigten Codecs wird eine Liste der Leistungspunkte bereitgestellt. Diese Liste kann leer sein, wenn der Codec nicht einmal den niedrigsten Standardleistungspunkt erfüllt.

Beachte, dass Geräte, die auf Android 10 (API-Level 29) und höher aktualisiert wurden, ohne das Anbieter-Image zu aktualisieren, keine Leistungspunktedaten haben, da diese Daten vom Anbieter-HAL stammen. In diesem Fall gibt getSupportedPerformancePoints() null zurück.