对于搭载 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 支持 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 色域之外的像素数据