对于运行 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#test8BitColorSpaceOutputCharacteristicsandroid.hardware.camera2.cts.ExtendedCameraCharacteristicsTest#test10BitColorSpaceOutputCharacteristicsandroid.hardware.camera2.cts.ExtendedCameraCharacteristicsTest#testColorSpaceProfileMapandroid.hardware.camera2.cts.ImageReaderTest#testDisplayP3Jpegandroid.hardware.camera2.cts.ImageReaderTest#testDisplayP3JpegRepeatingandroid.hardware.camera2.cts.ImageReaderTest#testDisplayP3Heicandroid.hardware.camera2.cts.ImageReaderTest#testDisplayP3HeicRepeating
ITS
运行相机图像测试套件 (ITS) 测试以验证以下内容
- 存在具有正确色度坐标的 ICC 配置文件
- 图像包含 sRGB 色域之外的像素数据