Códecs de elementos multimedia

A partir de Android 10 (nivel de API 29) y versiones posteriores, hay métodos en MediaCodecInfo que revelar más información sobre un códec:

isSoftwareOnly()
Muestra verdadero si el códec se ejecuta solo en software. Los códecs de software garantías sobre el rendimiento de la renderización.
isHardwareAccelerated()
El resultado es verdadero si el hardware acelera un códec.
isVendor()
Muestra el valor "true" si el proveedor del dispositivo proporciona el códec o "false" si lo proporciona. en la plataforma de Android.
isAlias()
MediaCodecList puede contener entradas adicionales para el mismo códec subyacente con un nombre de códec alternativo (alias). Este método devuelve el valor true si el en esta entrada es un alias para otro códec.

Además, MediaCodec.getCanonicalName() muestra el nombre del códec subyacente para los códecs creados mediante un alias.

Puntos de rendimiento

Un punto de rendimiento representa la capacidad de un códec para procesar video en un alto, ancho y velocidad de fotogramas. Por ejemplo, el punto de rendimiento de UHD_60. Representa un video en ultra alta definición (3840 x 2160 píxeles) renderizado a 60 fotogramas por segundo.

El método MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints() devuelve una lista de PerformancePoint que el códec puede renderizar o capturar.

Puedes verificar si un PerformancePoint determinado cubre a otro llamando a PerformancePoint.covers(PerformancePoint) Por ejemplo, UHD_60.covers(UHD_50) muestra verdadero.

Se proporciona una lista de puntos de rendimiento para todos los códecs acelerados mediante hardware. Podría ser una lista vacía si el códec no cumple ni siquiera con el estándar más bajo. el punto de rendimiento.

Ten en cuenta que los dispositivos que se actualizaron a Android 10 (nivel de API 29) y versiones posteriores sin actualizar la imagen del proveedor no tendrá datos de punto de rendimiento, porque este provienen de la HAL del proveedor. En este caso, getSupportedPerformancePoints(). muestra un valor nulo.