Medien-Codecs

Ab Android 10 (API-Level 29) sind Methoden in MediaCodecInfo, die erhalten Sie weitere Informationen zu einem Codec:

isSoftwareOnly()
Gibt „true“ zurück, wenn der Codec nur in Software ausgeführt wird. Software-Codecs sorgen dafür, und garantiert 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ätehersteller bereitgestellt wird, oder „false“, wenn dieser angegeben wurde Android-Plattform entwickelt.
isAlias()
MediaCodecList kann zusätzliche Einträge für denselben zugrunde liegenden Codec enthalten Verwenden Sie einen oder mehrere alternative Codec-Namen (Aliase). Diese Methode gibt "true" zurück, wenn der Codec in diesem Eintrag ist ein Alias für einen anderen Codec.

Außerdem MediaCodec.getCanonicalName() gibt den zugrunde liegenden Codec-Namen für über einen Alias erstellte Codecs zurück.

Leistungspunkte

Ein Leistungspunkt steht für die Fähigkeit eines Codecs, Videos bei einem bestimmten Höhe, Breite und Frame-Rate. Zum Beispiel der Leistungspunkt UHD_60 steht für ein Ultra High Definition-Video (3840 x 2160 Pixel), das mit 60 Frames gerendert wird. pro Sekunde.

Die Methode MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints() gibt eine Liste mit PerformancePoint Einträge, die der Codec rendern oder erfassen kann.

Du kannst prüfen, ob eine bestimmte PerformancePoint eine andere umfasst, indem du folgenden Befehl aufrufst: PerformancePoint.covers(PerformancePoint) Beispiel: UHD_60.covers(UHD_50) gibt „true“ zurück.

Für alle hardwarebeschleunigten Codecs wird eine Liste der Leistungspunkte bereitgestellt. Dies könnte eine leere Liste sein, wenn der Codec nicht einmal den niedrigsten Standard erfüllt Leistungspunkt.

Bei Geräten, die auf Android 10 (API-Level 29) und höher aktualisiert wurden, Beim Aktualisieren des Anbieter-Images sind keine Leistungspunktdaten verfügbar, die Daten vom Anbieter HAL stammen. In diesem Fall getSupportedPerformancePoints() gibt null zurück.