运行媒体性能等级测试

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 结果小于或等于 0 时,测试用例才能通过。

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 测试,但对于 PC13,相机 CTS 测试需要使用 Android 13 中的功能。

运行相机 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 设备和 user 设备的设置方式也不同),然后运行 CTS 和 CTS 验证程序测试。

通告媒体性能等级

请按照以下步骤设置测试设备,以使用 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 系统属性(但您无需在首次设置该属性之前重新启动设备)。

user 设备

若要设置 Android userdebug 设备,请将具有所需性能等级值的 ro.odm.build.media_performance_class 属性添加到 product.prop 文件中。相关示例如下所示:

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

对于搭载 Android 11 的 user 设备,请执行以下额外步骤:

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

  2. 运行以下命令:

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

运行 CTS 测试和 ITS 测试

构建应用了已下载补丁的 CTS 和 CTS 验证程序,然后为您的测试设备运行相应版本的 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