Mulai dari Android 10 (API level 29) dan yang lebih tinggi, ada metode di
MediaCodecInfo yang
mengungkapkan informasi selengkapnya tentang codec:
isSoftwareOnly()- Menampilkan true jika codec hanya berjalan di software. Codec software tidak memberikan jaminan tentang performa rendering.
isHardwareAccelerated()- Menampilkan true jika codec diakselerasi oleh hardware.
isVendor()- Menampilkan true jika codec disediakan oleh vendor perangkat atau false jika disediakan oleh platform Android.
isAlias()MediaCodecListdapat berisi entri tambahan untuk codec pokok yang sama menggunakan nama codec alternatif (alias). Metode ini menampilkan nilai benar jika codec dalam entri ini adalah alias untuk codec lain.
Selain itu,
MediaCodec.getCanonicalName()
menampilkan nama codec yang mendasarinya untuk codec yang dibuat melalui alias.
Poin Performa
Titik performa menunjukkan kemampuan codec untuk merender video pada tinggi, lebar, dan kecepatan frame tertentu. Misalnya, titik performa UHD_60
mewakili video Definisi Ultra Tinggi (3840x2160 piksel) yang dirender pada 60 frame
per detik.
Metode
MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()
menampilkan daftar entri
PerformancePoint
yang dapat dirender atau diambil oleh codec.
Anda dapat memeriksa apakah PerformancePoint tertentu mencakup lain dengan memanggil
PerformancePoint.covers(PerformancePoint).
Misalnya, UHD_60.covers(UHD_50) akan menampilkan true.
Daftar poin performa disediakan untuk semua codec yang dipercepat hardware. Daftar ini bisa saja kosong jika codec tidak memenuhi titik performa standar terendah sekalipun.
Perhatikan bahwa perangkat yang telah diupgrade ke Android 10 (level API 29) dan yang lebih tinggi tanpa
mengupdate image vendor tidak akan memiliki data titik performa, karena data ini
berasal dari HAL vendor. Dalam hal ini, getSupportedPerformancePoints()
menampilkan null.