广色域捕获

对于运行 Android 14 或更高版本的设备,Android 提供对 Display P3 广色域捕获的支持。设备可以使用 ImageReader 类以 JPEG 格式捕获广色域彩色图像,而无需使用 10 位 HDR。此功能允许设备通过 setColorSpace 参数向 Camera2 框架请求 SessionConfiguration 中的广色域色彩空间中的相机捕获。

要求

要支持广色域捕获,设备必须能够访问具有广色域色彩功能的相机。

实现

要支持 Display P3 广色域捕获请求,请执行以下操作

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

有关支持 P3 广色域捕获的参考 Camera HAL 实现,请参阅 /hardware/google/camera/devices/EmulatedCamera/hwl/ configs/emu_camera_back.json 中的以下内容

有关 Camera 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 色域之外的像素数据