Przeprowadzanie testów klasy wydajności multimediów

Pakiet testów zgodności Androida (CTS) zawiera testy klasy wydajności multimediów na urządzeniach z Androidem 11 lub nowszym. Proces testowania różni się w zależności od tego, czy urządzenie ma Androida 13, czy Androida 11 lub 12, dlatego postępuj zgodnie z instrukcjami odpowiednimi dla wersji Androida na Twoich urządzeniach.

Pobieranie testów

Pobierz te testy:

Testowanie urządzeń z Androidem 14 lub nowszym

W tej sekcji opisujemy testy wymagane w przypadku urządzeń z Androidem 14 lub nowszym.

Przeprowadzanie testów jakości kodowania wideo (VEQ) klasy wydajności 14 (PC14)

Android 14 wprowadza wymagania dotyczące jakości kodowania wideo (VEQ) w przypadku urządzeń klasy wydajności 14 (PC14). Wymagania PC14-VEQ określają w mierzalny sposób podstawowe wymagania dotyczące jakości enkoderów wideo sprzętowych na urządzeniu PC14.

Celem jest sprawdzenie, czy każde urządzenie z Androidem zaklasyfikowane do klasy wydajności 14 zapewnia użytkownikom najwyższej jakości wrażenia podczas korzystania z multimediów dzięki tworzeniu wysokiej jakości treści wideo.

Wymagania PC14-VEQ są weryfikowane przez nowy test CTS o nazwie CtsVideoEncodingQualityHostTest.

Ten test CTS uruchamia zestaw przypadków testowych kodowania zdefiniowanych przez pliki JSON konfiguracji i korzysta z interfejsu Jetpack Media3 Transformer API. W przypadku każdego testu krzywa zniekształcenia w funkcji szybkości transmisji (RD) testowanego kodera jest generowana przez zakodowanie strumienia bitów przy użyciu ustawień kodera z pliku JSON. Referencyjna krzywa zniekształceń jest zawarta w tym samym pliku JSON. Do obliczania zniekształceń (czyli utraty jakości) używany jest wskaźnik Video Multimethod Assessment Fusion (VMAF)vmaf_v0.6.1.json.

Test może zakończyć się powodzeniem tylko wtedy, gdy wynik BDRATE-VMAF jest mniejszy lub równy 0.

Test CTS PC14-VEQ obejmuje konfiguracje kodowania, w tym:

  • Koder sprzętowy AVC i HEVC
  • Tryb kontroli szybkości VBR
  • Kodowanie klatek P i B
  • 1920 x 1080 pikseli przy 30 kl./s (orientacja pozioma) lub 1080 x 1920 pikseli przy 30 kl./s (orientacja pionowa)

Testowanie urządzeń z Androidem 13 lub nowszym

Przed rozpoczęciem testu przygotuj urządzenia do testowania:

  1. Skonfiguruj urządzenie do reklamowania klasy wydajności multimediów 13 (PC13), ustawiając wartość właściwości systemowej _ro.odm.build.media_performance_class na 33.

  2. Sprawdź, czy obraz systemu urządzenia to Android 13 lub nowszy. Testy Media CTS można przeprowadzać na obrazie systemu Androida 11 lub nowszego, ale testy Camera CTS wymagają funkcji Androida 13 dla PC13.

Przeprowadzanie testów ITS kamery

Aby uruchomić tylko testy ITS aparatu, najpierw ustaw numery seryjne urządzenia i tabletu w config.yml. Po skonfigurowaniu przeprowadź testy aparatu przedniego i tylnego:

python tools/run_all_tests.py camera=[PRIMARY_REAR_CAMERA_ID] scenes=2_c
python tools/run_all_tests.py camera=[PRIMARY_FRONT_CAMERA_ID] scenes=2_c

Przeprowadzanie testów klasy wydajności multimediów

cts-media-performance-class Plan testów weryfikuje wymagania CDD dotyczące wymagań klasy wydajności multimediów (CDD sekcja 2.2.7.1) i wymagań dotyczących aparatu (CDD sekcja 2.2.7.2). Uruchom test cts-media-performance-class:

cts-tradefed run cts-media-performance-class

Aby uruchomić tylko testy CTS kamery:

cts-tradefed run singleCommand cts --disable-reboot -m CtsCameraTestCases -t android.hardware.camera2.cts.ExtendedCameraCharacteristicsTest#testCameraPerfClassCharacteristics

Aby uruchomić tylko testy CTS multimediów:

cts-tradefed run singleCommand cts --disable-reboot -m CtsMediaPerformanceClassTestCases

Przeprowadzanie testów CTS MediaDrm

Testy CTS MediaDrm weryfikują wymagania MediaDrm w sekcji 2.2.7.1 dokumentu CDD. Uruchom testy CTS MediaDrm:

cts-tradefed run singleCommand cts --disable-reboot -c android.mediapc.cts.PerformanceClassTest -m testSecureHwDecodeSupport
cts-tradefed run singleCommand cts --disable-reboot -c android.mediapc.cts.PerformanceClassTest -m testMediaDrmSecurityLevelHwSecureAll

Uruchamianie testów CTS systemu plików

Testy CTS systemu plików weryfikują wymagania dotyczące wydajności w sekcji 2.2.7.4 dokumentu CDD.

  • Aby przetestować wymagania dotyczące odczytu i zapisu sekwencyjnego:

    cts-tradefed run singleCommand cts --disable-reboot -m CtsFileSystemTestCases -t android.filesystem.cts.SequentialRWTest
  • Aby przetestować wymagania dotyczące losowego odczytu i zapisu:

    cts-tradefed run singleCommand cts --disable-reboot -m CtsFileSystemTestCases -t android.filesystem.cts.RandomRWTest

Testowanie urządzeń z Androidem 11 lub 12

Aby przetestować urządzenia z Androidem 11 lub 12, najpierw skonfiguruj urządzenia testowe (konfiguracja różni się w zależności od wersji Androida oraz tego, czy są to urządzenia w wersji userdebug czy user), a następnie uruchom testy CTS i CTS Verifier.

Reklamowanie klasy skuteczności mediów

Aby skonfigurować urządzenia testowe do wyświetlania reklam z prawidłową klasą wydajności za pomocą właściwości systemowej ro.odm.build.media_performance_class:

  • W przypadku klasy wydajności 12 (PC12) ustaw wartość właściwości na 31.

  • W przypadku klasy wydajności 11 (PC11) ustaw wartość właściwości na 30.

Urządzenia userdebug

Aby skonfigurować urządzenia z Androidem w trybie debugowania użytkownika:

  • Urządzenia z Androidem 12 w wersji userdebug:

    adb root
    adb shell setprop ro.odm.build.media_performance_class 31   // use 30 for PC11
    adb shell stop && sleep 1 && adb shell start
    adb shell pkill -f camera
  • Urządzenia z Androidem 11 w wersji userdebug:

    adb root
    adb shell setenforce 0
    adb shell setprop ro.odm.build.media_performance_class 31   // use 30 for PC11
    adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0

Właściwość systemu ro.odm.build.media_performance_class możesz ustawić tylko raz podczas ponownego uruchamiania (ale nie musisz ponownie uruchamiać urządzenia przed pierwszym ustawieniem).

Urządzenia użytkowników

Aby skonfigurować urządzenia użytkowników z Androidem, dodaj do pliku product.prop właściwość ro.odm.build.media_performance_class z wybraną wartością klasy wydajności:

ro.odm.build.media_performance_class=31   // use 30 for PC11

W przypadku urządzeń użytkowników z Androidem 11 wykonaj te dodatkowe czynności:

  1. Wybierz poprawkę [1627181] Add media performance class property to sepolicy patch.

  2. Ustaw MANAGE_EXTERNAL_STORAGE dla com.android.cts.verifier:

    adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0

Przeprowadzanie testów CTS i ITS

Skompiluj CTS i CTS Verifier z zastosowanymi pobranymi poprawkami, a następnie uruchom odpowiednią wersję Androida dla urządzeń testowych (CTS dla Androida 11 w przypadku urządzeń z Androidem 11, CTS dla Androida 12 w przypadku urządzeń z Androidem 12).

Multimedia

Aby przeprowadzić testy CTS multimediów:

cts-tradefed run singleCommand cts --disable-reboot -m CtsMediaPerformanceClassTestCases

Aparat

Aby przeprowadzić testy CTS kamery:

cts-tradefed run singleCommand cts --disable-reboot -m CtsCameraTestCases -t android.hardware.camera2.cts.ExtendedCameraCharacteristicsTest#testCameraPerfClassCharacteristics
python tools/run_all_tests.py device=DEVICE camera=PRIMARY_CAMERA_ID chart=CHART_ID scenes=2_c

Na urządzeniach z Androidem 12:

cts-tradefed run singleCommand cts --disable-reboot -m CtsCameraApi31TestCases

Sprzęt

Aby uruchomić testy CTS sprzętu:

cts-tradefed run singleCommand cts --disable-reboot -m CtsFileSystemTestCases -t android.filesystem.cts.RandomRWTest
cts-tradefed run singleCommand cts --disable-reboot -m CtsFileSystemTestCases -t android.filesystem.cts.SequentialRWTest