Tests für die Medienleistung ausführen

Die Android Compatibility Test Suite (CTS) enthält Tests für die Media Performance Class für Geräte mit Android 11 oder höher. Da sich der Testprozess für Geräte mit Android 13 und Geräte mit Android 11 oder Android 12 unterscheidet, müssen Sie die Anleitung für die Android-Version befolgen, die auf Ihren Geräten ausgeführt wird.

Tests herunterladen

Laden Sie die folgenden Tests herunter:

Android 14-Geräte oder höher testen

In diesem Abschnitt werden die Tests beschrieben, die für Geräte mit Android 14 oder höher erforderlich sind.

VEQ-Tests (Video Encoding Quality) der Leistungsklasse 14 (PC14) ausführen

Mit Android 14 werden Anforderungen an die Video Encoding Quality (VEQ) für Geräte der Performance Class 14 (PC14) eingeführt. Die PC14-VEQ-Anforderungen definieren im Wesentlichen eine messbare Mindestanforderung für die Qualität der Hardware-Video-Encoder auf einem PC14-Gerät.

Ziel ist es, zu prüfen, ob jedes Gerät, auf dem Android ausgeführt wird und das in die Leistungsklasse 14 eingeteilt ist, Endnutzern durch die Erstellung hochwertiger Videoinhalte ein erstklassiges Media-Erlebnis bietet.

Die PC14-VEQ-Anforderungen werden durch einen neuen CTS-Test namens CtsVideoEncodingQualityHostTest überprüft.

Bei diesem CTS-Test werden eine Reihe von Codierungstestläufen ausgeführt, die durch die JSON-Konfigurationsdateien definiert sind. Dabei wird die Jetpack Media3 Transformer API verwendet. Für jeden Testlauf wird die Rate-Distortion-Kurve (RD) des zu testenden Encoders generiert, indem ein Bitstream mit den Encoder-Einstellungen aus der JSON-Datei codiert wird. Die Referenzkurve für Ratenverzerrung ist in derselben JSON-Datei enthalten. Die Video Multimethod Assessment Fusion (VMAF) vmaf_v0.6.1.json wird verwendet, um die Verzerrung (d. h. den Qualitätsverlust) zu berechnen.

Ein Testlauf kann nur bestanden werden, wenn das BDRATE-VMAF-Ergebnis kleiner oder gleich null ist.

Der CTS-Test „PC14-VEQ“ deckt Codierungskonfigurationen ab, darunter:

  • AVC- und HEVC-Hardware-Encoder
  • VBR-Steuerungsmodus
  • P-Frame-/B-Frame-Codierung
  • 1.920 × 1.080 Pixel bei 30 Bildern pro Sekunde (Querformat) oder 1.080 × 1.920 Pixel bei 30 Bildern pro Sekunde (Hochformat)

Geräte mit Android 13 oder höher testen

Bevor Sie einen Testlauf starten, müssen Sie die Geräte für den Test vorbereiten:

  1. Richten Sie das Gerät so ein, dass es die Media Performance Class 13 (PC13) bewirbt, indem Sie den Wert der Systemproperty _ro.odm.build.media_performance_class auf 33 setzen.

  2. Prüfen Sie, ob auf dem Gerät ein System-Image mit Android 13 oder höher installiert ist. Sie können Media-CTS-Tests zwar auf einem Systemimage mit Android 11 oder höher ausführen, für Kamera-CTS-Tests sind jedoch Android 13-Funktionen für PC13 erforderlich.

ITS-Kameratests ausführen

Wenn Sie nur ITS-Kameratests ausführen möchten, legen Sie zuerst die Seriennummern des Geräts und des Tablets in config.yml fest. Führen Sie nach der Einrichtung Tests für die Front- und Rückkamera durch:

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

Tests für Media Performance Class ausführen

Der cts-media-performance-class-Testplan überprüft die CDD-Anforderungen für Anforderungen an die Media-Leistungsklasse (CDD Abschnitt 2.2.7.1) und Kameraanforderungen (CDD Abschnitt 2.2.7.2). Führen Sie den cts-media-performance-class-Test aus:

cts-tradefed run cts-media-performance-class

So führen Sie nur die CTS-Tests für die Kamera aus:

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

So führen Sie nur die Media-CTS-Tests aus:

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

MediaDrm-CTS-Tests ausführen

MediaDrm-CTS-Tests überprüfen die MediaDrm-Anforderungen in Abschnitt 2.2.7.1 des CDD. MediaDrm CTS-Tests ausführen:

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

CTS-Tests für das Dateisystem ausführen

Mit den CTS-Tests für das Dateisystem werden die Leistungsanforderungen in Abschnitt 2.2.7.4 des CDD überprüft.

  • So testen Sie die Anforderungen für sequenzielles Lesen und Schreiben:

    cts-tradefed run singleCommand cts --disable-reboot -m CtsFileSystemTestCases -t android.filesystem.cts.SequentialRWTest
  • So testen Sie die Anforderungen für zufällige Lese- und Schreibvorgänge:

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

Geräte mit Android 11 oder 12 testen

Wenn Sie Geräte mit Android 11 oder 12 testen möchten, müssen Sie zuerst die Testgeräte einrichten. Die Einrichtung unterscheidet sich je nach Android-Version und je nachdem, ob es sich um Userdebug- oder User-Geräte handelt. Führen Sie dann CTS- und CTS-Verifier-Tests aus.

Media Performance Class bewerben

So richten Sie Testgeräte ein, um die richtige Leistungsklasse mit der Systemeigenschaft ro.odm.build.media_performance_class anzukündigen:

  • Legen Sie für die Leistungsklasse 12 (PC12) den Wert des Attributs auf 31 fest.

  • Legen Sie für die Leistungsklasse 11 (PC11) den Wert des Attributs auf 30 fest.

Userdebug-Geräte

So richten Sie Android-Userdebug-Geräte ein:

  • Android 12-Userdebug-Geräte:

    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
  • Userdebug-Geräte mit Android 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

Die Systemeigenschaft ro.odm.build.media_performance_class kann nur einmal pro Neustart festgelegt werden. Das Gerät muss jedoch nicht neu gestartet werden, bevor sie zum ersten Mal festgelegt wird.

Nutzergeräte

Wenn Sie Android-Nutzergeräte einrichten möchten, fügen Sie der Datei product.prop das Attribut ro.odm.build.media_performance_class mit dem ausgewählten Wert für die Leistungsklasse hinzu:

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

Führen Sie für Nutzergeräte mit Android 11 die folgenden zusätzlichen Schritte aus:

  1. Wählen Sie den Patch [1627181] Add media performance class property to sepolicy aus.

  2. So legen Sie MANAGE_EXTERNAL_STORAGE für com.android.cts.verifier fest:

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

CTS- und ITS-Tests ausführen

Erstellen Sie CTS und CTS Verifier mit den heruntergeladenen Patches und führen Sie dann die entsprechende Android-Version für Ihre Testgeräte aus (Android 11 CTS für Android 11-Geräte, Android 12 CTS für Android 12-Geräte).

Medien

So führen Sie Media-CTS-Tests aus:

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

Kamera

So führen Sie CTS-Tests für die Kamera aus:

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

Für Geräte mit Android 12:

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

Hardware

So führen Sie Hardware-CTS-Tests aus:

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