运行媒体性能等级测试

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 文件定义的编码测试用例。对于每个测试用例,被测试编码器的率失真 (RD) 曲线是通过使用 JSON 文件中的编码器设置对比特流进行编码来生成的。参考率-失真曲线包含在同一 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 测试,但相机 CTS 测试需要 PC13 的 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 与用户设备之间的设置有所不同),然后运行 ​​CTS 和 CTS 验证程序测试。

宣传媒体表演等级

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

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

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

用户调试设备

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

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

每次重新启动时,您只能设置一次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