对于运行 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 中,支持 SRGB
、DISPLAY_P3
和 BT2020_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 色域之外的像素数据