Przeprowadzanie testów klasy wydajności multimediów

Pakiet CTS (Android Compatibility Test Suite) obejmuje 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 dotyczącymi 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.

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

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

Celem jest sprawdzenie, czy każde urządzenie z Androidem należące do klasy wydajności 14 zapewnia użytkownikom najwyższą jakość multimediów dzięki tworzeniu treści wideo wysokiej jakości.

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

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

Przypadek testowy może zostać zaliczony tylko wtedy, gdy wynik BDRATE-VMAF jest mniejszy lub równy zero.

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

  • sprzętowe kodery AVC i HEVC,
  • tryb sterowania szybkością VBR,
  • kodowanie klatek P i B,
  • 1920 x 1080p30fps (poziomo) lub 1080 x 1920p30fps (pionowo).

Testowanie urządzeń z Androidem 13 lub nowszym

Zanim rozpoczniesz testowanie, przygotuj urządzenia:

  1. Skonfiguruj urządzenie tak, aby reklamowało klasę 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. Chociaż możesz uruchamiać testy multimediów CTS na obrazie systemu Androida 11 lub nowszego, testy aparatu CTS wymagają funkcji Androida 13 w przypadku PC13.

Uruchamianie testów ITS aparatu

Aby uruchomić tylko testy ITS aparatu, najpierw ustaw numery seryjne urządzenia i tabletu w pliku config.yml. Po skonfigurowaniu uruchom 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

Uruchamianie testów klasy wydajności multimediów

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

cts-tradefed run cts-media-performance-class

Aby uruchomić tylko testy aparatu CTS:

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

Aby uruchomić tylko testy multimediów CTS:

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

Uruchamianie testów MediaDrm CTS

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

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 systemu plików CTS

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

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

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

    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 od tego, czy są to urządzenia userdebug czy urządzenia użytkownika), a następnie uruchom testy CTS i CTS Verifier.

Reklamowanie klasy wydajności multimediów

Aby skonfigurować urządzenia testowe tak, aby reklamowały 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 userdebug z Androidem:

  • Urządzenia userdebug z Androidem 12:

    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 userdebug z Androidem 11:

    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ść systemową ro.odm.build.media_performance_class możesz ustawić tylko raz na ponowne uruchomienie (ale nie musisz ponownie uruchamiać urządzenia przed pierwszym ustawieniem).

Urządzenia użytkownika

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

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

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

  1. Cherrypick [1627181] Dodaj właściwość klasy wydajności multimediów do sepolicy poprawki.

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

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

Uruchamianie testów CTS i ITS

Skompiluj CTS i CTS Verifier z zastosowanymi pobranymi poprawkami, a następnie uruchom odpowiednią wersję Androida na urządzeniach testowych (CTS Androida 11 na urządzeniach z Androidem 11, CTS Androida 12 na urządzeniach z Androidem 12).

Multimedia

Aby uruchomić testy multimediów CTS:

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

Aparat

Aby uruchomić testy aparatu CTS:

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

W przypadku urządzeń z Androidem 12:

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

Sprzęt

Aby uruchomić testy sprzętu CTS:

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