Codec media

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()
MediaCodecList dapat 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.