Codec media

Mulai Android 10 (level API 29) dan yang lebih tinggi, ada metode di MediaCodecInfo yang mengungkapkan informasi selengkapnya tentang codec:

isSoftwareOnly()
Menampilkan nilai benar jika codec hanya berjalan di software. Codec software tidak memberikan jaminan tentang performa rendering.
isHardwareAccelerated()
Menampilkan nilai benar jika codec dipercepat oleh hardware.
isVendor()
Menampilkan nilai benar jika codec disediakan oleh vendor perangkat, atau salah jika disediakan oleh platform Android.
isAlias()
MediaCodecList dapat memuat entri tambahan untuk codec dasar yang sama menggunakan nama codec alternatif (alias). Metode ini menampilkan nilai benar (true) jika codec dalam entri ini adalah alias untuk codec lain.

Selain itu, MediaCodec.getCanonicalName() menampilkan nama codec dasar untuk codec yang dibuat melalui alias.

Poin Kinerja

Poin performa menunjukkan kemampuan codec untuk merender video pada tinggi, lebar, dan frekuensi gambar (frame rate) tertentu. Misalnya, poin performa UHD_60 menunjukkan video Ultra High Definition (3840x2160 piksel) yang dirender pada 60 frame per detik.

Metode MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints() menampilkan daftar entri PerformancePoint yang dapat dirender atau direkam oleh codec.

Anda dapat memeriksa apakah PerformancePoint tertentu mencakup poin performa lainnya dengan memanggil PerformancePoint.covers(PerformancePoint). Misalnya, UHD_60.covers(UHD_50) akan menampilkan nilai benar (true).

Daftar poin kinerja disediakan untuk semua codec yang diakselerasi oleh perangkat keras. Daftar ini bisa jadi kosong jika codec tidak memenuhi poin performa standar terendah sekalipun.

Perhatikan bahwa perangkat yang telah diupgrade ke Android 10 (level API 29) dan yang lebih tinggi tanpa memperbarui image vendor tidak akan memiliki data poin performa, karena data ini berasal dari HAL vendor. Dalam hal ini, getSupportedPerformancePoints() menampilkan null.