Executar testes de classe de performance da mídia

O conjunto de teste de compatibilidade (CTS) do Android 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 o Android 13 e dispositivos com o 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 o Android 14 ou mais recente

Esta seção descreve os testes necessários para dispositivos com o Android 14 ou mais recente.

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 um requisito de qualidade de linha de base de maneira mensurável para os codificadores de vídeo de hardware em um dispositivo PC14.

O objetivo é verificar se cada dispositivo que executa o Android agrupado na classe de desempenho 14 oferece 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 e usa a API Transformer do Jetpack Media3. Para cada caso de teste, a curva de taxa de distorção (RD) do codificador que está sendo testado é gerada pela codificação de um fluxo de bits usando as configurações do codificador do arquivo JSON. A curva de taxa de 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ó pode ser aprovado quando o resultado do BDRATE-VMAF for menor ou igual a zero.

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

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

Testar dispositivos com o Android 13 ou mais recente

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

  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 é o Android 13 ou mais recente. Embora seja possível executar testes de mídia do CTS em uma imagem do sistema Android 11 ou mais recente, os testes de câmera do 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. Após a configuração, execute testes para câmeras frontal e traseira:

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 desempenho 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 teste cts-media-performance-class:

cts-tradefed run cts-media-performance-class

Para executar apenas os testes de câmera do CTS:

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

Para executar apenas os testes de mídia do CTS:

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

Executar testes MediaDrm do CTS

Os testes MediaDrm do CTS verificam os requisitos do MediaDrm na seção 2.2.7.1 do CDD. Execute os testes MediaDrm do 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

Executar testes de sistema de arquivos do CTS

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

  • Para testar os requisitos de leitura e gravação sequenciais:

    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:

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

Testar dispositivos com o Android 11 ou 12

Para testar dispositivos com o Android 11 ou 12, primeiro configure os dispositivos de teste (a configuração varia entre a versão do Android e o userdebug em comparação com dispositivos do usuário) e, em seguida, execute os testes do CTS e do verificador do CTS.

Anunciar a classe de desempenho de mídia

Siga estas etapas 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 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:

  • 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 defini-la pela primeira vez).

Dispositivos do usuário

Para configurar dispositivos do usuário do Android, adicione a propriedade ro.odm.build.media_performance_class com o valor da classe de desempenho selecionada ao arquivo product.prop:

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

Para dispositivos do usuário com o Android 11, siga estas etapas adicionais:

  1. Cherrypick o patch [1627181] Adicionar propriedade de classe de desempenho de mídia ao sepolicy.

  2. Defina MANAGE_EXTERNAL_STORAGE para com.android.cts.verifier:

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

Executar testes do CTS e ITS

Crie o CTS e o verificador do CTS com os patches transferidos por download 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

Para executar testes de mídia do CTS:

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

Câmera

Para executar testes de câmera do 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

Para dispositivos com o Android 12:

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

Hardware

Para executar testes de hardware do 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