运行媒体性能等级测试

Android 兼容性测试套件 (CTS) 包括针对运行 Android 11 或更高版本的设备的媒体性能等级测试。由于运行 Android 13 的设备与运行 Android 11 或 Android 12 的设备之间的测试流程有所不同,因此请务必按照适用于您的设备上运行的 Android 版本的说明操作。

下载测试

下载以下测试

测试 Android 14 或更高版本的设备

运行性能等级 14 (PC14) - 视频编码质量 (VEQ) 测试

Android 14 为性能等级 14 (PC14) 设备引入了视频编码质量 (VEQ) 要求。PC14-VEQ 要求实际上以可测量的方式定义了 PC14 设备上硬件视频编码器的基准质量目标要求。

目标是确保归类为性能等级 14 的每个 Android 设备都能通过创建高质量的视频内容,为最终用户提供优质的媒体体验。

PC14-VEQ 要求通过名为 CtsVideoEncodingQualityHostTest 的新 CTS 测试进行验证。

此 CTS 测试运行一组由配置 JSON 文件定义的编码测试用例。对于每个测试用例,通过使用 JSON 文件中的编码器设置对码流进行编码来生成被测编码器的率失真 (RD) 曲线。参考率失真曲线包含在同一 JSON 文件中。视频多方法评估融合 (VMAF) vmaf_v0.6.1.json 用于计算失真(即质量损失)。

只有当测试用例的 BDRATE-VMAF 结果小于或等于零时,该测试用例才能通过。

PC14-VEQ CTS 测试涵盖的编码配置包括以下内容

  • AVC 和 HEVC 硬件编码器
  • VBR 码率控制模式
  • P 帧/B 帧编码
  • 1920x1080p30fps(横向)或 1080x1920p30fps(纵向)

测试 Android 13 或更高版本的设备

在开始运行测试之前,请先准备好设备以进行测试

  1. 通过将 _ro.odm.build.media_performance_class 系统属性值设置为 33,将设备设置为通告媒体性能等级 13 (PC13)。

  2. 确保设备系统映像为 Android 13 或更高版本。虽然您可以在 Android 11 或更高版本的系统映像上运行媒体 CTS 测试,但相机 CTS 测试需要 Android 13 功能才能用于 PC13。

运行相机 ITS 测试

要仅运行相机 ITS 测试,请先在 config.yml 中设置设备和平板电脑序列号,然后运行以下命令

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

运行媒体性能等级测试

cts-media-performance-class 测试计划验证媒体性能等级要求的 CDD 要求(CDD 第 2.2.7.1 节)和相机要求(CDD 第 2.2.7.2 节)。使用以下命令运行 cts-media-performance-class 测试计划

cts-tradefed run cts-media-performance-class

要仅运行相机 CTS 测试,请使用以下命令

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

要仅运行媒体 CTS 测试,请使用以下命令

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

运行 MediaDrm CTS 测试

MediaDrm CTS 测试验证 CDD 第 2.2.7.1 节中的 MediaDrm 要求。使用以下命令运行 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

运行文件系统 CTS 测试

文件系统 CTS 测试验证 CDD 第 2.2.7.4 节中的性能要求。

  • 要测试顺序读取和写入要求,请使用以下命令

    cts-tradefed run singleCommand cts --disable-reboot -m CtsFileSystemTestCases -t android.filesystem.cts.SequentialRWTest
  • 要测试随机读取和写入要求,请使用以下命令

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

测试 Android 11 或 12 设备

要测试运行 Android 11 或 12 的设备,请先设置测试设备(Android 版本和 userdebug 与用户设备之间的设置有所不同),然后运行 CTS 和 CTS Verifier 测试。

通告媒体性能等级

使用以下步骤设置测试设备,以使用 ro.odm.build.media_performance_class 系统属性通告正确的性能等级

  • 对于性能等级 12 (PC12),请将该属性的值设置为 31

  • 对于性能等级 11 (PC11),请将该属性的值设置为 30

Userdebug 设备

要设置 Android userdebug 设备,请运行以下命令

  • Android 12 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
  • Android 11 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

您只能在每次重启时设置一次 ro.odm.build.media_performance_class 系统属性(但您无需在首次设置之前重启设备)。

用户设备

要设置 Android userdebug 设备,请将 ro.odm.build.media_performance_class 属性以及所需的性能等级值添加到 product.prop 文件。示例如下

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

对于运行 Android 11 的用户设备,请执行以下其他步骤

  1. Cherrypick [1627181] 将媒体性能等级属性添加到 sepolicy 补丁。

  2. 运行以下命令

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

运行 CTS 和 ITS 测试

构建已应用下载补丁的 CTS 和 CTS Verifier,然后为您的测试设备运行相应版本的 Android(Android 11 设备运行 Android 11 CTS,Android 12 设备运行 Android 12 CTS)。

媒体

使用以下命令运行媒体 CTS 测试

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

相机

使用以下命令运行相机 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

对于运行 Android 12 的设备,运行以下命令

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

硬件

使用以下命令运行硬件 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