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 na urządzeniach z Androidem 14 lub nowszym

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

W Androidzie 14 wprowadzono 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 zapewnienie, aby każde urządzenie z Androidem zaklasyfikowane do klasy wydajności 14 zapewniało użytkownikom najwyższą jakość 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. W przypadku każdego przypadku testowego krzywa zniekształceń (RD) 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żywamy metody Video Multimethod Assessment Fusion (VMAF). vmaf_v0.6.1.json

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

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

  • Kodery sprzętowe 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. Upewnij się, że obraz systemu urządzenia to Android 13 lub nowszy. Testy CTS multimediów możesz przeprowadzać na obrazie systemu Androida 11 lub nowszego, ale testy CTS aparatu 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, a potem uruchom te polecenia:

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 skutecznoś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 plan testów cts-media-performance-class za pomocą tego polecenia:

cts-tradefed run cts-media-performance-class

Aby uruchomić tylko testy CTS aparatu, użyj tego polecenia:

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

Aby uruchomić tylko testy CTS multimediów, użyj tego polecenia:

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 za pomocą tych poleceń:

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, użyj tego polecenia:

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

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

Testowanie na urządzeniach 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 użytkownika czy urządzenia z wersją debugowania), a następnie uruchom testy CTS i CTS Verifier.

Reklamowanie klasy wydajności multimedió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 userdebug, uruchom te polecenia:

  • 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ść systemową ro.odm.build.media_performance_class można 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 z Androidem w wersji debugowania, dodaj właściwość ro.odm.build.media_performance_class z odpowiednią wartością klasy wydajności do pliku product.prop. Przykład znajdziesz poniżej:

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. Uruchom to polecenie:

    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 Androida 11 dla urządzeń z Androidem 11, CTS Androida 12 dla urządzeń z Androidem 12).

Multimedia

Uruchom testy CTS multimediów za pomocą tego polecenia:

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

Aparat

Uruchom testy CTS aparatu za pomocą tych poleceń:

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 uruchom to polecenie:

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

Sprzęt

Uruchom testy CTS sprzętu za pomocą tych poleceń:

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