Executar testes de classe de desempenho de mídia

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

Fazer o download de testes

Faça o download dos seguintes testes:

Testar dispositivos com o Android 14 ou versões mais recentes

Executar testes de Performance Class 14 (PC14): qualidade de codificação de vídeo (VEQ, na sigla em inglês)

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 meta de qualidade 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, na sigla em inglês) do codificador que está sendo testado é gerada codificando um fluxo de bits usando as configurações do codificador do arquivo JSON. A curva de distorção de taxa de referência é incluída no mesmo arquivo JSON. A fusão de avaliação de vídeo por vários métodos (VMAF, na sigla em inglês) vmaf_v0.6.1.json é usada para calcular a distorção (ou seja, a perda de qualidade).

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

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

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

Testar dispositivos Android 13 ou mais recente

Antes de iniciar uma execução de teste, prepare os dispositivos para testes:

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

  2. Confira se a imagem do sistema do dispositivo é o Android 13 ou mais recente. Embora seja possível executar testes de CTS de mídia em uma imagem do sistema do Android 11 ou mais recente, os testes de CTS da câmera exigem recursos do Android 13 para PC13.

Executar testes ITS da câmera

Para executar apenas os testes ITS da câmera, 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 da mídia

O plano de teste cts-media-performance-class verifica os requisitos do CDD para requisitos da 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 o seguinte comando:

cts-tradefed run cts-media-performance-class

Para executar apenas os testes 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 de CTS de mídia, use o seguinte comando:

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

Executar testes de CTS para 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 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 requisitos de leitura e gravação aleatórios, 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 o Android 11 ou 12, primeiro configure os dispositivos de teste (a configuração difere entre a versão do Android e o userdebug em comparação com os dispositivos do usuário) e execute os testes do CTS e do verificador do CTS.

Anunciar a classe de performance de mídia

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

  • Para a classe de performance 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 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 da classe de performance desejada 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. Escolha o patch [1627181] Adicionar a propriedade da classe de performance de mídia ao 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 do Android 11, CTS do Android 12 para dispositivos do Android 12).

Mídia

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

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

Câmera

Execute os testes CTS da câmera usando estes 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 o Android 12, execute este comando:

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

Hardware

Execute testes CTS de hardware usando estes 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