Executar testes de classe de performance da mídia

O conjunto de teste de compatibilidade do Android (CTS) inclui testes de classe de desempenho de mídia para dispositivos com Android 11 ou mais recente. Como o processo de teste é diferente entre dispositivos com Android 13 e dispositivos com Android 11 ou 12, siga as instruções da versão do Android em execução nos seus dispositivos.

Fazer o download de testes

Faça o download dos seguintes testes:

Testar dispositivos com Android 14 ou versões mais recentes

Executar testes de qualidade de codificação de vídeo (VEQ) da classe de desempenho 14 (PC14)

O Android 14 lançou requisitos de qualidade de codificação de vídeo (VEQ) para dispositivos da classe de desempenho 14 (PC14). Os requisitos do PC14-VEQ definem essencialmente um requisito de qualidade de destino de referência de maneira mensurável para os codificadores de vídeo de hardware em um dispositivo PC14.

O objetivo é garantir que cada dispositivo Android agrupado na classe de desempenho 14 ofereça uma experiência de mídia premium aos usuários finais criando conteúdo de vídeo de alta qualidade.

Os requisitos do PC14-VEQ são verificados por um novo teste de CTS chamado CtsVideoEncodingQualityHostTest.

Esse teste do CTS executa um conjunto de casos de teste de codificação definidos pelos arquivos JSON de configuração. Para cada caso de teste, a curva de taxa-distorção (RD) do codificador testado é gerada codificando um fluxo de bits usando as configurações do codificador do arquivo JSON. A curva de taxa-distorção de referência está incluída no mesmo arquivo JSON. A fusão de avaliação multimétodo de vídeo (VMAF) vmaf_v0.6.1.json é usada para calcular a distorção (ou seja, a perda de qualidade).

Um caso de teste só é aprovado quando o resultado BDRATE-VMAF é menor ou igual a zero.

O teste CTS PC14-VEQ abrange configurações de codificação, incluindo:

  • Codificadores de hardware AVC e HEVC
  • Modo de controle de taxa VBR
  • Codificação de frame P/B
  • 1920x1080p30fps (paisagem) ou 1080x1920p30fps (retrato)

Testar dispositivos com Android 13 ou versões mais recentes

Antes de iniciar um teste, prepare os dispositivos:

  1. Configure o dispositivo para anunciar a classe de desempenho de mídia 13 (PC13) definindo o valor da propriedade do sistema _ro.odm.build.media_performance_class como 33.

  2. Verifique se a imagem do sistema do dispositivo é Android 13 ou mais recente. Embora seja possível executar testes do Media CTS em uma imagem do sistema Android 11 ou mais recente, os testes do Camera CTS exigem recursos do Android 13 para PC13.

Executar testes ITS da câmera

Para executar apenas os testes ITS da câmera, primeiro defina os números de série do dispositivo e do tablet em config.yml e execute os seguintes comandos:

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

Executar testes de classe de performance de mídia

O plano de teste cts-media-performance-class verifica os requisitos do CDD para requisitos de classe de desempenho de mídia (CDD Seção 2.2.7.1) e requisitos de câmera (CDD Seção 2.2.7.2). Execute o plano de teste cts-media-performance-class usando este comando:

cts-tradefed run cts-media-performance-class

Para executar apenas os testes do CTS da câmera, use o seguinte comando:

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

Para executar apenas os testes do CTS de mídia, use o seguinte comando:

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

Executar testes do CTS do MediaDrm

Os testes do CTS do MediaDrm verificam os requisitos do MediaDrm na Seção 2.2.7.1 do CDD. Execute os testes do CTS do MediaDrm usando os seguintes comandos:

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

Executar testes do CTS do sistema de arquivos

Os testes do CTS do sistema de arquivos verificam os requisitos de desempenho na Seção 2.2.7.4 do CDD.

  • Para testar os requisitos de leitura e gravação sequenciais, use o seguinte comando:

    cts-tradefed run singleCommand cts --disable-reboot -m CtsFileSystemTestCases -t android.filesystem.cts.SequentialRWTest
  • Para testar os requisitos de leitura e gravação aleatórias, use o seguinte comando:

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

Testar dispositivos Android 11 ou 12

Para testar dispositivos com Android 11 ou 12, primeiro configure os dispositivos de teste (a configuração varia entre a versão do Android e os dispositivos userdebug e user). Depois, execute os testes do CTS e do CTS Verifier.

Anunciar a classe de performance de mídia

Siga estas etapas para configurar dispositivos de teste e anunciar a classe de desempenho correta usando a propriedade de sistema ro.odm.build.media_performance_class:

  • Para a classe de desempenho 12 (PC12), defina o valor da propriedade como 31.

  • Para a classe de desempenho 11 (PC11), defina o valor da propriedade como 30.

Dispositivos userdebug

Para configurar dispositivos userdebug do Android, execute os seguintes comandos:

  • Dispositivos userdebug do 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
  • Dispositivos userdebug do 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

É possível definir a propriedade do sistema ro.odm.build.media_performance_class apenas uma vez por reinicialização, mas não é necessário reiniciar o dispositivo antes de definir a propriedade pela primeira vez.

Dispositivos do usuário

Para configurar dispositivos userdebug do Android, adicione a propriedade ro.odm.build.media_performance_class com o valor de classe de desempenho desejado ao arquivo product.prop. Veja um exemplo abaixo:

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

Para dispositivos de usuários com o Android 11, siga estas etapas adicionais:

  1. Faça o cherrypick do patch [1627181] Adicionar propriedade de classe de desempenho de mídia a sepolicy.

  2. Execute este comando:

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

Executar testes CTS e ITS

Crie o CTS e o CTS Verifier com os patches baixados aplicados e execute a versão apropriada do Android para seus dispositivos de teste (CTS do Android 11 para dispositivos Android 11, CTS do Android 12 para dispositivos Android 12).

Mídia

Execute os testes de CTS de mídia usando o seguinte comando:

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

Câmera

Execute os testes do CTS da câmera usando os seguintes comandos:

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

Para dispositivos com Android 12, execute o seguinte comando:

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

Hardware

Execute os testes do CTS de hardware usando os seguintes comandos:

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