Mulai Android 10 (API level 29) dan yang lebih tinggi, ada metode di
MediaCodecInfo
yang
mengungkapkan informasi selengkapnya tentang codec:
isSoftwareOnly()
- Menampilkan nilai true (benar) jika codec hanya berjalan di software. Codec perangkat lunak tidak yang menjamin performa rendering.
isHardwareAccelerated()
- Menampilkan nilai true (benar) jika codec diakselerasi oleh hardware.
isVendor()
- Menampilkan nilai benar jika codec disediakan oleh vendor perangkat atau salah jika disediakan oleh platform Android.
isAlias()
MediaCodecList
dapat berisi entri tambahan untuk codec dasar yang sama menggunakan nama codec alternatif (alias). Metode ini akan menampilkan nilai benar jika codec dalam entri ini adalah alias untuk codec lain.
Selain itu,
MediaCodec.getCanonicalName()
mengembalikan nama codec yang mendasari untuk codec yang dibuat melalui alias.
Poin Kinerja
Poin performa menunjukkan kemampuan codec untuk merender video pada
tinggi, lebar, dan kecepatan frame. Misalnya, poin performa UHD_60
merepresentasikan video Definisi Ultra Tinggi (3840x2160 piksel) yang dirender pada 60 bingkai
dan Operasi input/output
per detik dengan jumlah tinggi.
Metode
MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()
akan menghasilkan daftar
PerformancePoint
entri yang dapat dirender
atau direkam oleh codec.
Anda dapat memeriksa apakah PerformancePoint
tertentu mencakup yang lain dengan memanggil
PerformancePoint.covers(PerformancePoint)
.
Misalnya, UHD_60.covers(UHD_50)
menampilkan benar (true).
Daftar poin kinerja disediakan untuk semua codec yang diakselerasi oleh perangkat keras. Daftar ini bisa jadi kosong jika codec tidak memenuhi standar terendah sekalipun poin performa.
Perhatikan bahwa perangkat yang telah diupgrade ke Android 10 (API level 29) dan yang lebih tinggi tanpa
memperbarui gambar vendor tidak akan memiliki data poin performa, karena
data berasal dari HAL vendor. Dalam kasus ini, getSupportedPerformancePoints()
mengembalikan null.