A partire da Android 10 (livello API 29) e versioni successive, esistono metodi in
MediaCodecInfo
che
rivela ulteriori informazioni su un codec:
isSoftwareOnly()
- Restituisci true se il codec viene eseguito solo nel software. I codec software non consentono in termini di prestazioni di rendering.
isHardwareAccelerated()
- restituisce true se un codec è accelerato dall'hardware.
isVendor()
- Restituisci true se il codec è fornito dal fornitore del dispositivo o false se fornito dalla piattaforma Android.
isAlias()
MediaCodecList
può contenere voci aggiuntive per lo stesso codec sottostante utilizzando uno o più nomi di codec alternativi (alias/i). Questo metodo restituisce true se codec in questa voce è un alias per un altro codec.
Inoltre,
MediaCodec.getCanonicalName()
restituisce il nome codec sottostante per i codec creati tramite un alias.
Punti prestazioni
Un punto prestazioni rappresenta la capacità di un codec di eseguire il rendering di un video in un punto specifico
altezza, larghezza e frequenza fotogrammi. Ad esempio, il punto di rendimento UHD_60
rappresenta un video in Ultra HD (3840 x 2160 pixel) sottoposto a rendering a 60 frame
e un numero elevato
di operazioni di I/O al secondo.
Il metodo
MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()
restituisce un elenco di
PerformancePoint
che il codec può visualizzare o acquisire.
Puoi verificare se un determinato PerformancePoint
ne copre un altro chiamando
PerformancePoint.covers(PerformancePoint)
Ad esempio, UHD_60.covers(UHD_50)
restituisce true.
Viene fornito un elenco di punti prestazioni per tutti i codec con accelerazione hardware. Potrebbe trattarsi di un elenco vuoto se il codec non soddisfa nemmeno lo standard più basso punto di prestazione.
Tieni presente che i dispositivi di cui è stato eseguito l'upgrade ad Android 10 (livello API 29) e versioni successive senza
aggiornare l'immagine del fornitore non avrà dati sui punti di rendimento,
che provengono dal fornitore HAL. In questo caso, getSupportedPerformancePoints()
restituisce null.