W Androidzie 10 (interfejs API na poziomie 29) i nowszych wersjach w klasie
MediaCodecInfo dostępne są metody, które
ujawniają więcej informacji o kodeku:
isSoftwareOnly()- Zwraca wartość true (prawda), jeśli kodek działa tylko w oprogramowaniu. Kodeki programowe nie gwarantują wydajności renderowania.
isHardwareAccelerated()- Zwraca wartość true (prawda), jeśli kodek jest akcelerowany sprzętowo.
isVendor()- Zwraca wartość true (prawda), jeśli kodek jest dostarczany przez producenta urządzenia, lub false (fałsz), jeśli jest dostarczany przez platformę Android.
isAlias()MediaCodecListmoże zawierać dodatkowe wpisy dotyczące tego samego kodeka, ale z alternatywnymi nazwami (aliasami). Ta metoda zwraca wartość true (prawda), jeśli kodek w tym wpisie jest aliasem innego kodeka.
Dodatkowo
MediaCodec.getCanonicalName()
zwraca nazwę kodeka bazowego w przypadku kodeków utworzonych za pomocą aliasu.
Punkty wydajności
Punkt wydajności określa zdolność kodeka do renderowania obrazu wideo o określonej wysokości, szerokości i liczbie klatek na sekundę. Na przykład punkt wydajności UHD_60 oznacza wideo w ultrawysokiej rozdzielczości (3840 x 2160 pikseli) renderowane z szybkością 60 klatek na sekundę.
Metoda
MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()
zwraca listę wpisów
PerformancePoint
, które kodek może renderować lub przechwytywać.
Możesz sprawdzić, czy dany PerformancePoint obejmuje inny, wywołując metodę
PerformancePoint.covers(PerformancePoint).
Na przykład UHD_60.covers(UHD_50) zwraca wartość true (prawda).
Lista punktów wydajności jest dostępna w przypadku wszystkich kodeków akcelerowanych sprzętowo. Jeśli kodek nie spełnia nawet najniższego standardowego punktu wydajności, może to być pusta lista.
Pamiętaj, że urządzenia, które zostały zaktualizowane do Androida 10 (interfejs API na poziomie 29) lub nowszego bez aktualizacji obrazu producenta, nie będą miały danych o punktach wydajności, ponieważ te dane pochodzą z HAL producenta. W takim przypadku metoda getSupportedPerformancePoints() zwraca wartość null.