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
emStream.aidl
e aplique-o ao stream de saída. - Implemente a entrada de metadados
android.request.availableColorSpaceProfilesMap
. - Informe o recurso
COLOR_SPACE_PROFILES
emandroid.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