執行媒體效能類別測試

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 裝置都能創建高品質的影片內容,為使用者提供頂級媒體體驗。

系統會透過名為 CtsVideoEncodingQualityHostTest 的新 CTS 測試驗證 PC14-VEQ 需求條件。

這項 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 第 2.2.7.1 節) 和相機要求 (CDD 第 2.2.7.2 節) 的 CDD 規定。使用下列指令執行 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 使用者偵錯裝置,請執行下列指令:

  • 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 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 使用者偵錯裝置,請將 ro.odm.build.media_performance_class 屬性和所需效能類別值新增至 product.prop 檔案。範例如下所示:

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

如果使用者裝置搭載 Android 11,請執行下列額外步驟:

  1. 挑選 [1627181] 新增媒體成效類別屬性至 sepolicy 修補程式。

  2. 執行下列指令:

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

執行 CTS 和 ITS 測試

請在套用下載的修補程式後建構 CTS 和 CTS 驗證工具,然後為測試裝置執行適當的 Android 版本 (Android 11 CTS 適用於 Android 11 裝置,Android 12 CTS 適用於 Android 12 裝置)。

媒體

請使用下列指令執行媒體 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