Captura de ampla gama

Para dispositivos com o Android 14 ou versões mais recentes, o Android oferece suporte à captura de ampla gama do Display P3. Os dispositivos podem capturar imagens em cores de ampla gama em formato JPEG com a classe ImageReader sem usar HDR de 10 bits. Esse recurso permite que os dispositivos solicitem a captura da câmera em um espaço de cores de ampla gama para o framework Camera2 usando o parâmetro setColorSpace em SessionConfiguration.

Requisitos

Para oferecer suporte à captura de ampla gama de cores, o dispositivo precisa ter acesso a uma câmera com recursos de ampla gama de cores.

Implementação

Para oferecer suporte a solicitações de captura de gama ampla P3, faça o seguinte:

  • Leia o campo colorSpace em Stream.aidl e aplique-o ao stream de saída.
  • Implemente a entrada de metadados android.request.availableColorSpaceProfilesMap.
  • Informe o recurso COLOR_SPACE_PROFILES em android.request.availableCapabilities.

Para conferir uma implementação de referência da HAL da câmera com suporte à captura de gama ampla P3, consulte o seguinte em /hardware/google/camera/devices/EmulatedCamera/hwl/ configs/emu_camera_back.json:

Para mais detalhes sobre a captura de ampla gama na HAL da câmera, consulte os seguintes valores em metadata_definitions.xml:

APIs

Para dispositivos com o Android 14 ou mais recente com suporte à captura de ampla gama, os clientes da câmera podem usar as seguintes APIs públicas:

Os valores esperados para o parâmetro ColorSpace são derivados da classe ColorSpace.Named. No Android 14, SRGB, DISPLAY_P3 e BT2020_HLG têm suporte.

Validação

Para validar a implementação do suporte à captura de gama ampla da P3, execute os seguintes testes.

CTS

  • android.hardware.camera2.cts.ExtendedCameraCharacteristicsTest#test8BitColorSpaceOutputCharacteristics
  • android.hardware.camera2.cts.ExtendedCameraCharacteristicsTest#test10BitColorSpaceOutputCharacteristics
  • android.hardware.camera2.cts.ExtendedCameraCharacteristicsTest#testColorSpaceProfileMap
  • android.hardware.camera2.cts.ImageReaderTest#testDisplayP3Jpeg
  • android.hardware.camera2.cts.ImageReaderTest#testDisplayP3JpegRepeating
  • android.hardware.camera2.cts.ImageReaderTest#testDisplayP3Heic
  • android.hardware.camera2.cts.ImageReaderTest#testDisplayP3HeicRepeating

ITS

Execute os testes do pacote de teste de imagem da câmera (ITS, na sigla em inglês) para validar o seguinte:

  • Presença de um perfil ICC com coordenadas de cromaticidade corretas
  • A imagem contém dados de pixel fora da gama sRGB