广色域拍摄

对于搭载 Android 14 或更高版本的设备,Android 支持 Display P3 广色域拍摄。设备可以使用 ImageReader 类拍摄 JPEG 格式的广色域色彩图片,而无需使用 10 位 HDR。借助此功能,设备可以通过 SessionConfiguration 中的 setColorSpace 参数请求向 Camera2 框架请求广色域空间中的相机拍摄。

要求

如需支持广色域拍摄,设备必须支持具有广色域色彩的相机。

实现

如需支持 Display P3 广色域拍摄请求,请执行以下操作:

  • 读取 Stream.aidl 中的 colorSpace 字段并将其应用于输出流。
  • 实现 android.request.availableColorSpaceProfilesMap 元数据条目。
  • android.request.availableCapabilities 中报告 COLOR_SPACE_PROFILES 功能。

如需查看支持 P3 广色域拍摄的相机 HAL 参考实现,请参阅 /hardware/google/camera/devices/EmulatedCamera/hwl/ configs/emu_camera_back.json 中的以下内容:

如需详细了解相机 HAL 中的广色域拍摄,请参阅 metadata_definitions.xml 中的以下值:

API

对于搭载 Android 14 或更高版本且支持广色域拍摄的设备,相机客户端可以使用以下公共 API:

ColorSpace 参数的预期值衍生自 ColorSpace.Named 类。Android 14 支持 SRGBDISPLAY_P3BT2020_HLG

验证

如需验证 Display P3 广色域拍摄支持的实现情况,请运行以下测试。

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

运行相机图像测试套件 (ITS) 测试以验证以下内容:

  • ICC 配置文件是否存在且色度坐标是否正确
  • 图片是否包含 sRGB 色域之外的像素数据