미디어 성능 등급 테스트 실행

Android 호환성 테스트 모음(CTS)에는 Android 11 이상을 실행하는 기기의 미디어 성능 등급 테스트가 포함되어 있습니다. 테스트 프로세스는 Android 13을 실행하는 기기와 Android 11 또는 Android 12를 실행하는 기기에서 다르므로 기기에서 실행되는 Android 버전에 관한 안내를 따라야 합니다.

테스트 다운로드

다음 테스트를 다운로드합니다.

Android 14 이상 기기 테스트

성능 등급 14(PC14)-동영상 인코딩 품질(VEQ) 테스트 실행

Android 14에서는 성능 등급 14(PC14) 기기의 동영상 인코딩 품질(VEQ) 요구사항을 도입합니다. 기본적으로 PC14-VEQ 요구사항은 PC14 기기의 HW 동영상 인코더에 관한 측정 가능한 방식으로 기준 품질 타겟 요구사항을 정의합니다.

목표는 성능 등급 14로 클러스터링된 각 Android 기기가 고품질 동영상 콘텐츠를 만들어 최종 사용자에게 최고의 미디어 환경을 제공하도록 하는 것입니다.

PC14-VEQ 요구사항은 CtsVideoEncodingQualityHostTest라는 새로운 CTS 테스트로 인증됩니다.

이 CTS 테스트는 구성 JSON 파일로 정의된 일련의 인코딩 테스트 사례를 실행합니다. 각 테스트 사례의 경우 테스트되는 인코더의 속도-왜곡(RD) 곡선은 JSON 파일의 인코더 설정을 사용하여 비트스트림을 인코딩해 생성됩니다. 참조 속도-왜곡 곡선은 동일한 JSON 파일에 포함됩니다. VMAF(Video Multimethod Assessment Fusion) vmaf_v0.6.1.json은 왜곡(즉, 품질 손실)을 계산하는 데 사용됩니다.

테스트 사례는 BDRATE-VMAF 결과가 0보다 작거나 같은 경우에만 통과할 수 있습니다.

PC14-VEQ CTS 테스트는 다음을 비롯한 인코딩 구성을 다룹니다.

  • AVC 및 HEVC HW 인코더
  • 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 섹션 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으로 설정합니다.

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. [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