相机
摘要
枚举
Anonymous Enum 108
声明于camera/NdkCameraCaptureSession.h
Anonymous Enum 108
ACameraCaptureFailure 中描述错误原因的枚举。
属性 | |
---|---|
CAPTURE_FAILURE_REASON_ERROR |
由于框架错误,捕获会话已丢弃此帧。 |
CAPTURE_FAILURE_REASON_FLUSHED |
由于调用 ACameraCaptureSession_abortCaptures,捕获会话已丢弃此帧。 |
Anonymous Enum 109
声明于camera/NdkCameraCaptureSession.h
Anonymous Enum 109
Anonymous Enum 110
声明于camera/NdkCameraDevice.h
Anonymous Enum 110
ACameraDevice_ErrorStateCallback 错误代码的枚举。
属性 | |
---|---|
ERROR_CAMERA_DEVICE |
相机设备遇到了严重错误。 相机设备需要重新打开才能再次使用。 |
ERROR_CAMERA_DISABLED |
由于设备策略,相机被禁用,无法打开。 |
ERROR_CAMERA_IN_USE |
相机设备已在使用中。 |
ERROR_CAMERA_SERVICE |
相机服务遇到了严重错误。 可能需要关闭并重新启动 Android 设备以恢复相机功能,或者可能存在持续的硬件问题。通过关闭 CameraDevice 和 CameraManager,并尝试从头开始重新获取所有资源,可能可以尝试恢复。 |
ERROR_MAX_CAMERAS_IN_USE |
已达到系统范围内打开相机或相机资源的数量限制,在关闭之前的实例之前,无法打开更多相机设备。 |
Anonymous Enum 111
声明于camera/NdkCameraMetadata.h
Anonymous Enum 111
元数据条目可能的数据类型。
与 system/media/include/system/camera_metadata.h 同步。
属性 | |
---|---|
ACAMERA_NUM_TYPES |
类型字段的数量。 |
ACAMERA_TYPE_BYTE |
无符号 8 位整数 (uint8_t) |
ACAMERA_TYPE_DOUBLE |
64 位浮点数 (double) |
ACAMERA_TYPE_FLOAT |
32 位浮点数 (float) |
ACAMERA_TYPE_INT32 |
有符号 32 位整数 (int32_t) |
ACAMERA_TYPE_INT64 |
有符号 64 位整数 (int64_t) |
ACAMERA_TYPE_RATIONAL |
64 位分数 (ACameraMetadata_rational) |
ACameraDevice_request_template
声明于camera/NdkCameraDevice.h
ACameraDevice_request_template
捕获请求预定义模板类型,用于 ACameraDevice_createCaptureRequest 和 ACameraDevice_createCaptureRequest_withPhysicalIds。
属性 | |
---|---|
TEMPLATE_MANUAL |
用于直接应用程序控制捕获参数的基本模板。 所有自动控制(自动曝光、自动白平衡、自动对焦)均已禁用,后处理参数设置为预览质量。手动捕获参数(曝光、感光度等)设置为合理的默认值,但应根据预期的用例由应用程序覆盖。支持 ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR 功能的相机设备保证支持此模板。 |
TEMPLATE_PREVIEW |
创建适用于相机预览窗口的请求。 具体来说,这意味着高帧率优先于最高质量的后处理。这些请求通常与 ACameraCaptureSession_setRepeatingRequest 方法一起使用。所有相机设备都保证支持此模板。 |
TEMPLATE_RECORD |
创建适用于视频录制的请求。 具体来说,这意味着使用稳定的帧率,并且后处理设置为录制质量。这些请求通常与 ACameraCaptureSession_setRepeatingRequest 方法一起使用。所有相机设备都保证支持此模板。 |
TEMPLATE_STILL_CAPTURE |
创建适用于静态图像捕获的请求。 具体来说,这意味着图像质量优先于帧率。这些请求通常与 ACameraCaptureSession_capture 方法一起使用。所有相机设备都保证支持此模板。 |
TEMPLATE_VIDEO_SNAPSHOT |
创建适用于在录制视频时进行静态图像捕获的请求。 具体来说,这意味着在不中断正在进行的录制的情况下最大化图像质量。这些请求通常与 ACameraCaptureSession_capture 方法一起使用,同时基于 TEMPLATE_RECORD 的请求正在与 ACameraCaptureSession_setRepeatingRequest 一起使用。所有相机设备都保证支持此模板。 |
TEMPLATE_ZERO_SHUTTER_LAG |
创建适用于零快门延迟静态捕获的请求。 这意味着在不影响预览帧率的情况下最大化图像质量。AE/AWB/AF 应处于自动模式。 |
acamera_metadata_enum_acamera_automotive_lens_facing
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_automotive_lens_facing
acamera_metadata_enum_acamera_automotive_location
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_automotive_location
属性 | |
---|---|
ACAMERA_AUTOMOTIVE_LOCATION_EXTERIOR_FRONT |
相机设备位于车身框架外部并位于其前侧。 |
ACAMERA_AUTOMOTIVE_LOCATION_EXTERIOR_LEFT |
相机设备位于车身框架外部并位于其左侧。 |
ACAMERA_AUTOMOTIVE_LOCATION_EXTERIOR_OTHER |
相机位于车身框架外部,但不完全在此枚举定义的外部位置之一。应用程序应根据 ACAMERA_LENS_POSE_TRANSLATION 确定确切位置。 |
ACAMERA_AUTOMOTIVE_LOCATION_EXTERIOR_REAR |
相机设备位于车身框架外部并位于其后侧。 |
ACAMERA_AUTOMOTIVE_LOCATION_EXTERIOR_RIGHT |
相机设备位于车身框架外部并位于其右侧。 |
ACAMERA_AUTOMOTIVE_LOCATION_EXTRA_FRONT |
相机设备位于额外车辆车身框架外部并位于其前侧。 |
ACAMERA_AUTOMOTIVE_LOCATION_EXTRA_LEFT |
相机设备位于额外车辆车身外部并位于其左侧。 |
ACAMERA_AUTOMOTIVE_LOCATION_EXTRA_OTHER |
相机设备位于额外车辆上,例如拖车,但不完全位于前、后、左或右侧之一。应用程序应根据 ACAMERA_LENS_POSE_TRANSLATION 确定确切位置。 |
ACAMERA_AUTOMOTIVE_LOCATION_EXTRA_REAR |
相机设备位于额外车辆车身框架外部并位于其后侧。 |
ACAMERA_AUTOMOTIVE_LOCATION_EXTRA_RIGHT |
相机设备位于额外车辆车身外部并位于其右侧。 |
ACAMERA_AUTOMOTIVE_LOCATION_INTERIOR |
相机设备位于车辆驾驶室内。 |
acamera_metadata_enum_acamera_black_level_lock
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_black_level_lock
acamera_metadata_enum_acamera_color_correction_aberration_mode
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_color_correction_aberration_mode
属性 | |
---|---|
ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_FAST |
畸变校正不会相对传感器原始输出降低捕获速率。 |
ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY |
畸变校正以更高的质量运行,但捕获速率可能会降低(相对于传感器原始输出速率) |
ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_OFF |
不应用畸变校正。 |
acamera_metadata_enum_acamera_color_correction_mode
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_color_correction_mode
需要枚举的各种条目的枚举定义。
属性 | |
---|---|
ACAMERA_COLOR_CORRECTION_MODE_FAST |
色彩校正处理不能相对于传感器原始输出降低捕获速率。 可以应用超出指定白平衡管道的高级白平衡调整。 如果 AWB 启用且 另请参阅: ACAMERA_CONTROL_AWB_MODE |
ACAMERA_COLOR_CORRECTION_MODE_HIGH_QUALITY |
色彩校正处理以更高的质量运行,但捕获速率可能会降低(相对于传感器原始输出速率) 可以应用超出指定白平衡管道的高级白平衡调整。 如果 AWB 启用且 另请参阅: ACAMERA_CONTROL_AWB_MODE |
ACAMERA_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX |
使用 ACAMERA_COLOR_CORRECTION_TRANSFORM 矩阵和 ACAMERA_COLOR_CORRECTION_GAINS 进行色彩转换。 必须禁用所有高级白平衡调整(非白平衡管道指定)。 如果 AWB 启用且 另请参阅: ACAMERA_COLOR_CORRECTION_GAINS 另请参阅: ACAMERA_COLOR_CORRECTION_TRANSFORM 另请参阅: ACAMERA_CONTROL_AWB_MODE |
acamera_metadata_enum_acamera_control_ae_antibanding_mode
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_ae_antibanding_mode
属性 | |
---|---|
ACAMERA_CONTROL_AE_ANTIBANDING_MODE_50HZ |
相机设备将调整曝光时间,以避免 50Hz 照明源造成的条纹问题。 |
ACAMERA_CONTROL_AE_ANTIBANDING_MODE_60HZ |
相机设备将调整曝光时间,以避免 60Hz 照明源造成的条纹问题。 |
ACAMERA_CONTROL_AE_ANTIBANDING_MODE_AUTO |
相机设备将自动根据当前照明条件调整其防条纹例程。如果给定的相机设备支持 AUTO 模式,则这是默认模式。 |
ACAMERA_CONTROL_AE_ANTIBANDING_MODE_OFF |
相机设备不会调整曝光时间以避免条纹问题。 |
acamera_metadata_enum_acamera_control_ae_lock
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_ae_lock
属性 | |
---|---|
ACAMERA_CONTROL_AE_LOCK_OFF |
自动曝光锁定已禁用;AE 算法可以自由更新其参数。 |
ACAMERA_CONTROL_AE_LOCK_ON |
自动曝光锁定已启用;当锁定激活时,AE 算法不得更新曝光和感光度参数。 在自动曝光锁定时,ACAMERA_CONTROL_AE_EXPOSURE_COMPENSATION 设置的更改仍然会生效。 一些罕见的 LEGACY 设备可能不支持此功能,在这种情况下,值将始终被覆盖为 OFF。 |
acamera_metadata_enum_acamera_control_ae_lock_available
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_ae_lock_available
acamera_metadata_enum_acamera_control_ae_mode
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_ae_mode
属性 | |
---|---|
ACAMERA_CONTROL_AE_MODE_OFF |
相机设备的自动曝光例程已禁用。 应用程序选择的 ACAMERA_SENSOR_EXPOSURE_TIME、ACAMERA_SENSOR_SENSITIVITY 和 ACAMERA_SENSOR_FRAME_DURATION 将由相机设备使用,如果此相机设备有闪光灯单元,则也会使用 ACAMERA_FLASH_* 字段。 请注意,当 AE 处于 OFF 模式时,自动白平衡 (AWB) 和自动对焦 (AF) 行为依赖于设备。为了在不同设备上获得一致的行为,建议在将 AE 设置为 OFF 之前将 AWB 和 AF 设置为 OFF 模式或锁定 AWB 和 AF。更多详情请参阅 ACAMERA_CONTROL_AWB_MODE、ACAMERA_CONTROL_AF_MODE、ACAMERA_CONTROL_AWB_LOCK 和 ACAMERA_CONTROL_AF_TRIGGER。 LEGACY 设备不支持 OFF 模式,并且会尝试使用此值覆盖为 ON。 另请参阅: ACAMERA_CONTROL_AF_MODE 另请参阅: ACAMERA_CONTROL_AF_TRIGGER 另请参阅: ACAMERA_CONTROL_AWB_LOCK 另请参阅: ACAMERA_CONTROL_AWB_MODE 另请参阅: ACAMERA_SENSOR_EXPOSURE_TIME 另请参阅: ACAMERA_SENSOR_FRAME_DURATION 另请参阅: ACAMERA_SENSOR_SENSITIVITY |
ACAMERA_CONTROL_AE_MODE_ON |
相机设备的自动曝光例程处于活动状态,没有闪光灯控制。 应用程序对 ACAMERA_SENSOR_EXPOSURE_TIME、ACAMERA_SENSOR_SENSITIVITY 和 ACAMERA_SENSOR_FRAME_DURATION 的值将被忽略。应用程序可以控制各种 ACAMERA_FLASH_* 字段。 另请参阅: ACAMERA_SENSOR_EXPOSURE_TIME 另请参阅: ACAMERA_SENSOR_FRAME_DURATION 另请参阅: ACAMERA_SENSOR_SENSITIVITY |
ACAMERA_CONTROL_AE_MODE_ON_ALWAYS_FLASH |
与 ON 类似,但相机设备也会控制相机的闪光灯单元,在进行静态捕获时始终闪光。 闪光灯可能在预捕获序列期间闪光(由 ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER 触发),并且在 ACAMERA_CONTROL_CAPTURE_INTENT 字段设置为 STILL_CAPTURE 的捕获中将始终闪光。 另请参阅: ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER 另请参阅: ACAMERA_CONTROL_CAPTURE_INTENT |
ACAMERA_CONTROL_AE_MODE_ON_AUTO_FLASH |
与 ON 类似,但相机设备也会控制相机的闪光灯单元,在低光条件下闪光。 闪光灯可能在预捕获序列期间闪光(由 ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER 触发),并且在 ACAMERA_CONTROL_CAPTURE_INTENT 字段设置为 STILL_CAPTURE 的捕获中可能闪光。 另请参阅: ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER 另请参阅: ACAMERA_CONTROL_CAPTURE_INTENT |
ACAMERA_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE |
与 ON_AUTO_FLASH 类似,但具有自动红眼消除功能。 如果相机设备认为有必要,在预捕获序列期间会闪烁红眼消除闪光。 |
ACAMERA_CONTROL_AE_MODE_ON_EXTERNAL_FLASH |
外部闪光灯已打开。 它通知相机设备外部闪光灯已打开,并且应快速重新计算测光(如果连续对焦处于活动状态)以考虑外部闪光灯。否则,此模式的行为类似于 ON。 当外部闪光灯关闭时,应将 AE 模式更改为其他可用的 AE 模式之一。 如果相机设备支持 AE 外部闪光模式,则在相机设备完成 AE 扫描并且在没有闪光灯的情况下太暗时,ACAMERA_CONTROL_AE_STATE 必须为 FLASH_REQUIRED。 另请参阅: ACAMERA_CONTROL_AE_STATE |
ACAMERA_CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY |
与“ON”类似,但在低光场景中应用额外的亮度提升。 当场景照明条件在 ACAMERA_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE 定义的范围内时,此模式将应用额外的亮度提升。 此模式将根据场景照明条件自动调整应用的低光提升强度。较暗的场景将获得更多提升,而较亮的场景将获得较少提升。 此模式可以忽略设定的目标帧率,以允许捕获更多光线,这可能导致运动变得不流畅。帧率可以低于 ACAMERA_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES,但不会低于 10 FPS。此模式还可以增加传感器感光度增益,这可能导致更高的亮度(luma)和色度(chroma)噪声。传感器感光度增益可以超出 ACAMERA_SENSOR_INFO_SENSITIVITY_RANGE 的更高值。此模式还可能应用额外的处理来恢复图像暗区和亮区的细节,并在高感光度增益设置下应用降噪,以平衡感光度和捕获噪声之间的取舍。 此模式仅限于两个输出表面。一种输出表面类型可以是 SurfaceView 或 TextureView。另一种输出表面类型可以是 MediaCodec 或 MediaRecorder。此模式不能与高于 30 FPS 的目标 FPS 范围一起使用。 如果会话配置不受支持,则 CaptureResult 中报告的 AE 模式将是“ON”,而不是“ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY”。 启用此 AE 模式后,CaptureResult 字段 ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE 将指示低光提升何时处于“ACTIVE”或“INACTIVE”状态。默认情况下,ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE 将为“INACTIVE”。 一旦场景照明条件低于 ACAMERA_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE 定义的勒克斯值上限,低光提升就处于“ACTIVE”状态。一旦场景照明条件高于 ACAMERA_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE 定义的勒克斯值上限,此模式将处于“INACTIVE”状态。 另请参阅: ACAMERA_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES 另请参阅: ACAMERA_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE 另请参阅: ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE 另请参阅: ACAMERA_SENSOR_INFO_SENSITIVITY_RANGE |
acamera_metadata_enum_acamera_control_ae_precapture_trigger
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_ae_precapture_trigger
属性 | |
---|---|
ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL |
相机设备将取消任何当前活动或已完成的预捕获测光序列,自动曝光例程将返回其初始状态。 |
ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE |
触发器处于空闲状态。 |
ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_START |
预捕获测光序列将由相机设备启动。 预捕获触发器的确切效果取决于当前的 AE 模式和状态。 |
acamera_metadata_enum_acamera_control_ae_state
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_ae_state
属性 | |
---|---|
ACAMERA_CONTROL_AE_STATE_CONVERGED |
AE 对当前场景具有一组良好的控制值。 |
ACAMERA_CONTROL_AE_STATE_FLASH_REQUIRED |
AE 具有一组良好的控制值,但需要闪光才能获得高质量的静态捕获。 |
ACAMERA_CONTROL_AE_STATE_INACTIVE |
AE 已关闭或最近重置。 相机设备打开时,它处于此状态。这是一个瞬态,相机设备可能不会在捕获结果中报告此状态。 |
ACAMERA_CONTROL_AE_STATE_LOCKED |
AE 已锁定。 |
ACAMERA_CONTROL_AE_STATE_PRECAPTURE |
AE 被要求进行预捕获序列,并且当前正在执行。 可以通过将 ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER 设置为 START 来触发预捕获。通过将 ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER 设置为 CANCEL,可以取消当前活动或已完成(如果导致相机设备内部 AE 锁定)的预捕获测光序列。 预捕获完成后,AE 将根据需要转换为 CONVERGED 或 FLASH_REQUIRED。这是一个瞬态,相机设备可能不会在捕获结果中报告此状态。 |
ACAMERA_CONTROL_AE_STATE_SEARCHING |
AE 尚未获得当前场景的一组良好的控制值。 这是一个瞬态,相机设备可能不会在捕获结果中报告此状态。 |
acamera_metadata_enum_acamera_control_af_mode
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_af_mode
属性 | |
---|---|
ACAMERA_CONTROL_AF_MODE_AUTO |
基本的自动对焦模式。 在此模式下,除非调用自动对焦触发操作,否则镜头不会移动。当该触发器激活时,AF 将转换为 ACTIVE_SCAN,然后转换为扫描结果(FOCUSED 或 NOT_FOCUSED)。 如果镜头不是固定焦距,则始终支持此模式。 使用 ACAMERA_LENS_INFO_MINIMUM_FOCUS_DISTANCE 来确定镜头是否为固定焦距。 触发 AF_CANCEL 会将镜头位置重置为默认值,并将 AF 状态设置为 INACTIVE。 |
ACAMERA_CONTROL_AF_MODE_CONTINUOUS_PICTURE |
在此模式下,AF 算法会不断修改镜头位置,试图提供持续对焦的图像流。 对焦行为应适用于静态图像捕获;这通常意味着尽可能快地对焦。当不涉及 AF 触发器时,AF 算法应从 INACTIVE 状态开始,然后随着其尝试保持对焦,适当地转换为 PASSIVE_SCAN 和 PASSIVE_FOCUSED 状态。当 AF 触发器激活时,如果正在主动扫描,算法应完成其 PASSIVE_SCAN,然后适当地转换为 AF_FOCUSED 或 AF_NOT_FOCUSED,并锁定镜头位置,直到收到取消 AF 触发器。 当 AF 取消触发器激活时,算法应转换回 INACTIVE,然后表现得如同刚刚启动一样。 |
ACAMERA_CONTROL_AF_MODE_CONTINUOUS_VIDEO |
在此模式下,AF 算法会不断修改镜头位置,试图提供持续对焦的图像流。 对焦行为应适用于高质量视频录制;这通常意味着更慢的对焦移动且没有过冲。当不涉及 AF 触发器时,AF 算法应从 INACTIVE 状态开始,然后适当地转换为 PASSIVE_SCAN 和 PASSIVE_FOCUSED 状态。当 AF 触发器激活时,算法应立即适当地转换为 AF_FOCUSED 或 AF_NOT_FOCUSED,并锁定镜头位置,直到收到取消 AF 触发器。 一旦收到取消,算法应转换回 INACTIVE 并恢复被动扫描。请注意,此行为与 CONTINUOUS_PICTURE 不完全相同,因为正在进行的 PASSIVE_SCAN 必须立即取消。 |
ACAMERA_CONTROL_AF_MODE_EDOF |
扩展景深(数字对焦)模式。 相机设备将自动生成具有扩展景深的图像;拍照前无需进行特殊的对焦操作。 AF 触发器被忽略,AF 状态将始终为 INACTIVE。 |
ACAMERA_CONTROL_AF_MODE_MACRO |
微距对焦模式。 在此模式下,除非调用自动对焦触发操作,否则镜头不会移动。当该触发器激活时,AF 将转换为 ACTIVE_SCAN,然后转换为扫描结果(FOCUSED 或 NOT_FOCUSED)。此模式针对对焦非常靠近相机物体的场景进行了优化。 当该触发器激活时,AF 将转换为 ACTIVE_SCAN,然后转换为扫描结果(FOCUSED 或 NOT_FOCUSED)。触发取消 AF 会将镜头位置重置为默认值,并将 AF 状态设置为 INACTIVE。 |
ACAMERA_CONTROL_AF_MODE_OFF |
自动对焦例程不控制镜头;ACAMERA_LENS_FOCUS_DISTANCE 由应用程序控制。 |
acamera_metadata_enum_acamera_control_af_scene_change
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_af_scene_change
属性 | |
---|---|
ACAMERA_CONTROL_AF_SCENE_CHANGE_DETECTED |
在 AF 区域内检测到场景变化。 |
ACAMERA_CONTROL_AF_SCENE_CHANGE_NOT_DETECTED |
在 AF 区域内未检测到场景变化。 |
acamera_metadata_enum_acamera_control_af_state
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_af_state
属性 | |
---|---|
ACAMERA_CONTROL_AF_STATE_ACTIVE_SCAN |
AF 正在执行 AF 扫描,因为它是通过 AF 触发器触发的。 仅由 AUTO 或 MACRO AF 模式使用。这是一个瞬态,相机设备可能不会在捕获结果中报告此状态。 |
ACAMERA_CONTROL_AF_STATE_FOCUSED_LOCKED |
AF 认为已正确对焦并已锁定对焦。 此状态仅在发送明确的 START AF 触发器(ACAMERA_CONTROL_AF_TRIGGER)后,且已获得良好对焦时达到。 镜头将保持静止,直到 AF 模式(ACAMERA_CONTROL_AF_MODE)更改或向相机设备发送新的 AF 触发器(ACAMERA_CONTROL_AF_TRIGGER)。 另请参阅: ACAMERA_CONTROL_AF_MODE 另请参阅: ACAMERA_CONTROL_AF_TRIGGER |
ACAMERA_CONTROL_AF_STATE_INACTIVE |
AF 已关闭或尚未尝试扫描/被要求扫描。 相机设备打开时,它处于此状态。这是一个瞬态,相机设备可能不会在捕获结果中报告此状态。 |
ACAMERA_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED |
AF 未能成功对焦并已锁定对焦。 此状态仅在发送明确的 START AF 触发器(ACAMERA_CONTROL_AF_TRIGGER)后,且无法获得良好对焦时达到。 镜头将保持静止,直到 AF 模式(ACAMERA_CONTROL_AF_MODE)更改或向相机设备发送新的 AF 触发器(ACAMERA_CONTROL_AF_TRIGGER)。 另请参阅: ACAMERA_CONTROL_AF_MODE 另请参阅: ACAMERA_CONTROL_AF_TRIGGER |
ACAMERA_CONTROL_AF_STATE_PASSIVE_FOCUSED |
AF 当前认为已对焦,但随时可能重新开始扫描。 仅由 CONTINUOUS_* AF 模式使用。这是一个瞬态,相机设备可能不会在捕获结果中报告此状态。 |
ACAMERA_CONTROL_AF_STATE_PASSIVE_SCAN |
AF 当前正在执行由相机设备在连续自动对焦模式下启动的 AF 扫描。 仅由 CONTINUOUS_* AF 模式使用。这是一个瞬态,相机设备可能不会在捕获结果中报告此状态。 |
ACAMERA_CONTROL_AF_STATE_PASSIVE_UNFOCUSED |
AF 在没有找到对焦的情况下完成了被动扫描,并且随时可能重新开始扫描。 仅由 CONTINUOUS_* AF 模式使用。这是一个瞬态,相机设备可能不会在捕获结果中报告此状态。 LEGACY 相机设备不支持此状态。被动扫描完成后,它将始终进入 PASSIVE_FOCUSED。 |
acamera_metadata_enum_acamera_control_af_trigger
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_af_trigger
属性 | |
---|---|
ACAMERA_CONTROL_AF_TRIGGER_CANCEL |
自动对焦将返回其初始状态,并取消任何当前活动的触发器。 |
ACAMERA_CONTROL_AF_TRIGGER_IDLE |
触发器处于空闲状态。 |
ACAMERA_CONTROL_AF_TRIGGER_START |
自动对焦现在将触发。 |
acamera_metadata_enum_acamera_control_autoframing
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_autoframing
属性 | |
---|---|
ACAMERA_CONTROL_AUTOFRAMING_OFF |
禁用自动构图。 |
ACAMERA_CONTROL_AUTOFRAMING_ON |
启用自动构图,以使人物保持在画框的视野内。 |
acamera_metadata_enum_acamera_control_autoframing_available
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_autoframing_available
acamera_metadata_enum_acamera_control_autoframing_state
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_autoframing_state
属性 | |
---|---|
ACAMERA_CONTROL_AUTOFRAMING_STATE_CONVERGED |
自动构图已达到稳定状态(帧/视野未被调整)。如果场景发生变化,状态可能会变回 FRAMING。 |
ACAMERA_CONTROL_AUTOFRAMING_STATE_FRAMING |
自动构图中 - 正在进行缩放或平移。 |
ACAMERA_CONTROL_AUTOFRAMING_STATE_INACTIVE |
自动构图处于非活动状态。 |
acamera_metadata_enum_acamera_control_awb_lock
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_awb_lock
属性 | |
---|---|
ACAMERA_CONTROL_AWB_LOCK_OFF |
自动白平衡锁定已禁用;如果在 AUTO 模式下,AWB 算法可以自由更新其参数。 |
ACAMERA_CONTROL_AWB_LOCK_ON |
自动白平衡锁定已启用;AWB 算法在锁定激活时不会更新其参数。 |
acamera_metadata_enum_acamera_control_awb_lock_available
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_awb_lock_available
acamera_metadata_enum_acamera_control_awb_mode
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_awb_mode
属性 | |
---|---|
ACAMERA_CONTROL_AWB_MODE_AUTO |
相机设备的自动白平衡例程处于活动状态。 应用程序对 ACAMERA_COLOR_CORRECTION_TRANSFORM 和 ACAMERA_COLOR_CORRECTION_GAINS 的值将被忽略。对于支持 MANUAL_POST_PROCESSING 功能的设备,相机设备用于转换和增益的值将在此请求的捕获结果中提供。 另请参阅: ACAMERA_COLOR_CORRECTION_GAINS 另请参阅: ACAMERA_COLOR_CORRECTION_TRANSFORM |
ACAMERA_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT |
相机设备的自动白平衡例程已禁用;相机设备使用阴天日光作为假定的场景照明进行白平衡。 应用程序对 ACAMERA_COLOR_CORRECTION_TRANSFORM 和 ACAMERA_COLOR_CORRECTION_GAINS 的值将被忽略。对于支持 MANUAL_POST_PROCESSING 功能的设备,相机设备用于转换和增益的值将在此请求的捕获结果中提供。 另请参阅: ACAMERA_COLOR_CORRECTION_GAINS 另请参阅: ACAMERA_COLOR_CORRECTION_TRANSFORM |
ACAMERA_CONTROL_AWB_MODE_DAYLIGHT |
相机设备的自动白平衡例程已禁用;相机设备使用日光作为假定的场景照明进行白平衡。 虽然确切的白平衡转换取决于相机设备,但它们将近似匹配 CIE 标准光源 D65。 应用程序对 ACAMERA_COLOR_CORRECTION_TRANSFORM 和 ACAMERA_COLOR_CORRECTION_GAINS 的值将被忽略。对于支持 MANUAL_POST_PROCESSING 功能的设备,相机设备用于转换和增益的值将在此请求的捕获结果中提供。 另请参阅: ACAMERA_COLOR_CORRECTION_GAINS 另请参阅: ACAMERA_COLOR_CORRECTION_TRANSFORM |
ACAMERA_CONTROL_AWB_MODE_FLUORESCENT |
相机设备的自动白平衡例程已禁用;相机设备使用荧光灯作为假定的场景照明进行白平衡。 虽然确切的白平衡转换取决于相机设备,但它们将近似匹配 CIE 标准光源 F2。 应用程序对 ACAMERA_COLOR_CORRECTION_TRANSFORM 和 ACAMERA_COLOR_CORRECTION_GAINS 的值将被忽略。对于支持 MANUAL_POST_PROCESSING 功能的设备,相机设备用于转换和增益的值将在此请求的捕获结果中提供。 另请参阅: ACAMERA_COLOR_CORRECTION_GAINS 另请参阅: ACAMERA_COLOR_CORRECTION_TRANSFORM |
ACAMERA_CONTROL_AWB_MODE_INCANDESCENT |
相机设备的自动白平衡例程已禁用;相机设备使用白炽灯作为假定的场景照明进行白平衡。 虽然确切的白平衡转换取决于相机设备,但它们将近似匹配 CIE 标准光源 A。 应用程序对 ACAMERA_COLOR_CORRECTION_TRANSFORM 和 ACAMERA_COLOR_CORRECTION_GAINS 的值将被忽略。对于支持 MANUAL_POST_PROCESSING 功能的设备,相机设备用于转换和增益的值将在此请求的捕获结果中提供。 另请参阅: ACAMERA_COLOR_CORRECTION_GAINS 另请参阅: ACAMERA_COLOR_CORRECTION_TRANSFORM |
ACAMERA_CONTROL_AWB_MODE_OFF |
相机设备的自动白平衡例程已禁用。 应用程序选择的色彩转换矩阵(ACAMERA_COLOR_CORRECTION_TRANSFORM)和增益(ACAMERA_COLOR_CORRECTION_GAINS)由相机设备用于手动白平衡控制。 另请参阅: ACAMERA_COLOR_CORRECTION_GAINS 另请参阅: ACAMERA_COLOR_CORRECTION_TRANSFORM |
ACAMERA_CONTROL_AWB_MODE_SHADE |
相机设备的自动白平衡例程已禁用;相机设备使用阴影光作为假定的场景照明进行白平衡。 应用程序对 ACAMERA_COLOR_CORRECTION_TRANSFORM 和 ACAMERA_COLOR_CORRECTION_GAINS 的值将被忽略。对于支持 MANUAL_POST_PROCESSING 功能的设备,相机设备用于转换和增益的值将在此请求的捕获结果中提供。 另请参阅: ACAMERA_COLOR_CORRECTION_GAINS 另请参阅: ACAMERA_COLOR_CORRECTION_TRANSFORM |
ACAMERA_CONTROL_AWB_MODE_TWILIGHT |
相机设备的自动白平衡例程已禁用;相机设备使用黄昏光作为假定的场景照明进行白平衡。 应用程序对 ACAMERA_COLOR_CORRECTION_TRANSFORM 和 ACAMERA_COLOR_CORRECTION_GAINS 的值将被忽略。对于支持 MANUAL_POST_PROCESSING 功能的设备,相机设备用于转换和增益的值将在此请求的捕获结果中提供。 另请参阅: ACAMERA_COLOR_CORRECTION_GAINS 另请参阅: ACAMERA_COLOR_CORRECTION_TRANSFORM |
ACAMERA_CONTROL_AWB_MODE_WARM_FLUORESCENT |
相机设备的自动白平衡例程已禁用;相机设备使用暖色荧光灯作为假定的场景照明进行白平衡。 虽然确切的白平衡转换取决于相机设备,但它们将近似匹配 CIE 标准光源 F4。 应用程序对 ACAMERA_COLOR_CORRECTION_TRANSFORM 和 ACAMERA_COLOR_CORRECTION_GAINS 的值将被忽略。对于支持 MANUAL_POST_PROCESSING 功能的设备,相机设备用于转换和增益的值将在此请求的捕获结果中提供。 另请参阅: ACAMERA_COLOR_CORRECTION_GAINS 另请参阅: ACAMERA_COLOR_CORRECTION_TRANSFORM |
acamera_metadata_enum_acamera_control_awb_state
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_awb_state
属性 | |
---|---|
ACAMERA_CONTROL_AWB_STATE_CONVERGED |
AWB 对当前场景具有一组良好的控制值。 |
ACAMERA_CONTROL_AWB_STATE_INACTIVE |
AWB 不处于自动模式,或尚未开始测光。 相机设备打开时,它处于此状态。这是一个瞬态,相机设备可能不会在捕获结果中报告此状态。 |
ACAMERA_CONTROL_AWB_STATE_LOCKED |
AWB 已锁定。 |
ACAMERA_CONTROL_AWB_STATE_SEARCHING |
AWB 尚未获得当前场景的一组良好的控制值。 这是一个瞬态,相机设备可能不会在捕获结果中报告此状态。 |
acamera_metadata_enum_acamera_control_capture_intent
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_capture_intent
属性 | |
---|---|
ACAMERA_CONTROL_CAPTURE_INTENT_CUSTOM |
此请求的目标不属于其他类别。相机设备将默认为预览类行为。 |
ACAMERA_CONTROL_CAPTURE_INTENT_MANUAL |
此请求用于手动捕获用例,其中应用程序希望直接控制捕获参数。 例如,应用程序可能希望手动控制 ACAMERA_SENSOR_EXPOSURE_TIME、ACAMERA_SENSOR_SENSITIVITY 等。 另请参阅: ACAMERA_SENSOR_EXPOSURE_TIME 另请参阅: ACAMERA_SENSOR_SENSITIVITY |
ACAMERA_CONTROL_CAPTURE_INTENT_MOTION_TRACKING |
此请求用于运动跟踪用例,其中应用程序将使用相机和惯性传感器数据在世界中定位和跟踪对象。 相机设备的自动曝光例程会将相机的曝光时间限制在不超过 20 毫秒,以最大程度地减少运动模糊。 |
ACAMERA_CONTROL_CAPTURE_INTENT_PREVIEW |
此请求用于预览类用例。 预捕获触发器可用于启动带有闪光灯的测序序列。 |
ACAMERA_CONTROL_CAPTURE_INTENT_STILL_CAPTURE |
此请求用于静态捕获类用例。 如果闪光灯单元处于自动控制下,则可能根据需要闪光。 |
ACAMERA_CONTROL_CAPTURE_INTENT_VIDEO_RECORD |
此请求用于视频录制用例。 |
ACAMERA_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT |
此请求用于视频快照(录制视频时的静态图像)用例。 相机设备应在不中断视频录制帧率的情况下,以尽可能最高的质量(考虑到其他设置)捕获图像。 |
ACAMERA_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG |
此请求用于 ZSL 用例;应用程序将流式传输全分辨率图像,并在稍后重新处理一个或多个图像以进行最终捕获。 |
acamera_metadata_enum_acamera_control_effect_mode
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_effect_mode
属性 | |
---|---|
ACAMERA_CONTROL_EFFECT_MODE_AQUA |
一种“水色”效果,在图像中添加蓝色调。 |
ACAMERA_CONTROL_EFFECT_MODE_BLACKBOARD |
一种“黑板”效果,图像通常显示为黑色区域,带有白色或灰色细节。 |
ACAMERA_CONTROL_EFFECT_MODE_MONO |
一种“单色”效果,图像映射到单一颜色。 这通常是灰度。 |
ACAMERA_CONTROL_EFFECT_MODE_NEGATIVE |
一种“照片负片”效果,图像的颜色被反转。 |
ACAMERA_CONTROL_EFFECT_MODE_OFF |
不应用任何色彩效果。 |
ACAMERA_CONTROL_EFFECT_MODE_POSTERIZE |
一种“海报化”效果,图像使用离散的色调区域,而不是连续的色调渐变。 |
ACAMERA_CONTROL_EFFECT_MODE_SEPIA |
一种“怀旧”效果,图像映射到暖灰色、红色和棕色调。 |
ACAMERA_CONTROL_EFFECT_MODE_SOLARIZE |
一种“曝光过度”(萨巴蒂尔效应)效果,图像的色调完全或部分反转。 |
ACAMERA_CONTROL_EFFECT_MODE_WHITEBOARD |
一种“白板”效果,图像通常显示为白色区域,带有黑色或灰色细节。 |
acamera_metadata_enum_acamera_control_enable_zsl
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_enable_zsl
属性 | |
---|---|
ACAMERA_CONTROL_ENABLE_ZSL_FALSE |
ACAMERA_CONTROL_CAPTURE_INTENT == STILL_CAPTURE 的请求必须在之前的请求之后捕获。 |
ACAMERA_CONTROL_ENABLE_ZSL_TRUE |
ACAMERA_CONTROL_CAPTURE_INTENT == STILL_CAPTURE 的请求可能在之前的请求之前或之后捕获。 |
acamera_metadata_enum_acamera_control_extended_scene_mode
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_extended_scene_mode
属性 | |
---|---|
ACAMERA_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS |
散景效果不能相对传感器原始输出降低捕获速率,并且该效果应用于所有不超过最大流维度的已处理流。如果性能和功耗是优先考虑的因素(例如视频录制),则应使用此模式。 |
ACAMERA_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE |
当捕获意图为 STILL_CAPTURE 时,所有非原始流(包括 YUV、JPEG 和 IMPLEMENTATION_DEFINED)启用高质量散景模式。由于额外的图像处理,此模式可能会为非原始流引入额外的停滞。此模式应用于高质量静态捕获用例。 |
ACAMERA_CONTROL_EXTENDED_SCENE_MODE_DISABLED |
扩展场景模式已禁用。 |
acamera_metadata_enum_acamera_control_low_light_boost_state
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_low_light_boost_state
属性 | |
---|---|
ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE_ACTIVE |
AE 模式“ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY”已启用并应用。 |
ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE_INACTIVE |
AE 模式“ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY”已启用但未应用。 |
acamera_metadata_enum_acamera_control_mode
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_mode
属性 | |
---|---|
ACAMERA_CONTROL_MODE_AUTO |
使用每个独立 3A 例程的设置。 手动控制捕获参数已禁用。除了 sceneMode 之外,ACAMERA_CONTROL_* 中的所有控制都生效。 |
ACAMERA_CONTROL_MODE_OFF |
完全由应用程序控制管道。 设备测光和对焦 (3A) 例程的所有控制都已禁用,并且 ACAMERA_CONTROL_* 中的其他设置均无效,但相机设备可以使用 ACAMERA_CONTROL_CAPTURE_INTENT 为不允许手动控制或相机 API 未公开的处理块选择后处理值除外。 但是,相机设备的 3A 例程可能会继续收集统计数据并更新其内部状态,以便在切换到 AUTO 模式时,可以立即应用良好的控制值。 |
ACAMERA_CONTROL_MODE_OFF_KEEP_STATE |
与 OFF 模式相同,但此捕获不会被相机设备后台自动曝光、自动白平衡和自动对焦算法 (3A) 用来更新其统计数据。 具体来说,3A 例程被锁定到来自带有 AUTO、OFF 或 USE_SCENE_MODE 的请求设置的最后值,并且从 OFF_KEEP_STATE 的手动捕获中收集的任何统计数据或状态更新都将被相机设备丢弃。 |
ACAMERA_CONTROL_MODE_USE_EXTENDED_SCENE_MODE |
使用特定的扩展场景模式。 当扩展场景模式开启时,相机设备可能会覆盖某些控制参数,例如 targetFpsRange、AE、AWB 和 AF 模式,以实现最佳的功耗和质量权衡。仅保证支持 LIMITED 硬件级别的强制流组合。 此设置只能在支持扩展场景模式时使用(即 android.control.availableExtendedSceneModes 包含除 DISABLED 之外的一些模式)。 |
ACAMERA_CONTROL_MODE_USE_SCENE_MODE |
使用特定的场景模式。 启用此模式会禁用 control.aeMode、control.awbMode 和 control.afMode 控制;相机设备在 USE_SCENE_MODE 激活时将忽略这些设置(FACE_PRIORITY 场景模式除外)。其他控制项仍然有效。此设置只能在支持场景模式时使用(即 ACAMERA_CONTROL_AVAILABLE_SCENE_MODES 包含除 DISABLED 之外的一些模式)。 对于 BOKEH 等扩展场景模式,请改用 USE_EXTENDED_SCENE_MODE。 |
acamera_metadata_enum_acamera_control_scene_mode
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_scene_mode
属性 | |
---|---|
ACAMERA_CONTROL_SCENE_MODE_ACTION |
针对快速移动物体的照片进行了优化。 类似于 SPORTS。 |
ACAMERA_CONTROL_SCENE_MODE_BARCODE |
针对精确捕获条形码照片进行了优化,以供希望读取条形码值的相机应用程序使用。 |
ACAMERA_CONTROL_SCENE_MODE_BEACH |
针对明亮的室外海滩场景进行了优化。 |
ACAMERA_CONTROL_SCENE_MODE_CANDLELIGHT |
针对主要光源是蜡烛的昏暗环境进行了优化。 |
ACAMERA_CONTROL_SCENE_MODE_DISABLED |
表示特定捕获请求未设置场景模式。 |
ACAMERA_CONTROL_SCENE_MODE_FACE_PRIORITY |
如果存在人脸检测支持,则使用人脸检测数据进行自动对焦、自动白平衡和自动曝光例程。 如果人脸检测统计信息被禁用(即 ACAMERA_STATISTICS_FACE_DETECT_MODE 设置为 OFF),此模式仍应正常工作(但不会将人脸检测统计信息返回给框架)。 与其他场景模式不同,设置 FACE_PRIORITY 时,ACAMERA_CONTROL_AE_MODE、ACAMERA_CONTROL_AWB_MODE 和 ACAMERA_CONTROL_AF_MODE 仍处于活动状态。 另请参阅: ACAMERA_CONTROL_AE_MODE 另请参阅: ACAMERA_CONTROL_AF_MODE 另请参阅: ACAMERA_CONTROL_AWB_MODE 另请参阅: ACAMERA_STATISTICS_FACE_DETECT_MODE |
ACAMERA_CONTROL_SCENE_MODE_FIREWORKS |
针对夜间烟花照片进行了优化。 |
ACAMERA_CONTROL_SCENE_MODE_HDR |
开启设备特定的高动态范围 (HDR) 模式。 在此场景模式下,相机设备捕获的图像可以在最终图像中显示更大范围的场景照明水平。例如,当拍摄明亮窗户前的物体时,使用 HDR 模式时,物体和窗户外的场景都可能清晰可见,而在正常 AUTO 模式下,其中一个或另一个可能曝光不足。作为权衡,HDR 模式通常捕获单张图像需要更长的时间,没有用户控制,并且可能会根据使用的 HDR 方法产生其他伪影。 因此,HDR 捕获的速度比常规捕获慢得多。 在此模式下,在 LIMITED 或 FULL 设备上,当以 STILL_CAPTURE 的 ACAMERA_CONTROL_CAPTURE_INTENT 发出请求时,相机设备将使用高动态范围捕获技术捕获图像。在 LEGACY 设备上,以 JPEG 格式输出为目标的捕获将使用 HDR 捕获,并且捕获意图不相关。 HDR 捕获可能涉及设备内部捕获一系列图像并将它们合并为一个,或者可能涉及设备使用专门的高动态范围捕获硬件。在所有情况下,在 HDR 模式下提交的捕获请求都会生成一张图像。 由于生成 HDR 图像通常需要大量的后处理,因此 LIMITED/FULL 设备的 HDR 捕获仅支持 YUV、PRIVATE 和 JPEG 输出,而 LEGACY HDR 捕获仅支持 JPEG 输出。不支持将 RAW 输出用于 HDR 捕获。 某些设备也可能支持始终开启的 HDR,它以全帧率应用 HDR 处理。对于这些设备,除了 STILL_CAPTURE 之外的其他意图也会产生 HDR 输出,且与正常操作相比,帧率不受影响,尽管质量可能低于 STILL_CAPTURE 意图。 如果 SCENE_MODE_HDR 与不受支持的输出类型或捕获意图一起使用,则捕获的图像将如同未启用 SCENE_MODE 一样。 |
ACAMERA_CONTROL_SCENE_MODE_LANDSCAPE |
针对远处宏观物体的照片进行了优化。 |
ACAMERA_CONTROL_SCENE_MODE_NIGHT |
针对低光环境进行了优化。 |
ACAMERA_CONTROL_SCENE_MODE_NIGHT_PORTRAIT |
针对低光环境下的人物静态照片进行了优化。 |
ACAMERA_CONTROL_SCENE_MODE_PARTY |
针对昏暗、多人移动的室内环境进行了优化。 |
ACAMERA_CONTROL_SCENE_MODE_PORTRAIT |
针对人物静态照片进行了优化。 |
ACAMERA_CONTROL_SCENE_MODE_SNOW |
针对包含雪的明亮室外环境进行了优化。 |
ACAMERA_CONTROL_SCENE_MODE_SPORTS |
针对快速移动人物的照片进行了优化。 类似于 ACTION。 |
ACAMERA_CONTROL_SCENE_MODE_STEADYPHOTO |
针对避免由于设备少量移动(例如,手抖)造成的模糊照片进行了优化。 |
ACAMERA_CONTROL_SCENE_MODE_SUNSET |
针对日落场景进行了优化。 |
ACAMERA_CONTROL_SCENE_MODE_THEATRE |
针对昏暗、闪光灯必须保持关闭的室内环境进行了优化。 |
acamera_metadata_enum_acamera_control_settings_override
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_settings_override
属性 | |
---|---|
ACAMERA_CONTROL_SETTINGS_OVERRIDE_OFF |
将 CaptureRequest 设置应用于相机设备时,没有比其他键更早应用的键。这是默认值。 |
ACAMERA_CONTROL_SETTINGS_OVERRIDE_ZOOM |
缩放相关键在 CaptureRequest 中比其他键更早应用。缩放相关键为
尽管 ACAMERA_CONTROL_AE_REGIONS、ACAMERA_CONTROL_AWB_REGIONS 和 ACAMERA_CONTROL_AF_REGIONS 与缩放没有直接关系,但应用程序通常会将这些区域与 ACAMERA_SCALER_CROP_REGION 一起缩放,以便在当前视野内保持一致的映射。在这方面,它们与 ACAMERA_SCALER_CROP_REGION 和 ACAMERA_CONTROL_ZOOM_RATIO 有关。 另请参阅: ACAMERA_CONTROL_AE_REGIONS 另请参阅: ACAMERA_CONTROL_AF_REGIONS 另请参阅: ACAMERA_CONTROL_AWB_REGIONS 另请参阅: ACAMERA_CONTROL_ZOOM_RATIO 另请参阅: ACAMERA_SCALER_CROP_REGION |
acamera_metadata_enum_acamera_control_video_stabilization_mode
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_control_video_stabilization_mode
属性 | |
---|---|
ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE_OFF |
视频防抖已禁用。 |
ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE_ON |
视频防抖已启用。 |
ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE_PREVIEW_STABILIZATION |
预览防抖,其中预览以及所有其他非 RAW 流都以相同的防抖质量进行稳定,已启用。此模式旨在为客户端提供“所见即所得”的效果。在此模式下,对于给定的缩放比例/裁剪区域,视野缩减(从左、右、上、下各 10%)最多为水平和垂直方向的 20%。结果视野也将是所有已处理流(具有相同的纵横比)相同的。 |
acamera_metadata_enum_acamera_depth_available_depth_stream_configurations
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_depth_available_depth_stream_configurations
acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution
acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations
acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution
acamera_metadata_enum_acamera_depth_depth_is_exclusive
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_depth_depth_is_exclusive
acamera_metadata_enum_acamera_distortion_correction_mode
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_distortion_correction_mode
属性 | |
---|---|
ACAMERA_DISTORTION_CORRECTION_MODE_FAST |
应用镜头畸变校正,同时不相对于传感器输出降低帧率。如果畸变校正会相对于传感器降低帧率,则此模式可能与 OFF 相同。 |
ACAMERA_DISTORTION_CORRECTION_MODE_HIGH_QUALITY |
应用高质量畸变校正,但可能会相对于传感器输出降低帧率。 |
ACAMERA_DISTORTION_CORRECTION_MODE_OFF |
不应用畸变校正。 |
acamera_metadata_enum_acamera_edge_mode
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_edge_mode
属性 | |
---|---|
ACAMERA_EDGE_MODE_FAST |
应用边缘增强,质量级别不会相对于传感器输出降低帧率。如果边缘增强会相对于传感器降低帧率,则此模式可能与 OFF 相同。 |
ACAMERA_EDGE_MODE_HIGH_QUALITY |
应用高质量边缘增强,但可能会降低输出帧率。 |
ACAMERA_EDGE_MODE_OFF |
不应用边缘增强。 |
ACAMERA_EDGE_MODE_ZERO_SHUTTER_LAG |
根据分辨率,对不同输出流应用不同级别的边缘增强。最大录制分辨率(请参阅 ACameraDevice_createCaptureSession)或更低分辨率的流应用边缘增强,而更高分辨率的流不应用边缘增强。针对低分辨率流的边缘增强级别已调整,以确保帧率不受影响,并且质量等于或优于 FAST(因为它仅应用于较低分辨率的输出,质量可能比 FAST 提高)。 此模式旨在供使用 YUV 或 PRIVATE 再处理的零快门延迟模式下的应用程序使用,在该模式下,应用程序将高分辨率中间缓冲区连续捕获到循环缓冲区中,用户拍照时通过再处理从该缓冲区生成最终图像。对于此类用例,高分辨率缓冲区必须不应用边缘增强以最大化预览效率并避免再处理时双重应用增强,而低分辨率缓冲区(通常用于录制或预览)需要应用边缘增强以获得合理的预览质量。 支持 YUV_REPROCESSING 或 PRIVATE_REPROCESSING 功能的设备(ACAMERA_REQUEST_AVAILABLE_CAPABILITIES 列出了其中任何一个功能)保证支持此模式,并且它将是 CAMERA3_TEMPLATE_ZERO_SHUTTER_LAG 模板的默认模式。 |
acamera_metadata_enum_acamera_flash_info_available
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_flash_info_available
acamera_metadata_enum_acamera_flash_mode
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_flash_mode
属性 | |
---|---|
ACAMERA_FLASH_MODE_OFF |
此捕获不闪光。 |
ACAMERA_FLASH_MODE_SINGLE |
如果闪光灯可用且已充电,则为此捕获闪光。 |
ACAMERA_FLASH_MODE_TORCH |
将闪光灯转为持续开启。 |
acamera_metadata_enum_acamera_flash_state
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_flash_state
属性 | |
---|---|
ACAMERA_FLASH_STATE_CHARGING |
闪光灯正在充电,无法闪光。 |
ACAMERA_FLASH_STATE_FIRED |
此捕获已闪光。 |
ACAMERA_FLASH_STATE_PARTIAL |
闪光灯部分照亮了此帧。 这通常是由于上一帧或下一帧闪光,并且由于硬件限制,闪光灯照射到此捕获中。 |
ACAMERA_FLASH_STATE_READY |
闪光灯已准备就绪。 |
ACAMERA_FLASH_STATE_UNAVAILABLE |
相机上没有闪光灯。 |
acamera_metadata_enum_acamera_heic_available_heic_stream_configurations
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_heic_available_heic_stream_configurations
acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution
acamera_metadata_enum_acamera_hot_pixel_mode
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_hot_pixel_mode
属性 | |
---|---|
ACAMERA_HOT_PIXEL_MODE_FAST |
应用坏点校正,同时不相对于传感器原始输出降低帧率。 坏点映射可能在 ACAMERA_STATISTICS_HOT_PIXEL_MAP 中返回。 |
ACAMERA_HOT_PIXEL_MODE_HIGH_QUALITY |
应用高质量坏点校正,但可能会相对于传感器原始输出降低帧率。 坏点映射可能在 ACAMERA_STATISTICS_HOT_PIXEL_MAP 中返回。 |
ACAMERA_HOT_PIXEL_MODE_OFF |
不应用坏点校正。 对于此选项,帧率不得相对于传感器原始输出降低。 坏点映射可能在 ACAMERA_STATISTICS_HOT_PIXEL_MAP 中返回。 |
acamera_metadata_enum_acamera_info_supported_hardware_level
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_info_supported_hardware_level
属性 | |
---|---|
ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_3 |
除了 FULL 级别功能外,此相机设备还支持 YUV 再处理和 RAW 数据捕获。 文档中 保证支持以下附加功能:
|
ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL |
此摄像头设备由连接到此 Android 设备的外部摄像头提供支持。 此设备的功能与 LIMITED 级别设备相同,但以下例外情况除外:
另请参阅: ACAMERA_LENS_FOCAL_LENGTH 另请参阅: ACAMERA_LENS_INFO_HYPERFOCAL_DISTANCE 另请参阅: ACAMERA_SENSOR_BLACK_LEVEL_PATTERN 另请参阅: ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT 另请参阅: ACAMERA_SENSOR_INFO_PHYSICAL_SIZE 另请参阅: ACAMERA_SENSOR_INFO_WHITE_LEVEL 另请参阅: ACAMERA_SENSOR_ORIENTATION 另请参阅: ACAMERA_SENSOR_ROLLING_SHUTTER_SKEW |
ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_FULL |
此摄像头设备能够支持高级影像应用。 文档中
注意:在 API 级别 23 之前,FULL 设备也支持任意裁剪区域(ACAMERA_SCALER_CROPPING_TYPE 另请参阅: ACAMERA_REQUEST_AVAILABLE_CAPABILITIES 另请参阅: ACAMERA_SCALER_CROPPING_TYPE 另请参阅: ACAMERA_SENSOR_INFO_EXPOSURE_TIME_RANGE 另请参阅: ACAMERA_SENSOR_INFO_MAX_FRAME_DURATION 另请参阅: ACAMERA_SYNC_MAX_LATENCY |
ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY |
此摄像头设备以向后兼容模式运行。 仅支持文档中
此外,ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER 在 最初搭载 Android Q 或更高版本出货的设备将不包含任何 LEGACY 级别设备。 另请参阅: ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER 另请参阅: ACAMERA_REQUEST_AVAILABLE_CAPABILITIES |
ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED |
此摄像头设备不具备足够的功能成为 仅保证支持文档中 所有
仅列出
另请参阅: ACAMERA_CONTROL_AE_MODE 另请参阅: ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER 另请参阅: ACAMERA_CONTROL_AF_MODE 另请参阅: ACAMERA_CONTROL_AWB_MODE 另请参阅: ACAMERA_REQUEST_AVAILABLE_CAPABILITIES |
acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations
acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations_maximum_resolution
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations_maximum_resolution
acamera_metadata_enum_acamera_lens_facing
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_lens_facing
属性 | |
---|---|
ACAMERA_LENS_FACING_BACK |
摄像头设备面向与设备屏幕相反的方向。 |
ACAMERA_LENS_FACING_EXTERNAL |
摄像头设备是外部摄像头,相对于设备屏幕没有固定的朝向。 |
ACAMERA_LENS_FACING_FRONT |
摄像头设备面向与设备屏幕相同的方向。 |
acamera_metadata_enum_acamera_lens_info_focus_distance_calibration
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_lens_info_focus_distance_calibration
属性 | |
---|---|
ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE |
镜头焦距距离以屈光度测量。 但是,在不同场合将镜头设置为相同的焦距距离可能会导致不同的实际焦距距离,具体取决于设备方向、对焦机制的使用年限以及设备温度等因素。 |
ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED |
镜头焦距距离以屈光度测量,并且已校准。 镜头机制经过校准,以便在多次使用中能够以较高的精度重复设置相同的焦距距离,并且焦距距离与最佳对焦平面的实际物理距离相符。 |
ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED |
镜头焦距距离不准确,并且用于 ACAMERA_LENS_FOCUS_DISTANCE 的单位不对应任何物理单位。 在不同场合将镜头设置为相同的焦距距离可能会导致不同的实际焦距距离,具体取决于设备方向、对焦机制的使用年限以及设备温度等因素。焦距距离值仍将在 另请参阅: ACAMERA_LENS_FOCUS_DISTANCE 另请参阅: ACAMERA_LENS_INFO_MINIMUM_FOCUS_DISTANCE |
acamera_metadata_enum_acamera_lens_optical_stabilization_mode
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_lens_optical_stabilization_mode
属性 | |
---|---|
ACAMERA_LENS_OPTICAL_STABILIZATION_MODE_OFF |
光学防抖不可用。 |
ACAMERA_LENS_OPTICAL_STABILIZATION_MODE_ON |
光学防抖已启用。 |
acamera_metadata_enum_acamera_lens_pose_reference
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_lens_pose_reference
属性 | |
---|---|
ACAMERA_LENS_POSE_REFERENCE_AUTOMOTIVE |
ACAMERA_LENS_POSE_TRANSLATION 的值相对于汽车传感器坐标系的原点,该原点位于后轴中心。 |
ACAMERA_LENS_POSE_REFERENCE_GYROSCOPE |
ACAMERA_LENS_POSE_TRANSLATION 的值相对于此 Android 设备主陀螺仪的位置。 |
ACAMERA_LENS_POSE_REFERENCE_PRIMARY_CAMERA |
ACAMERA_LENS_POSE_TRANSLATION 的值相对于与此摄像头朝向相同方向的最大摄像头设备的中心点。 这是 Android P 之前的 API 级别的默认值。 |
ACAMERA_LENS_POSE_REFERENCE_UNDEFINED |
摄像头设备无法足够精确地表示 ACAMERA_LENS_POSE_TRANSLATION 和 ACAMERA_LENS_POSE_ROTATION 的值。一个例子是可折叠手机封面上的摄像头设备:为了测量姿态平移和旋转,需要某种类型的铰链位置传感器。 ACAMERA_LENS_POSE_TRANSLATION 的值必须全部为零,而 ACAMERA_LENS_POSE_ROTATION 的值必须与其默认朝向匹配。 另请参阅: ACAMERA_LENS_POSE_ROTATION 另请参阅: ACAMERA_LENS_POSE_TRANSLATION |
acamera_metadata_enum_acamera_lens_state
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_lens_state
属性 | |
---|---|
ACAMERA_LENS_STATE_MOVING |
一个或多个镜头参数(ACAMERA_LENS_FOCAL_LENGTH、ACAMERA_LENS_FOCUS_DISTANCE、ACAMERA_LENS_FILTER_DENSITY 或 ACAMERA_LENS_APERTURE)当前正在更改。 另请参阅: ACAMERA_LENS_APERTURE 另请参阅: ACAMERA_LENS_FILTER_DENSITY 另请参阅: ACAMERA_LENS_FOCAL_LENGTH 另请参阅: ACAMERA_LENS_FOCUS_DISTANCE |
ACAMERA_LENS_STATE_STATIONARY |
镜头参数(ACAMERA_LENS_FOCAL_LENGTH、ACAMERA_LENS_FOCUS_DISTANCE、ACAMERA_LENS_FILTER_DENSITY 和 ACAMERA_LENS_APERTURE)未更改。 另请参阅: ACAMERA_LENS_APERTURE 另请参阅: ACAMERA_LENS_FILTER_DENSITY 另请参阅: ACAMERA_LENS_FOCAL_LENGTH 另请参阅: ACAMERA_LENS_FOCUS_DISTANCE |
acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type
属性 | |
---|---|
ACAMERA_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE |
使用软件机制同步物理摄像头。因此,物理流中图像的时间戳仅是图像传感器曝光开始时间的近似值。 |
ACAMERA_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED |
摄像头设备支持硬件级别的帧时间戳同步,并且物理流图像的时间戳准确反映其曝光开始时间。 |
acamera_metadata_enum_acamera_noise_reduction_mode
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_noise_reduction_mode
属性 | |
---|---|
ACAMERA_NOISE_REDUCTION_MODE_FAST |
在不降低相对于传感器输出的帧速率的情况下应用降噪。如果降噪会降低相对于传感器的帧速率,它可能与 OFF 相同。 |
ACAMERA_NOISE_REDUCTION_MODE_HIGH_QUALITY |
应用高质量降噪,但可能会降低相对于传感器输出的帧速率。 |
ACAMERA_NOISE_REDUCTION_MODE_MINIMAL |
在不降低相对于传感器输出的帧速率的情况下应用 MINIMAL 降噪。 |
ACAMERA_NOISE_REDUCTION_MODE_OFF |
未应用降噪。 |
ACAMERA_NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG |
根据分辨率对不同的输出流应用不同级别的降噪。对于最大录制分辨率(参见 ACameraDevice_createCaptureSession)或更低分辨率的流,应用降噪,而更高分辨率的流应用 MINIMAL(如果支持)或不应用降噪(如果不支持 MINIMAL)。对于低分辨率流,降噪程度经过调整,以便帧速率不受影响,并且质量等于或优于 FAST(因为它仅应用于较低分辨率输出,质量可能会从 FAST 模式提高)。 此模式旨在供使用 YUV 或 PRIVATE 后处理以零快门延迟模式运行的应用使用,这些应用将高分辨率中间缓冲区连续捕获到循环缓冲区中,并在用户拍照时通过后处理从该缓冲区生成最终图像。对于此类用例,高分辨率缓冲区不得应用降噪,以最大限度地提高预览效率并避免在后处理时过度应用降噪过滤,而低分辨率缓冲区(通常用于录制或预览)需要应用降噪以获得合理的预览质量。 支持 YUV_REPROCESSING 或 PRIVATE_REPROCESSING 功能的设备(ACAMERA_REQUEST_AVAILABLE_CAPABILITIES 列出了其中任何一个功能)保证支持此模式,并且它将是 CAMERA3_TEMPLATE_ZERO_SHUTTER_LAG 模板的默认模式。 |
acamera_metadata_enum_acamera_request_available_capabilities
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_request_available_capabilities
属性 | |
---|---|
ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE |
每个摄像头设备都支持的最小功能集(无论 ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL 如何)。 所有正常设备都列出此功能,表示摄像头设备的功能集与较旧的 android.hardware.Camera API 的基线要求相当。 具有 DEPTH_OUTPUT 功能的设备可能不列出此功能,表明它们仅支持深度测量,不支持标准彩色输出。 |
ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE |
当后处理设置设置为 FAST 时,摄像头设备支持以 >= 20 帧/秒 的速率捕获高分辨率图像,至少支持未压缩的 YUV 格式。此外,所有小于 24 兆像素的图像分辨率都可以以 >= 10 帧/秒 的速率捕获。这里,“高分辨率”是指至少 8 兆像素,或设备的最大分辨率(取较小者)。 更具体地说,这意味着 ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS 中列出的至少一个输出 AIMAGE_FORMAT_YUV_420_888 尺寸大于或等于上面定义的高分辨率,并且可以以至少 20 fps 的速率捕获。对于 ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS 中列出的最大 AIMAGE_FORMAT_YUV_420_888 尺寸,如果尺寸小于 24 兆像素,摄像头设备可以以至少 10 帧/秒 的速率捕获此尺寸。此外,ACAMERA_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES 条目列出至少一个 FPS 范围,其中最小 FPS >= 1 / 最大 YUV_420_888 尺寸的 minimumFrameDuration。 如果设备支持 AIMAGE_FORMAT_RAW10、AIMAGE_FORMAT_RAW12、AIMAGE_FORMAT_Y8 格式,则它们也可以以与最大尺寸 YUV_420_888 分辨率相同的速率捕获。 此外,ACAMERA_SYNC_MAX_LATENCY 字段保证具有介于 0 到 4 之间(含)的值。ACAMERA_CONTROL_AE_LOCK_AVAILABLE 和 ACAMERA_CONTROL_AWB_LOCK_AVAILABLE 也保证为 另请参阅: ACAMERA_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES 另请参阅: ACAMERA_CONTROL_AE_LOCK_AVAILABLE 另请参阅: ACAMERA_CONTROL_AWB_LOCK_AVAILABLE 另请参阅: ACAMERA_SYNC_MAX_LATENCY |
ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT |
摄像头设备可以生成其视野的深度测量值。 此功能要求摄像头设备支持以下内容:
通常,深度输出的帧速率低于标准彩色捕获,因此 DEPTH16 和 DEPTH_POINT_CLOUD 格式通常会有延迟时间,应予以考虑(参见 ACAMERA_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS)。在同时支持深度和基于彩色的输出的设备上,为了实现流畅预览,建议使用重复突发模式,其中深度输出目标每 N 帧仅包含一次,其中 N 是预览输出速率和深度输出速率的比率,包括深度延迟时间。 另请参阅: ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE 另请参阅: ACAMERA_LENS_DISTORTION 另请参阅: ACAMERA_LENS_FACING 另请参阅: ACAMERA_LENS_INTRINSIC_CALIBRATION 另请参阅: ACAMERA_LENS_POSE_REFERENCE 另请参阅: ACAMERA_LENS_POSE_ROTATION 另请参阅: ACAMERA_LENS_POSE_TRANSLATION |
ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA |
摄像头设备是一个逻辑摄像头,由两个或更多物理摄像头支持。 在 API 级别 28 中,物理摄像头也必须通过 CameraManager::getCameraIdList 暴露给应用。 从 API 级别 29 开始:
逻辑流和物理流的组合,或来自不同物理摄像头的物理流的组合不予保证。但是,如果摄像头设备支持 ACameraDevice_isSessionConfigurationSupported,则应用必须能够通过调用 ACameraDevice_isSessionConfigurationSupported 来查询涉及物理流的流组合是否受支持。 相机应用不应假定系统中最多只有 1 个后置摄像头和 1 个前置摄像头。对于在前置摄像头和后置摄像头之间切换的应用,建议在支持的摄像头设备列表中的第一个后置摄像头和第一个前置摄像头之间切换。 此功能要求摄像头设备支持以下内容:
逻辑摄像头设备的动态元数据可能包含 ACAMERA_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID,用于通知应用当前活动物理摄像头的 ID。活动物理摄像头是逻辑摄像头的主要图像数据输出(YUV 或 RAW)和元数据来源的物理摄像头。此外,这还指示了哪个物理摄像头用于输出到 RAW 流,或者在只有物理摄像头支持 RAW 的情况下,应用应该请求哪个物理 RAW 流。 逻辑摄像头的以下静态元数据标签描述了默认活动物理摄像头。当应用直接使用基于模板构建的请求时,活动物理摄像头是默认的。所有模板都将默认使用相同的活动物理摄像头。
非 RAW 物理流的视野不得小于非 RAW 逻辑流的视野,或物理摄像头最大视野中的较小者。应用应检查物理捕获结果元数据,了解物理流如何被裁剪或缩放。更具体地说,给定物理摄像头结果元数据,物理摄像头的有效水平视野为
其中等式参数分别为物理摄像头的裁剪区域宽度、物理传感器宽度、缩放比例、活动阵列宽度和焦距。通常,活动物理摄像头的物理流与逻辑流具有相同的视野。但是,非活动物理摄像头的物理流可能并非如此。例如,如果逻辑摄像头具有宽镜头-超广角镜头配置,其中宽镜头是默认镜头,当裁剪区域设置为逻辑摄像头的活动阵列尺寸时(从 Android 11 开始,缩放比例设置为 1.0),超广角摄像头的物理流可能倾向于输出比宽摄像头视野更大的图像,以获得更好的立体匹配裕度或更稳健的运动跟踪。同时,只要在物理镜头能力范围内,物理非 RAW 流的视野不得小于请求的裁剪区域和缩放比例。例如,对于具有宽镜头-长焦镜头配置的逻辑摄像头,其中宽镜头是默认镜头,如果逻辑摄像头的裁剪区域设置为最大尺寸,并且缩放比例设置为 1.0,则长焦镜头的物理流将配置为其最大尺寸裁剪区域(无缩放)。 已弃用:在 Android 11 之前,所有非 RAW 物理流的视野不能大于非 RAW 逻辑流的视野。如果逻辑摄像头具有宽镜头-超广角镜头配置,其中宽镜头是默认镜头,当逻辑摄像头的裁剪区域设置为最大尺寸时,超广角镜头的物理流的 FOV 将与逻辑流相同,通过缩小裁剪区域使其小于其活动阵列尺寸来补偿较小的焦距。 对于逻辑摄像头,通常底层物理摄像头具有不同的 RAW 功能(例如分辨率或 CFA 模式)。应用可以通过两种方式从逻辑摄像头捕获 RAW 图像:
向后兼容的摄像头功能所需的捕获请求和结果元数据标签将仅基于逻辑摄像头的能力。另一方面,对逻辑摄像头使用手动捕获控制(传感器或后处理)可能会在 HAL 决定在具有不同特性的物理摄像头之间切换时导致意外行为。例如,当应用在放大时手动设置曝光时间和灵敏度时,由于 HAL 从一个物理摄像头切换到另一个物理摄像头,摄像头图像的亮度可能会突然改变。 另请参阅: ACAMERA_LENS_DISTORTION 另请参阅: ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION 另请参阅: ACAMERA_LENS_INFO_HYPERFOCAL_DISTANCE 另请参阅: ACAMERA_LENS_INFO_MINIMUM_FOCUS_DISTANCE 另请参阅: ACAMERA_LENS_INTRINSIC_CALIBRATION 另请参阅: ACAMERA_LENS_POSE_REFERENCE 另请参阅: ACAMERA_LENS_POSE_ROTATION 另请参阅: ACAMERA_LENS_POSE_TRANSLATION 另请参阅: ACAMERA_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID 另请参阅: ACAMERA_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE 另请参阅: ACAMERA_SENSOR_AVAILABLE_TEST_PATTERN_MODES 另请参阅: ACAMERA_SENSOR_BLACK_LEVEL_PATTERN 另请参阅: ACAMERA_SENSOR_CALIBRATION_TRANSFORM1 另请参阅: ACAMERA_SENSOR_CALIBRATION_TRANSFORM2 另请参阅: ACAMERA_SENSOR_COLOR_TRANSFORM1 另请参阅: ACAMERA_SENSOR_COLOR_TRANSFORM2 另请参阅: ACAMERA_SENSOR_FORWARD_MATRIX1 另请参阅: ACAMERA_SENSOR_FORWARD_MATRIX2 另请参阅: ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT 另请参阅: ACAMERA_SENSOR_INFO_EXPOSURE_TIME_RANGE 另请参阅: ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED 另请参阅: ACAMERA_SENSOR_INFO_MAX_FRAME_DURATION 另请参阅: ACAMERA_SENSOR_INFO_PHYSICAL_SIZE 另请参阅: ACAMERA_SENSOR_INFO_SENSITIVITY_RANGE 另请参阅: ACAMERA_SENSOR_INFO_WHITE_LEVEL 另请参阅: ACAMERA_SENSOR_MAX_ANALOG_SENSITIVITY 另请参阅: ACAMERA_SENSOR_OPTICAL_BLACK_REGIONS 另请参阅: ACAMERA_SENSOR_REFERENCE_ILLUMINANT1 另请参阅: ACAMERA_SENSOR_REFERENCE_ILLUMINANT2 |
ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING |
摄像头设备的后处理阶段可以手动控制。摄像头设备支持图像后处理阶段的基本手动控制。这意味着以下控制保证受支持:
如果启用上述任何一项 3A 算法,则摄像头设备将在结果中准确报告由 AWB 应用的值。 给定的摄像头设备可能也支持额外的后处理控制,但此功能仅涵盖上述列表中的控制。 对于具有 LOGICAL_MULTI_CAMERA 功能的摄像头设备,当底层活动物理摄像头切换时,即使 awb 已锁定,色调映射、白平衡和阴影图也可能发生变化。但是,用户的整体后处理体验将保持一致。详情请参阅 LOGICAL_MULTI_CAMERA 功能。 另请参阅: ACAMERA_COLOR_CORRECTION_ABERRATION_MODE 另请参阅: ACAMERA_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES 另请参阅: ACAMERA_COLOR_CORRECTION_GAINS 另请参阅: ACAMERA_COLOR_CORRECTION_TRANSFORM 另请参阅: ACAMERA_CONTROL_AWB_LOCK 另请参阅: ACAMERA_LENS_INFO_SHADING_MAP_SIZE 另请参阅: ACAMERA_SHADING_MODE 另请参阅: ACAMERA_STATISTICS_LENS_SHADING_MAP 另请参阅: ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE 另请参阅: ACAMERA_TONEMAP_GAMMA 另请参阅: ACAMERA_TONEMAP_MAX_CURVE_POINTS 另请参阅: ACAMERA_TONEMAP_MODE 另请参阅: ACAMERA_TONEMAP_PRESET_CURVE |
ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR |
摄像头设备可以手动控制(可以绕过 3A 算法,例如自动曝光和自动对焦)。摄像头设备支持传感器图像采集相关阶段的基本手动控制。这意味着以下控制保证受支持:
如果启用了上述任何一项 3A 算法,则摄像头设备将在结果中准确报告由 3A 应用的值。 给定的摄像头设备可能也支持额外的手动传感器控制,但此功能仅涵盖上述列表中的控制。 如果支持此功能,则 android.scaler.streamConfigurationMap 将为每个支持的尺寸格式组合额外返回一个大于零的最小帧持续时间。 对于具有 LOGICAL_MULTI_CAMERA 功能的摄像头设备,当底层活动物理摄像头切换时,即使 AE/AF 已锁定,exposureTime、灵敏度和镜头属性也可能发生变化。但是,用户的整体自动曝光和自动对焦体验将保持一致。详情请参阅 LOGICAL_MULTI_CAMERA 功能。 另请参阅: ACAMERA_BLACK_LEVEL_LOCK 另请参阅: ACAMERA_CONTROL_AE_LOCK 另请参阅: ACAMERA_SENSOR_EXPOSURE_TIME 另请参阅: ACAMERA_SENSOR_FRAME_DURATION 另请参阅: ACAMERA_SENSOR_INFO_EXPOSURE_TIME_RANGE 另请参阅: ACAMERA_SENSOR_INFO_MAX_FRAME_DURATION 另请参阅: ACAMERA_SENSOR_INFO_SENSITIVITY_RANGE 另请参阅: ACAMERA_SENSOR_SENSITIVITY |
ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME |
摄像头设备是单色摄像头,不包含彩色滤光阵列,对于 YUV_420_888 流,U 和 V 平面上的像素值均为 128。 单色摄像头必须支持其设备级别和功能所需的保证流组合。此外,如果单色摄像头设备支持 Y8 格式,则所有与 YUV_420_888 相关的强制流组合要求也适用于 Y8。对于 Bayer 摄像头设备,没有关于 Y8 的强制流组合要求。 从 Android Q 开始,单色摄像头的 SENSOR_INFO_COLOR_FILTER_ARRANGEMENT 将是 MONO 或 NIR。 |
ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING |
摄像头设备支持 ACAMERA_CONTROL_CAPTURE_INTENT 的 MOTION_TRACKING 值,该值将最大曝光时间限制为 20 毫秒。 这限制了捕获图像的运动模糊,从而为图像稳定或增强现实等用例提供了更好的图像跟踪结果。 |
ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_RAW |
摄像头设备支持输出 RAW 缓冲区和用于解释它们的元数据。 支持 RAW 功能的设备既可以保存 DNG 文件,也可以直接应用处理原始传感器图像。
另请参阅: ACAMERA_SENSOR_INFO_PIXEL_ARRAY_SIZE 另请参阅: ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE |
ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS |
摄像头设备支持在内置 3A 算法运行时准确报告许多传感器控制的传感器设置。这允许报告传感器设置,即使这些设置无法手动更改。 以下控制报告的值保证在 CaptureResult 中可用,包括在启用 3A 时:
此功能是 MANUAL_SENSOR 控制功能的子集,如果 MANUAL_SENSOR 功能可用,则始终包含此功能。 另请参阅: ACAMERA_LENS_APERTURE 另请参阅: ACAMERA_LENS_FOCUS_DISTANCE 另请参阅: ACAMERA_SENSOR_EXPOSURE_TIME 另请参阅: ACAMERA_SENSOR_SENSITIVITY |
ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_SECURE_IMAGE_DATA |
摄像头设备能够将图像数据写入 Android 用户空间或 Android 内核无法访问的内存区域,并且仅可由可信执行环境 (TEE) 访问。 |
ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE |
摄像头设备支持通过 OutputConfiguration::setStreamUseCase 选择每个流的用例,以便设备可以针对特定用户场景优化摄像头管道参数,例如调优、传感器模式或 ISP 设置。此功能的一些示例用法包括:
此功能要求摄像头设备支持以下流用例:
CameraCharacteristics::SCALER_AVAILABLE_STREAM_USE_CASES 列出了所有支持的流用例。 有关涉及流用例的强制流组合的指南,也可以通过 MandatoryStreamCombination 进行查询。 |
ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA |
此摄像头设备仅可由 Android 的系统组件和特权应用访问。进程需要拥有 android.permission.SYSTEM_CAMERA 以及 android.permission.CAMERA 才能连接到此摄像头设备。 |
ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR |
此摄像头设备除了 android.scaler.streamConfigurationMap 中描述的图像尺寸外,还能够生成超高分辨率图像。它可以在“默认”模式和“最大分辨率”模式下运行。通常,它通过在“默认”模式下像素合并并在“最大分辨率”模式下不进行像素合并来实现这一点。 |
acamera_metadata_enum_acamera_request_available_color_space_profiles_map
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_request_available_color_space_profiles_map
属性 | |
---|---|
ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_BT2020_HLG |
RGB 色彩空间 BT.2100,标准化为 Hybrid Log Gamma 编码。 |
ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_DISPLAY_P3 |
基于 SMPTE RP 431-2-2007 和 IEC 61966-2.1:1999 的 RGB 色彩空间 Display P3。 |
ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_SRGB |
RGB 色彩空间 sRGB,标准化为 IEC 61966-2.1:1999。 |
ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_UNSPECIFIED |
默认值,未明确指定时。摄像头设备将选择要使用的色彩空间。 |
acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map
acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations
acamera_metadata_enum_acamera_scaler_available_stream_configurations
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_scaler_available_stream_configurations
acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution
acamera_metadata_enum_acamera_scaler_available_stream_use_cases
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_scaler_available_stream_use_cases
属性 | |
---|---|
ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW |
当客户端选择裁剪视野时的裁剪 RAW 流。 某些类型的图像传感器可以通过像素合并模式运行,以在捕获帧时提高信噪比。然而,在某些缩放级别和/或当其他场景条件被认为适合时,摄像头子系统可能会选择取消像素合并并重新马赛克传感器输出。这会导致 RAW 帧在视野中被裁剪,但像素数量与全视野 RAW 相同,从而提高图像细节。 RAW 流的最终视野将大于或等于可裁剪的非 RAW 流的视野。此 RAW 流的有效裁剪区域将反映在 CaptureResult 键 ACAMERA_SCALER_RAW_CROP_REGION 中。 如果此流用例设置在非 RAW 流上,即不是以下任何一个:
则会话配置不保证成功。 某些设备可能不支持此流用例。 |
ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT |
默认流用例。 此用例与应用未设置任何流用例时的行为相同。摄像头设备根据输出目标的属性(例如格式、数据空间或表面类类型)优化图像处理管道。 |
ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW |
显示给用户的实时流。 针对性能和可用性作为取景器进行了优化,但不一定针对图像质量。输出并非用于保存为图像或视频。 如果 ACAMERA_CONTROL_* 设置为 FAST,则不会出现延迟。如果设置为 HIGH_QUALITY,可能会出现延迟。此用例与默认的 SurfaceView 和 SurfaceTexture 目标行为相同。此外,此用例可用于应用内图像分析。 |
ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW_VIDEO_STILL |
用于预览、视频和静止图像捕获组合目的的单一流。 对于此类多用途流,摄像头设备旨在在各个用例之间做出最佳权衡。例如,STILL_CAPTURE 用例本身可能会因追求最佳图像质量而出现延迟。但如果与 PREVIEW 和 VIDEO_RECORD 结合使用,摄像头设备需要权衡额外的图像处理和速度,以免降低预览和视频录制速度。 同样,VIDEO_RECORD 可能会产生帧时延,但 PREVIEW_VIDEO_STILL 必须具有最小的输出延迟。这意味着,为了启用此用例的视频防抖,设备必须支持并且应用必须选择 PREVIEW_STABILIZATION 模式进行视频防抖。 |
ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_STILL_CAPTURE |
静止照片捕获。 针对高质量高分辨率捕获进行了优化,预期帧速率不会达到预览级别。 无论 ACAMERA_CONTROL_* 是否为 HIGH_QUALITY,此流都可能出现延迟。此用例的行为与默认的 JPEG 和 RAW 相关格式相同。 |
ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_VIDEO_CALL |
长时间视频通话,针对功耗效率和视频质量进行了优化。 摄像头传感器可能会在较低分辨率模式下运行,以降低功耗,但会牺牲部分图像和数码变焦质量。与 VIDEO_RECORD 不同,VIDEO_CALL 输出预期在黑暗条件下工作,因此通常会伴随可变帧速率设置,以便在弱光下提供足够的曝光时间。 |
ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_VIDEO_RECORD |
录制视频片段。 针对高质量视频捕获进行了优化,包括设备支持并应用启用的高质量图像防抖。因此,输出帧可能会比实时帧延迟较长,以实现最高质量的防抖或其他处理。因此,此类输出不适合直接在屏幕上绘制,而是预期保存到磁盘或类似位置以便稍后播放或处理。只有设置 VIDEO_RECORD 用例的流才保证在视频防抖控制设置为 ON 时应用视频防抖,而不是 PREVIEW_STABILIZATION。 此用例的行为与默认的 MediaRecorder 和 MediaCodec 目标相同。 |
acamera_metadata_enum_acamera_scaler_cropping_type
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_scaler_cropping_type
属性 | |
---|---|
ACAMERA_SCALER_CROPPING_TYPE_CENTER_ONLY |
摄像头设备仅支持中心裁剪区域。 |
ACAMERA_SCALER_CROPPING_TYPE_FREEFORM |
摄像头设备支持任意选择的裁剪区域。 |
acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported
acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations
acamera_metadata_enum_acamera_scaler_rotate_and_crop
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_scaler_rotate_and_crop
属性 | |
---|---|
ACAMERA_SCALER_ROTATE_AND_CROP_180 |
处理后的图像旋转 180 度。由于纵横比未改变,不执行裁剪。 |
ACAMERA_SCALER_ROTATE_AND_CROP_270 |
处理后的图像顺时针旋转 270 度,然后裁剪到原始纵横比。 |
ACAMERA_SCALER_ROTATE_AND_CROP_90 |
处理后的图像顺时针旋转 90 度,然后裁剪到原始纵横比。 |
ACAMERA_SCALER_ROTATE_AND_CROP_AUTO |
相机 API 根据应用对可调整大小的支持以及当前的多种窗口模式,自动选择旋转和裁剪的最佳具体值。 如果应用不支持调整大小,但其主 Activity 的显示模式不是典型方向,相机 API 会根据设备配置设置 选择非 NONE 的值时,还会以不同方式解析多个元数据字段,以确保正确处理人脸检测框绘制或传入触控对焦坐标等功能的坐标。相机 API 会在活动阵列坐标系与裁剪旋转后的坐标系之间转换位置,以使操作对应用透明。 当应用选择非 AUTO 模式时,将不会进行坐标映射。 |
ACAMERA_SCALER_ROTATE_AND_CROP_NONE |
不应用旋转和裁剪。处理后的输出采用传感器方向。 |
acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement
属性 | |
---|---|
ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR |
|
ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG |
|
ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG |
|
ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO |
传感器没有任何拜耳彩色滤光片。此类传感器以单色捕捉可见光。捕获的精确加权和波长未指定,但通常只包括可见频率。此值表示单色相机。 |
ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR |
传感器具有近红外滤光片,可捕捉波长在大约 750 纳米到 1400 纳米之间的光线,并且同一滤光片覆盖整个传感器阵列。此值表示单色相机。 |
ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB |
传感器不是拜耳型;每个像素的输出有 3 个 16 位值,而不是每个像素只有 1 个 16 位值。 |
ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB |
acamera_metadata_enum_acamera_sensor_info_lens_shading_applied
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_sensor_info_lens_shading_applied
acamera_metadata_enum_acamera_sensor_info_timestamp_source
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_sensor_info_timestamp_source
属性 | |
---|---|
ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME |
来自 ACAMERA_SENSOR_TIMESTAMP 的时间戳与 SystemClock::elapsedRealtimeNanos 位于同一时间基准,并且可以使用该基准与其他时间戳进行比较。 当来自 REALTIME 设备的数据缓冲直接从相机传递到视频编码器时,会自动进行补偿,以考虑音频和相机子系统不同的时间基准。如果应用接收数据缓冲,然后稍后将其发送到视频编码器或其他与音频子系统时间戳或类似内容进行比较的应用,则不存在此补偿。在这些情况下,应用需要自行调整时间戳。SystemClock::elapsedRealtimeNanos 和 SystemClock::uptimeMillis 仅在设备处于睡眠状态时才会发生分歧,因此可以在每个活动会话中测量两次来源之间的偏移,并将其应用于时间戳以获得足够的 A/V 同步精度。 另请参阅: ACAMERA_SENSOR_TIMESTAMP |
ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN |
来自 ACAMERA_SENSOR_TIMESTAMP 的时间戳以纳秒为单位且是单调的,但无法与来自其他子系统(例如加速度计、陀螺仪等)或同一系统中相同或不同相机设备的任何其他实例的时间戳进行精确比较。但是,时间戳大致与 SystemClock::uptimeMillis 位于同一时间基准。精度至少足以满足视频录制等 A/V 同步任务,并且时间戳可以直接与来自音频子系统的时间戳一起用于该任务。 单个相机实例的流和结果之间的时间戳是可比的,并且单个捕获生成的所有缓冲和结果元数据的时间戳是相同的。 另请参阅: ACAMERA_SENSOR_TIMESTAMP |
acamera_metadata_enum_acamera_sensor_pixel_mode
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_sensor_pixel_mode
属性 | |
---|---|
ACAMERA_SENSOR_PIXEL_MODE_DEFAULT |
这是默认的传感器像素模式。 |
ACAMERA_SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION |
在此模式下,传感器通常不会对像素进行 binning,因此可以提供更大的图像尺寸。 |
acamera_metadata_enum_acamera_sensor_raw_binning_factor_used
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_sensor_raw_binning_factor_used
属性 | |
---|---|
ACAMERA_SENSOR_RAW_BINNING_FACTOR_USED_FALSE |
在此捕获中, |
ACAMERA_SENSOR_RAW_BINNING_FACTOR_USED_TRUE |
在此捕获中, |
acamera_metadata_enum_acamera_sensor_reference_illuminant1
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_sensor_reference_illuminant1
acamera_metadata_enum_acamera_sensor_test_pattern_mode
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_sensor_test_pattern_mode
属性 | |
---|---|
ACAMERA_SENSOR_TEST_PATTERN_MODE_COLOR_BARS |
所有像素数据都替换为 8 条颜色条纹模式。 垂直条纹(从左到右)如下所示:
通常,图像看起来像下面这样
每条条纹应占传感器像素阵列宽度的 1/8。如果无法实现,条纹大小应向下舍入到最接近的整数,且模式可以在右侧重复。 每条条纹的高度必须始终占满整个传感器像素阵列的高度。 此测试模式中的每个像素必须设置为 0% 强度或 100% 强度。 |
ACAMERA_SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY |
测试模式类似于 COLOR_BARS,但每条条纹应从顶部指定的颜色开始,并向底部渐变为灰色。 此外,每条条纹又被细分为左右两半。左半部分应具有平滑渐变,右半部分应具有量化渐变。 特别是,右半部分应由占活动传感器像素阵列宽度 1/16 的同色块组成。 量化渐变中的最低有效位应从平滑渐变中的最高有效位复制。 每条条纹的高度应始终是 128 的倍数。如果不是这种情况,模式应在图像底部重复。 |
ACAMERA_SENSOR_TEST_PATTERN_MODE_CUSTOM1 |
第一个自定义测试模式。仅在此相机设备上可用的所有自定义模式至少具有此数值。 所有自定义测试模式都将是静态的(即原始图像不会在帧之间变化)。 |
ACAMERA_SENSOR_TEST_PATTERN_MODE_OFF |
不使用任何测试模式,相机设备返回来自图像传感器的捕获。 如果未设置该键,则此为默认值。 |
ACAMERA_SENSOR_TEST_PATTERN_MODE_PN9 |
所有像素数据都替换为由 PN9 512 位序列生成的伪随机序列(通常在硬件中通过线性反馈移位寄存器实现)。 生成器应在每帧开始时重置,因此使用此测试模式的后续每帧原始帧应与上一帧完全相同。 |
ACAMERA_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR |
例如
所有绿色像素均为 100% 绿色。所有红色/蓝色像素均为黑色。
所有红色像素均为 100% 红色。只有奇数绿色像素为 100% 绿色。所有蓝色像素均为 100% 黑色。 |
acamera_metadata_enum_acamera_shading_mode
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_shading_mode
属性 | |
---|---|
ACAMERA_SHADING_MODE_FAST |
应用镜头阴影校正,但不相对于传感器原始输出降低帧速率 |
ACAMERA_SHADING_MODE_HIGH_QUALITY |
应用高质量镜头阴影校正,代价是可能会降低帧速率。 |
ACAMERA_SHADING_MODE_OFF |
不应用镜头阴影校正。 |
acamera_metadata_enum_acamera_statistics_face_detect_mode
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_statistics_face_detect_mode
属性 | |
---|---|
ACAMERA_STATISTICS_FACE_DETECT_MODE_FULL |
返回所有人脸元数据。 在此模式下,人脸矩形、分数、地标和人脸 ID 均有效。 |
ACAMERA_STATISTICS_FACE_DETECT_MODE_OFF |
在捕获结果中不包括人脸检测统计数据。 |
ACAMERA_STATISTICS_FACE_DETECT_MODE_SIMPLE |
仅返回人脸矩形和置信度值。 |
acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode
属性 | |
---|---|
ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE_OFF |
热像素映射生成已禁用。 |
ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE_ON |
热像素映射生成已启用。 |
acamera_metadata_enum_acamera_statistics_lens_shading_map_mode
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_statistics_lens_shading_map_mode
属性 | |
---|---|
ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE_OFF |
在捕获结果中不包括镜头阴影映射。 |
ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE_ON |
在捕获结果中包括镜头阴影映射。 |
acamera_metadata_enum_acamera_statistics_ois_data_mode
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_statistics_ois_data_mode
属性 | |
---|---|
ACAMERA_STATISTICS_OIS_DATA_MODE_OFF |
在捕获结果中不包括 OIS 数据。 |
ACAMERA_STATISTICS_OIS_DATA_MODE_ON |
在捕获结果中包括 OIS 数据。 ACAMERA_STATISTICS_OIS_TIMESTAMPS、ACAMERA_STATISTICS_OIS_X_SHIFTS 和 ACAMERA_STATISTICS_OIS_Y_SHIFTS 在输出结果元数据中提供 OIS 数据。 另请参阅: ACAMERA_STATISTICS_OIS_TIMESTAMPS 另请参阅: ACAMERA_STATISTICS_OIS_X_SHIFTS 另请参阅: ACAMERA_STATISTICS_OIS_Y_SHIFTS |
acamera_metadata_enum_acamera_statistics_scene_flicker
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_statistics_scene_flicker
属性 | |
---|---|
ACAMERA_STATISTICS_SCENE_FLICKER_50HZ |
相机设备检测到当前场景中的照明以 50Hz 频率闪烁。 |
ACAMERA_STATISTICS_SCENE_FLICKER_60HZ |
相机设备检测到当前场景中的照明以 60Hz 频率闪烁。 |
ACAMERA_STATISTICS_SCENE_FLICKER_NONE |
相机设备未检测到当前场景中的任何闪烁照明。 |
acamera_metadata_enum_acamera_sync_frame_number
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_sync_frame_number
属性 | |
---|---|
ACAMERA_SYNC_FRAME_NUMBER_CONVERGING |
当前结果尚未与任何请求完全同步。 正在进行同步,从此结果读取元数据可能包含自上次同步时间以来已生效的数据混合。 在将来的某些结果中,在 ACAMERA_SYNC_MAX_LATENCY 帧内,此值将更新为结果保证同步到的实际帧号(只要请求设置保持不变)。 另请参阅: ACAMERA_SYNC_MAX_LATENCY |
ACAMERA_SYNC_FRAME_NUMBER_UNKNOWN |
当前结果的同步状态未知。 结果可能已经收敛,也可能正在进行中。从此结果读取可能包含先前请求的部分设置混合。 更改设置后,新设置最终将全部对输出缓冲区和结果生效。但是,发生这种情况时,此值不会更改。快速更改设置可能会产生使用最近请求设置混合的结果。 此值主要用于与较旧的相机实现(针对 android.hardware.Camera)进行向后兼容。 |
acamera_metadata_enum_acamera_sync_max_latency
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_sync_max_latency
属性 | |
---|---|
ACAMERA_SYNC_MAX_LATENCY_PER_FRAME_CONTROL |
每帧立即应用请求。 一个接一个地更改多个请求的控制将产生的结果是每帧都以原子方式应用这些控制。 所有 FULL 功能设备都将以此作为其 maxLatency。 |
ACAMERA_SYNC_MAX_LATENCY_UNKNOWN |
每新帧都将过去请求的某个子集(可能包含整个集合)应用于相机设置。 通过提交一系列相同的请求,相机设备最终将应用相机设置,但确切的时间点未知。 所有 LEGACY 功能设备都将以此作为其 maxLatency。 |
acamera_metadata_enum_acamera_tonemap_mode
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_tonemap_mode
属性 | |
---|---|
ACAMERA_TONEMAP_MODE_CONTRAST_CURVE |
使用 ACAMERA_TONEMAPCURVE_* 条目中指定的色调映射曲线。 必须禁用所有颜色增强和色调映射,除了应用 android.tonemap.curve 指定的色调映射曲线。 相对于原始传感器输出,不得降低帧速率。 |
ACAMERA_TONEMAP_MODE_FAST |
可以应用高级伽马映射和颜色增强,而不降低相对于原始传感器输出的帧速率。 |
ACAMERA_TONEMAP_MODE_GAMMA_VALUE |
使用 ACAMERA_TONEMAP_GAMMA 中指定的伽马值执行色调映射。 必须禁用所有颜色增强和色调映射,除了应用 ACAMERA_TONEMAP_GAMMA 指定的色调映射曲线。 相对于原始传感器输出,不得降低帧速率。 另请参阅: ACAMERA_TONEMAP_GAMMA |
ACAMERA_TONEMAP_MODE_HIGH_QUALITY |
将应用高质量伽马映射和颜色增强,代价是相对于原始传感器输出可能会降低帧速率。 |
ACAMERA_TONEMAP_MODE_PRESET_CURVE |
使用 ACAMERA_TONEMAP_PRESET_CURVE 中指定的预设色调映射曲线执行色调映射。 必须禁用所有颜色增强和色调映射,除了应用 ACAMERA_TONEMAP_PRESET_CURVE 指定的色调映射曲线。 相对于原始传感器输出,不得降低帧速率。 |
acamera_metadata_enum_acamera_tonemap_preset_curve
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_enum_acamera_tonemap_preset_curve
属性 | |
---|---|
ACAMERA_TONEMAP_PRESET_CURVE_REC709 |
色调映射曲线由 ITU-R BT.709 定义 |
ACAMERA_TONEMAP_PRESET_CURVE_SRGB |
色调映射曲线由 sRGB 定义 |
acamera_metadata_section
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_section
acamera_metadata_section_start
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_section_start
枚举空间中的层级位置。
acamera_metadata_tag
声明于camera/NdkCameraMetadataTags.h
acamera_metadata_tag
相机元数据标签主枚举类型。
属性 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ACAMERA_AUTOMOTIVE_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_AUTOMOTIVE_LENS_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_AUTOMOTIVE_LENS_FACING |
相机相对于车辆车身框架和乘客座位朝向的方向。 类型:byte[n] (acamera_metadata_enum_android_automotive_lens_facing_t) 此标记可能出现在
此枚举定义了 ACAMERA_AUTOMOTIVE_LOCATION 定义的位置上的车载设备相机的镜头朝向特性。如果系统具有 FEATURE_AUTOMOTIVE 功能,则相机将在其静态元数据中包含此条目。 当 ACAMERA_AUTOMOTIVE_LOCATION 为 INTERIOR 时,此条目包含一个或多个 INTERIOR_* 值或单个 EXTERIOR_* 值。当包含多个 INTERIOR_* 值时,第一个值必须是离光轴最近的座位的值。如果包含 INTERIOR_OTHER,则所有其他值都将无效。 当 ACAMERA_AUTOMOTIVE_LOCATION 为 EXTERIOR_* 或 EXTRA 时,此条目包含单个 EXTERIOR_* 值。 如果相机具有 INTERIOR_OTHER 或 EXTERIOR_OTHER,或者多个相机位于同一位置并朝向同一方向,它们的静态元数据将列出以下条目,以便应用可以确定其镜头的确切朝向:
另请参阅: ACAMERA_AUTOMOTIVE_LOCATION 另请参阅: ACAMERA_LENS_POSE_REFERENCE 另请参阅: ACAMERA_LENS_POSE_ROTATION 另请参阅: ACAMERA_LENS_POSE_TRANSLATION |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_AUTOMOTIVE_LOCATION |
车载设备上相机的位置。 类型:byte (acamera_metadata_enum_android_automotive_location_t) 此标记可能出现在
此枚举定义了相机相对于车辆车身框架在车载传感器坐标系中的位置。如果系统具有 FEATURE_AUTOMOTIVE 功能,则相机将在其静态元数据中包含此条目。
此坐标系中车辆车身框架的每一侧定义如下:
如果相机具有 EXTERIOR_OTHER 或 EXTRA_OTHER,或者多个相机位于同一位置并朝向同一方向,它们的静态元数据将列出以下条目,以便应用可以确定相机的确切位置:
另请参阅: ACAMERA_LENS_POSE_REFERENCE 另请参阅: ACAMERA_LENS_POSE_ROTATION 另请参阅: ACAMERA_LENS_POSE_TRANSLATION |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_BLACK_LEVEL_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_BLACK_LEVEL_LOCK |
黑电平补偿是否锁定在其当前值,或者是否可以自由变化。 类型:byte (acamera_metadata_enum_android_black_level_lock_t) 此标记可能出现在
此帧的黑电平偏移是否已锁定。如果在捕获请求中 ACAMERA_BLACK_LEVEL_LOCK 为 ON,则应为 ON,除非其他捕获设置的更改迫使相机设备执行黑电平重置。 另请参阅: ACAMERA_BLACK_LEVEL_LOCK |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_COLOR_CORRECTION_ABERRATION_MODE |
色差校正算法的工作模式。 类型:byte (acamera_metadata_enum_android_color_correction_aberration_mode_t) 此标记可能出现在
色差(颜色像差)是由于不同波长的光线在穿过镜头后无法聚焦到同一焦点而引起的。此元数据定义了色差校正算法的高级控制,旨在最大限度地减少图像中物体边界可能出现的色差伪影。 FAST/HIGH_QUALITY 都表示将应用由相机设备确定的色差校正。HIGH_QUALITY 模式表示相机设备将使用最高质量的色差校正算法,即使这会降低捕获速率。FAST 表示相机设备在应用色差校正时不会降低捕获速率。 LEGACY 设备将始终处于 FAST 模式。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES |
此相机设备支持的 ACAMERA_COLOR_CORRECTION_ABERRATION_MODE 的色差校正模式列表。 另请参阅: ACAMERA_COLOR_CORRECTION_ABERRATION_MODE 类型:byte[n] 此标记可能出现在
此键列出了 ACAMERA_COLOR_CORRECTION_ABERRATION_MODE 的有效模式。如果设备没有可用的色差校正模式,则此列表将仅包含 OFF 模式。所有相机设备都将支持 OFF 或 FAST 模式。 支持 MANUAL_POST_PROCESSING 功能的相机设备将始终列出 OFF 模式。这包括所有 FULL 级别设备。 LEGACY 设备将始终只支持 FAST 模式。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_COLOR_CORRECTION_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_COLOR_CORRECTION_GAINS |
应用于拜耳原始颜色通道用于白平衡的增益。 类型:float[4] 此标记可能出现在
当请求的 ACAMERA_COLOR_CORRECTION_MODE 不是 TRANSFORM_MATRIX 时,这些每通道增益由相机设备设置,或者当 ACAMERA_COLOR_CORRECTION_MODE 是 TRANSFORM_MATRIX 时,由应用在请求中直接设置。 结果元数据中的增益是相机设备实际应用于当前帧的增益。 增益的有效范围因设备而异,但保证 [1.0, 3.0] 之间的增益不会被裁剪。即使给定设备允许小于 1.0 的增益,通常也不建议这样做,因为这可能会产生颜色伪影。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_COLOR_CORRECTION_MODE |
模式控制选择如何将图像数据从传感器的原生颜色转换为线性 sRGB 颜色。 类型:byte (acamera_metadata_enum_android_color_correction_mode_t) 此标记可能出现在
当使用 ACAMERA_CONTROL_AWB_MODE 启用自动白平衡 (AWB) 时,此控制将被 AWB 例程覆盖。禁用 AWB 时,应用控制颜色映射的执行方式。 下面我们定义了预期的处理流水线。为了在设备之间保持一致性,这始终适用于 TRANSFORM_MATRIX。 当使用 FAST 或 HIGH_QUALITY 时,相机设备可能会进行额外的处理,但相机设备仍将提供 ACAMERA_COLOR_CORRECTION_GAINS 和 ACAMERA_COLOR_CORRECTION_TRANSFORM(在结果中),并且大致正确。 切换到 TRANSFORM_MATRIX 并使用 FAST 或 HIGH_QUALITY 提供的数据将产生与相机设备在先前帧中产生的白点相同的图片。 预期的处理流水线如下所示:
![]() 白平衡由两个值编码:一个 4 通道白平衡增益向量(应用于拜耳域)和一个 3x3 颜色变换矩阵(在去马赛克后应用)。 4 通道白平衡增益定义为:
其中 颜色变换矩阵定义为一个包含 9 个元素的向量:
它定义了从输入传感器颜色 颜色如下:
输入和输出值范围必须匹配。溢出/下溢值将被裁剪以适应范围。 另请参阅: ACAMERA_COLOR_CORRECTION_GAINS 另请参阅: ACAMERA_COLOR_CORRECTION_TRANSFORM 另请参阅: ACAMERA_CONTROL_AWB_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_COLOR_CORRECTION_TRANSFORM |
用于将传感器 RGB 颜色空间转换为输出线性 sRGB 颜色空间的颜色变换矩阵。 类型:rational[3*3] 此标记可能出现在
当请求的 ACAMERA_COLOR_CORRECTION_MODE 不是 TRANSFORM_MATRIX 时,此矩阵由相机设备设置,或者当 ACAMERA_COLOR_CORRECTION_MODE 是 TRANSFORM_MATRIX 时,由应用在请求中直接设置。 在后一种情况下,相机设备可能会对矩阵进行舍入以解决精度问题;最终舍入后的矩阵应在此矩阵结果元数据中报告。该变换应将输出颜色值的幅值保持在 每个矩阵元素的有效范围因设备而异,但保证 [-1.5, 3.0] 范围内的值不会被裁剪。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AE_ANTIBANDING_MODE |
相机设备自动曝光算法防条纹补偿的期望设置。 类型:byte (acamera_metadata_enum_android_control_ae_antibanding_mode_t) 此标记可能出现在
某些照明设备,例如一些荧光灯,以电源频率(60Hz 或 50Hz,取决于国家/地区)闪烁。虽然这对人来说通常不易察觉,但相机设备可以看到。如果相机将其曝光时间设置为错误的值,闪烁可能会在取景器中显示为闪烁,或在最终捕获的图像中显示为图像上的一组可变亮度条带。 因此,相机设备的自动曝光例程包含防条纹例程,以确保所选的曝光值不会引起此类条纹。曝光时间的选择取决于闪烁速率,相机设备可以自动检测闪烁速率,或者应用可以使用此控件选择预期的速率。 给定的相机设备可能不支持防条纹模式的所有可能选项。ACAMERA_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES 键包含给定相机设备的可用模式。 如果在给定相机设备上可用,AUTO 模式为默认模式。当 AUTO 模式不可用时,默认模式将为 50HZ 或 60HZ,并且 50HZ 和 60HZ 都将可用。 如果启用了手动曝光控制(通过将 ACAMERA_CONTROL_AE_MODE 或 ACAMERA_CONTROL_MODE 设置为 OFF),则此设置无效,并且应用必须确保选择不会引起条纹问题的曝光时间。ACAMERA_STATISTICS_SCENE_FLICKER 键可以帮助应用完成此操作。 另请参阅: ACAMERA_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES 另请参阅: ACAMERA_CONTROL_AE_MODE 另请参阅: ACAMERA_CONTROL_MODE 另请参阅: ACAMERA_STATISTICS_SCENE_FLICKER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES |
此相机设备支持的 ACAMERA_CONTROL_AE_ANTIBANDING_MODE 的自动曝光防条纹模式列表。 另请参阅: ACAMERA_CONTROL_AE_ANTIBANDING_MODE 类型:byte[n] 此标记可能出现在
给定的相机设备可能不支持所有自动曝光防条纹模式。此字段列出了应用可以使用 ACAMERA_CONTROL_AE_ANTIBANDING_MODE 控制为此相机设备请求的有效防条纹模式。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AE_AVAILABLE_MODES |
此相机设备支持的 ACAMERA_CONTROL_AE_MODE 的自动曝光模式列表。 另请参阅: ACAMERA_CONTROL_AE_MODE 类型:byte[n] 此标记可能出现在
给定的相机设备可能不支持所有自动曝光模式,特别是如果没有闪光灯单元可用时。此条目列出了此相机设备的 ACAMERA_CONTROL_AE_MODE 的有效模式。 所有相机设备都支持 ON,并且所有带有闪光灯单元的相机设备都支持 ON_AUTO_FLASH 和 ON_ALWAYS_FLASH。 FULL 模式相机设备始终支持 OFF 模式,这使得应用能够控制相机曝光时间、灵敏度和帧时长。 LEGACY 模式相机设备从不支持 OFF 模式。如果 LIMITED 模式设备支持 MANUAL_SENSOR 功能,则支持 OFF。 另请参阅: ACAMERA_CONTROL_AE_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES |
此相机设备支持的 ACAMERA_CONTROL_AE_TARGET_FPS_RANGE 的帧速率范围列表。 另请参阅: ACAMERA_CONTROL_AE_TARGET_FPS_RANGE 类型:int32[2*n] 此标记可能出现在
对于 LEGACY 级别或更高级别的设备
对于 LIMITED 级别或更高级别的设备
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AE_COMPENSATION_RANGE |
此相机设备支持的 ACAMERA_CONTROL_AE_EXPOSURE_COMPENSATION 最大和最小曝光补偿值(以 ACAMERA_CONTROL_AE_COMPENSATION_STEP 为单位计算)。 另请参阅: ACAMERA_CONTROL_AE_COMPENSATION_STEP 另请参阅: ACAMERA_CONTROL_AE_EXPOSURE_COMPENSATION 类型:int32[2] 此标记可能出现在
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AE_COMPENSATION_STEP |
曝光补偿可以更改的最小步长。 类型:rational 此标记可能出现在
这是 ACAMERA_CONTROL_AE_EXPOSURE_COMPENSATION 的单位。例如,如果此键的值为 一单位的 EV 补偿将捕获图像的亮度改变一倍。+1 EV 使图像亮度加倍,而 -1 EV 使图像亮度减半。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AE_EXPOSURE_COMPENSATION |
自动曝光 (AE) 目标图像亮度的调整。 类型:int32 此标记可能出现在
调整以步数衡量,步长由 ACAMERA_CONTROL_AE_COMPENSATION_STEP 定义,允许范围由 ACAMERA_CONTROL_AE_COMPENSATION_RANGE 定义。 例如,如果曝光值 (EV) 步长为 0.333,则 '6' 表示 +2 EV 的曝光补偿;-3 表示 -1 EV 的曝光补偿。一单位 EV 表示图像亮度加倍。请注意,此控制仅在 ACAMERA_CONTROL_AE_MODE 如果曝光补偿值发生变化,相机设备可能需要几帧才能达到新请求的曝光目标。在此期间,ACAMERA_CONTROL_AE_STATE 字段将处于 SEARCHING 状态。一旦达到新的曝光目标,ACAMERA_CONTROL_AE_STATE 将从 SEARCHING 更改为 CONVERGED、LOCKED(如果启用了 AE 锁定)或 FLASH_REQUIRED(如果场景太暗无法进行静态捕获)。 另请参阅: ACAMERA_CONTROL_AE_COMPENSATION_RANGE 另请参阅: ACAMERA_CONTROL_AE_COMPENSATION_STEP 另请参阅: ACAMERA_CONTROL_AE_LOCK 另请参阅: ACAMERA_CONTROL_AE_MODE 另请参阅: ACAMERA_CONTROL_AE_STATE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AE_LOCK |
自动曝光 (AE) 当前是否锁定在其最新的计算值。 类型:byte (acamera_metadata_enum_android_control_ae_lock_t) 此标记可能出现在
当设置为 请注意,即使 AE 锁定,如果 更改 如果在 AE 已锁定时触发了 AE 预捕获(请参阅 触发 AE 预捕获序列时,如果在预捕获测光序列期间相机设备内部锁定了 AE,则 AE 解锁将无法解锁 AE。换句话说,对于正在进行的预捕获测光序列,提交带有 AE 解锁的请求无效。否则,在预览请求序列中,如果 AE 锁定始终设置为 由于相机设备具有正在处理的请求流水线,因此锁定的设置不一定与从相机设备接收到的最新捕获结果中的设置相对应,因为即使在发送结果之前,也可能发生了额外的捕获和 AE 更新。如果应用程序在自动控制和手动控制之间切换,并希望消除切换过程中的任何闪烁,建议采用以下步骤
有关 AE 锁定相关的状态转换详细信息,请参阅 另请参阅: ACAMERA_CONTROL_AE_EXPOSURE_COMPENSATION 另请参阅: ACAMERA_CONTROL_AE_MODE 另请参阅: ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER 另请参阅: ACAMERA_CONTROL_AE_STATE 另请参阅: ACAMERA_SENSOR_EXPOSURE_TIME 另请参阅: ACAMERA_SENSOR_SENSITIVITY |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AE_LOCK_AVAILABLE |
相机设备是否支持 另请参阅: ACAMERA_CONTROL_AE_LOCK 类型:byte (acamera_metadata_enum_android_control_ae_lock_available_t) 此标记可能出现在
支持 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AE_MODE |
相机设备的自动曝光例程所需的模式。 类型:byte (acamera_metadata_enum_android_control_ae_mode_t) 此标记可能出现在
此控制仅在 设置为任何 仅当相机设备具有闪光灯单元( 如果需要闪光灯 设置为任何 另请参阅: ACAMERA_CONTROL_MODE 另请参阅: ACAMERA_FLASH_INFO_AVAILABLE 另请参阅: ACAMERA_FLASH_MODE 另请参阅: ACAMERA_SENSOR_EXPOSURE_TIME 另请参阅: ACAMERA_SENSOR_FRAME_DURATION 另请参阅: ACAMERA_SENSOR_SENSITIVITY |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER |
相机设备在处理此请求时是否会触发预捕获测光序列。 类型:byte (acamera_metadata_enum_android_control_ae_precapture_trigger_t) 此标记可能出现在
此条目通常设置为 设置为 在启动高质量静止捕获之前应触发预捕获序列,以便做出最终测光决策,并在启用闪光灯时,发射预捕获闪光脉冲以估计场景亮度所需的最终捕获闪光功率。 在预捕获序列期间,满足以下条件时启用闪光灯:
通常,此条目仅应针对单个请求设置为 预捕获测光序列完成后,相机设备可以在内部锁定自动曝光例程,以便准确曝光后续的静止捕获图像( 自动曝光 (AE) 预捕获触发器的确切效果取决于当前的 AE 模式和状态;有关 AE 预捕获状态转换详细信息,请参阅 在 LEGACY 级别设备上,不支持预捕获触发器;捕获高分辨率 JPEG 图像将在高分辨率捕获之前自动触发预捕获序列,包括可能闪烁预捕获闪光灯。 允许同时使用预捕获触发器和自动对焦触发器 如果在同一请求中同时激活预捕获和自动对焦触发器,相机设备将按照对该设备最优的顺序完成它们。 另请参阅: ACAMERA_CONTROL_AE_LOCK 另请参阅: ACAMERA_CONTROL_AE_STATE 另请参阅: ACAMERA_CONTROL_AF_TRIGGER 另请参阅: ACAMERA_CONTROL_CAPTURE_INTENT |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AE_REGIONS |
用于自动曝光调整的测光区域列表。 类型:int32[5*area_count] 此标记可能出现在
如果 android.control.maxRegionsAe 为 0,则不可用。否则始终存在。 设备支持的最大区域数量由 android.control.maxRegionsAe 的值确定。 对于不支持 对于支持 权重必须在 权重是相对于其他曝光测光区域的权重而言的,因此如果只使用一个区域,所有非零权重将具有相同的效果。权重为 0 的区域将被忽略。 如果所有区域的权重都为 0,则相机设备无需使用特定的测光区域。 如果测光区域超出捕获结果元数据中返回的使用的 设置 AE 测光区域时,应用程序必须考虑预览流和 从 API level 30 开始,activeArraySize 或 preCorrectionActiveArraySize 的坐标系用于表示 post-zoomRatio 视野,而不是 pre-zoom 视野。这意味着在不同的 对于具有 CameraMetadata::REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR 功能的相机设备,或 CameraCharacteristics::getAvailableCaptureRequestKeys 列出 ACAMERA_SENSOR_PIXEL_MODE 的设备,当 数据表示为 另请参阅: ACAMERA_CONTROL_ZOOM_RATIO 另请参阅: ACAMERA_DISTORTION_CORRECTION_MODE 另请参阅: ACAMERA_SCALER_CROP_REGION 另请参阅: ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE 另请参阅: ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION 另请参阅: ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE 另请参阅: ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION 另请参阅: ACAMERA_SENSOR_PIXEL_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AE_STATE |
自动曝光 (AE) 算法的当前状态。 类型:byte (acamera_metadata_enum_android_control_ae_state_t) 此标记可能出现在
切换或启用 AE 模式( 相机设备可以在两个结果之间进行多次状态转换,如果状态转换表允许。例如:结果中可能永远看不到 结果中的状态是此图像(与此图像同步)的状态:如果 AE 状态变为 以下是不同 AE 模式的状态转换表。
当
如果相机设备支持 AE 外部闪光模式( 对于上述表格,如果状态转换表允许,相机设备可能会跳过报告在没有应用程序干预(即模式切换、触发、锁定)的情况下发生的任何状态更改。以这种方式可以跳过的任何状态都称为瞬态。 例如,对于上述 AE 模式(
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AE_TARGET_FPS_RANGE |
自动曝光例程可以调整捕获帧率以维持良好曝光的范围。 类型:int32[2] 此标记可能出现在
仅限制自动曝光 (AE) 算法,不限制 请注意,实际可达到的最大帧率也取决于输出流的最小帧持续时间。最大帧率将是 要以与捕获请求模板的默认值不同的目标 FPS 范围启动 CaptureSession,强烈建议应用程序在创建捕获会话之前调用 ACameraDevice_createCaptureSessionWithSessionParameters 并指定目标 fps 范围。aeTargetFpsRange 通常是会话参数。在会话创建时指定它有助于避免在 60fps 或高速录制等情况下出现会话重新配置延迟。 另请参阅: ACAMERA_SENSOR_EXPOSURE_TIME 另请参阅: ACAMERA_SENSOR_FRAME_DURATION |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AF_AVAILABLE_MODES |
此相机设备支持的 另请参阅: ACAMERA_CONTROL_AF_MODE 类型:byte[n] 此标记可能出现在
并非所有自动对焦模式都可能由给定的相机设备支持。此条目列出了此相机设备的 所有 LIMITED 和 FULL 模式相机设备都支持 LEGACY 设备仅在支持对焦到无穷远(通过同时将 另请参阅: ACAMERA_CONTROL_AF_MODE 另请参阅: ACAMERA_LENS_FOCUS_DISTANCE 另请参阅: ACAMERA_LENS_INFO_MINIMUM_FOCUS_DISTANCE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AF_MODE |
自动对焦 (AF) 当前是否启用,以及设置为何种模式。 类型:byte (acamera_metadata_enum_android_control_af_mode_t) 此标记可能出现在
仅在 如果镜头由相机设备自动对焦算法控制,相机设备将在结果元数据中的 另请参阅: ACAMERA_CONTROL_AE_MODE 另请参阅: ACAMERA_CONTROL_AF_STATE 另请参阅: ACAMERA_CONTROL_AF_TRIGGER 另请参阅: ACAMERA_CONTROL_MODE 另请参阅: ACAMERA_LENS_INFO_MINIMUM_FOCUS_DISTANCE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AF_REGIONS |
用于自动对焦的测光区域列表。 类型:int32[5*area_count] 此标记可能出现在
如果 android.control.maxRegionsAf 为 0,则不可用。否则始终存在。 设备支持的最大对焦区域数量由 android.control.maxRegionsAf 的值确定。 对于不支持 对于支持 权重必须在 权重是相对于其他测光区域的权重而言的,因此如果只使用一个区域,所有非零权重将具有相同的效果。权重为 0 的区域将被忽略。 如果所有区域的权重都为 0,则相机设备无需使用特定的测光区域。捕获结果将是权重为零的区域,或者相机设备选择的感兴趣的对焦区域。 如果测光区域超出捕获结果元数据中返回的使用的 设置 AF 测光区域时,应用程序必须考虑预览流和 从 API level 30 开始,activeArraySize 或 preCorrectionActiveArraySize 的坐标系用于表示 post-zoomRatio 视野,而不是 pre-zoom 视野。这意味着在不同的 对于具有 CameraMetadata::REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR 功能的相机设备,或 CameraCharacteristics::getAvailableCaptureRequestKeys 列出 ACAMERA_SENSOR_PIXEL_MODE 的设备,当 数据表示为 另请参阅: ACAMERA_CONTROL_ZOOM_RATIO 另请参阅: ACAMERA_DISTORTION_CORRECTION_MODE 另请参阅: ACAMERA_SCALER_CROP_REGION 另请参阅: ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE 另请参阅: ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION 另请参阅: ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE 另请参阅: ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION 另请参阅: ACAMERA_SENSOR_PIXEL_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AF_SCENE_CHANGE |
在当前设置的 AF 区域内是否检测到显著的场景变化。 类型:byte (acamera_metadata_enum_android_control_af_scene_change_t) 此标记可能出现在
当相机对焦例程检测到其正在查看的场景发生变化时,例如相机视点发生较大偏移、场景中出现显著运动或显著的光照变化时,此值将在单个捕获结果中设置为 如果相机设备通过 ACAMERA_REQUEST_AVAILABLE_RESULT_KEYS 宣布此键,则此键将可用。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AF_STATE |
自动对焦 (AF) 算法的当前状态。 类型:byte (acamera_metadata_enum_android_control_af_state_t) 此标记可能出现在
切换或启用 AF 模式( 相机设备可以在两个结果之间进行多次状态转换,如果状态转换表允许。例如:结果中可能永远看不到 结果中的状态是此图像(与此图像同步)的状态:如果 AF 状态变为 以下是不同 AF 模式的状态转换表。 当
当
对于上述表格,如果状态转换表允许,相机设备可能会跳过报告在没有应用程序干预(即模式切换、触发、锁定)的情况下发生的任何状态更改。以这种方式可以跳过的任何状态都称为瞬态。 例如,对于这些 AF 模式(
当
当
在切换
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AF_TRIGGER |
相机设备是否会为此请求触发自动对焦。 类型:byte (acamera_metadata_enum_android_control_af_trigger_t) 此标记可能出现在
此条目通常设置为 当包含并设置为 设置为 通常,应用程序应仅对单个捕获将此条目设置为 对于每种 AF 模式,触发器的含义请参阅 允许同时使用自动对焦触发器和预捕获触发器 另请参阅: ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER 另请参阅: ACAMERA_CONTROL_AF_STATE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AUTOFRAMING |
自动裁剪、平移和缩放以将对象保持在画框中心。 类型:byte (acamera_metadata_enum_android_control_autoframing_t) 此标记可能出现在
自动构图是相机设备提供的一种特殊模式,用于动态裁剪、缩放或平移相机画面,以努力确保场景中的人物占据视口合理的部分。它主要设计用于支持用户不在设备正前方时的视频通话,特别是对于广角相机。 另请参阅: ACAMERA_CONTROL_ZOOM_RATIO 另请参阅: ACAMERA_SCALER_CROP_REGION |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AUTOFRAMING_AVAILABLE |
相机设备是否支持 另请参阅: ACAMERA_CONTROL_AUTOFRAMING 类型:byte (acamera_metadata_enum_android_control_autoframing_available_t) 此标记可能出现在
如果自动构图不可用,则为 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AUTOFRAMING_STATE |
自动构图的当前状态。 类型:byte (acamera_metadata_enum_android_control_autoframing_state_t) 此标记可能出现在
当相机不支持自动构图(即
另请参阅: ACAMERA_CONTROL_AUTOFRAMING 另请参阅: ACAMERA_CONTROL_AUTOFRAMING_AVAILABLE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AVAILABLE_EFFECTS |
此相机设备支持的 另请参阅: ACAMERA_CONTROL_EFFECT_MODE 类型:byte[n] 此标记可能出现在
此列表包含可以应用于相机设备生成的图像的颜色效果模式。不同设备上的实现不应期望一致。如果设备没有可用的颜色效果模式,此列表将仅列出 只有当 此控制对自动曝光、白平衡或对焦等其他控制例程的操作没有影响。 另请参阅: ACAMERA_CONTROL_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES |
此相机设备支持的 另请参阅: ACAMERA_CONTROL_EXTENDED_SCENE_MODE 类型:int32[3*n] 此标记可能出现在
对于 对于 对于 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES |
支持的非 DISABLED 的 另请参阅: ACAMERA_CONTROL_EXTENDED_SCENE_MODE 类型:float[2*n] 此标记可能出现在
设置扩展场景模式时,相机设备可能相比未设置扩展场景模式 (DISABLED) 时具有有限的缩放比率范围。此标签列出了所有支持的非 DISABLED 扩展场景模式的缩放比率范围,其顺序与 android.control.availableExtended 中的顺序相同。 范围 [1.0, 1.0] 表示不支持任何缩放(光学或数字)。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AVAILABLE_MODES |
此相机设备支持的 另请参阅: ACAMERA_CONTROL_MODE 类型:byte[n] 此标记可能出现在
此列表包含可以为相机设备设置的控制模式。LEGACY 模式设备将始终支持 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AVAILABLE_SCENE_MODES |
此相机设备支持的 另请参阅: ACAMERA_CONTROL_SCENE_MODE 类型:byte[n] 此标记可能出现在
此列表包含可以为相机设备设置的场景模式。此处只能包含已针对相机设备完全实现的场景模式。不同设备上的实现不应期望一致。 如果相机设备不支持任何场景模式,此项将设置为 如果支持人脸检测(即 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AVAILABLE_SETTINGS_OVERRIDES |
相机设备支持的可用设置覆盖列表,可用于加快某些控制速度。 类型:int32[n] 此标记可能出现在
当 CaptureRequest 中的所有控制不需要同时在输出上生效时,相机设备可能会更快地应用某些请求键以改善延迟。此列表包含此类支持的设置覆盖。每个设置覆盖对应一组 CaptureRequest 键,这些键在应用时可以加速。 可以通过 CaptureRequest::CONTROL_SETTINGS_OVERRIDE 传递支持的设置覆盖,并且对应于覆盖的 CaptureRequest 键将尽快应用,不受逐帧同步限制。有关每个覆盖对应的 CaptureRequest 键,请参阅
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES |
此相机设备支持的 另请参阅: ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE 类型:byte[n] 此标记可能出现在
始终列出 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AWB_AVAILABLE_MODES |
此相机设备支持的 另请参阅: ACAMERA_CONTROL_AWB_MODE 类型:byte[n] 此标记可能出现在
并非所有自动白平衡模式都可能由给定的相机设备支持。此条目列出了此相机设备的 所有相机设备都将支持 支持 另请参阅: ACAMERA_COLOR_CORRECTION_GAINS 另请参阅: ACAMERA_COLOR_CORRECTION_MODE 另请参阅: ACAMERA_COLOR_CORRECTION_TRANSFORM 另请参阅: ACAMERA_CONTROL_AWB_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AWB_LOCK |
自动白平衡 (AWB) 当前是否锁定在其最新计算的值。 类型:byte (acamera_metadata_enum_android_control_awb_lock_t) 此标记可能出现在
设置为 由于相机设备具有正在处理的请求流水线,因此锁定的设置不一定与从相机设备接收到的最新捕获结果中的设置相对应,因为即使在发送结果之前,也可能发生了额外的捕获和 AWB 更新。如果应用程序在自动控制和手动控制之间切换,并希望消除切换过程中的任何闪烁,建议采用以下步骤
请注意,AWB 锁定仅在 某些 LEGACY 设备可能不支持 另请参阅: ACAMERA_CONTROL_AWB_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AWB_LOCK_AVAILABLE |
相机设备是否支持 另请参阅: ACAMERA_CONTROL_AWB_LOCK 类型:byte (acamera_metadata_enum_android_control_awb_lock_available_t) 此标记可能出现在
支持 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AWB_MODE |
自动白平衡 (AWB) 当前是否设置颜色转换字段,以及其目标照明是什么。 类型:byte (acamera_metadata_enum_android_control_awb_mode_t) 此标记可能出现在
此控制仅在 设置为 设置为 设置为任何其他模式时,相机设备的自动白平衡例程将被禁用。相机设备使用每个特定的照明目标进行白平衡调整。应用程序对 另请参阅: ACAMERA_COLOR_CORRECTION_GAINS 另请参阅: ACAMERA_COLOR_CORRECTION_MODE 另请参阅: ACAMERA_COLOR_CORRECTION_TRANSFORM 另请参阅: ACAMERA_CONTROL_AE_MODE 另请参阅: ACAMERA_CONTROL_AWB_LOCK 另请参阅: ACAMERA_CONTROL_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AWB_REGIONS |
用于自动白平衡照明估计的测光区域列表。 类型:int32[5*area_count] 此标记可能出现在
如果 android.control.maxRegionsAwb 为 0,则不可用。否则始终存在。 设备支持的最大区域数量由 android.control.maxRegionsAwb 的值确定。 对于不支持 对于支持 权重必须在 0 到 1000 之间,表示区域内每个像素的权重。这意味着具有相同权重的较大测光区域将在测光结果中产生更大影响。测光区域可以部分重叠,相机设备将叠加区域中的权重相加。 权重是相对于其他白平衡测光区域的权重而言的,因此如果只使用一个区域,所有非零权重将具有相同的效果。权重为 0 的区域将被忽略。 如果所有区域的权重都为 0,则相机设备无需使用特定的测光区域。 如果测光区域超出捕获结果元数据中返回的使用的 设置 AWB 测光区域时,应用程序必须考虑预览流和 从 API level 30 开始,activeArraySize 或 preCorrectionActiveArraySize 的坐标系用于表示 post-zoomRatio 视野,而不是 pre-zoom 视野。这意味着在不同的 对于具有 CameraMetadata::REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR 功能的相机设备,或 CameraCharacteristics::getAvailableCaptureRequestKeys 列出 ACAMERA_SENSOR_PIXEL_MODE 的设备,当 数据表示为 另请参阅: ACAMERA_CONTROL_ZOOM_RATIO 另请参阅: ACAMERA_DISTORTION_CORRECTION_MODE 另请参阅: ACAMERA_SCALER_CROP_REGION 另请参阅: ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE 另请参阅: ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION 另请参阅: ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE 另请参阅: ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION 另请参阅: ACAMERA_SENSOR_PIXEL_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_AWB_STATE |
自动白平衡 (AWB) 算法的当前状态。 类型:byte (acamera_metadata_enum_android_control_awb_state_t) 此标记可能出现在
切换或启用 AWB 模式( 如果状态转换表允许,相机设备可以在两个结果之间进行多次状态转换。因此,结果中可能永远不会看到 结果中的状态是此图像(与此图像同步)的状态:如果 AWB 状态变为 以下是不同 AWB 模式的状态转换表。 当
当
对于上述表格,如果状态转换表允许,相机设备可能会跳过报告在没有应用程序干预(即模式切换、触发、锁定)的情况下发生的任何状态更改。以这种方式可以跳过的任何状态都称为瞬态。 例如,对于此 AWB 模式(
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_CAPTURE_INTENT |
关于此捕获目的的信息,告知相机设备 3A(自动曝光、自动对焦、自动白平衡)例程,以帮助相机设备确定最优的 3A 策略。 类型:byte (acamera_metadata_enum_android_control_capture_intent_t) 此标记可能出现在
此控制( 所有设备都支持所有意图,但以下情况除外:
另请参阅: ACAMERA_CONTROL_MODE 另请参阅: ACAMERA_REQUEST_AVAILABLE_CAPABILITIES |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_EFFECT_MODE |
要应用的特殊颜色效果。 类型:byte (acamera_metadata_enum_android_control_effect_mode_t) 此标记可能出现在
设置此模式时,将对相机设备生成的图像应用颜色效果。这些颜色效果的解释和实现由相机设备的实现者决定,不应期望在所有设备上一致(或存在)。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_ENABLE_ZSL |
允许相机设备为 另请参阅: ACAMERA_CONTROL_CAPTURE_INTENT 类型:byte (acamera_metadata_enum_android_control_enable_zsl_t) 此标记可能出现在
如果 enableZsl 为 例如,当请求按以下顺序提交时: 请求 A:enableZsl 为 ON, 请求 B 的输出图像的内容可能是在请求 A 的输出图像之前捕获的,并且请求 B 的结果元数据可能比请求 A 的结果元数据旧。 请注意,当 enableZsl 为 对于目标 SDK 版本 O 及更高版本的应用程序, 对于目标 SDK 版本低于 O 的应用程序,如果存在,所有捕获模板中的 enableZsl 值始终为 对于应用程序操作的 ZSL,请使用 另请参阅: ACAMERA_CONTROL_CAPTURE_INTENT 另请参阅: ACAMERA_SENSOR_TIMESTAMP |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_EXTENDED_SCENE_MODE |
对于特定的捕获请求,是否启用了扩展场景模式。 类型:byte (acamera_metadata_enum_android_control_extended_scene_mode_t) 此标记可能出现在
使用散景模式时,相机设备可能会模糊场景中未对焦的部分,为人物或物体创建散景(或浅景深)效果。 设置为 设置为
设置为 在不同的扩展场景模式之间切换可能涉及相机流水线的重新配置,导致长时间延迟。应用程序应通过 ACameraManager_getCameraCharacteristics 查询可用会话键,并对照此键进行检查。 对于逻辑多摄像头,散景可以通过来自具有不同视野的子摄像头的立体视觉实现。因此,启用散景模式时,相机设备可能会覆盖 另请参阅: ACAMERA_CONTROL_ZOOM_RATIO 另请参阅: ACAMERA_SCALER_CROP_REGION |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE |
低光增强的运行亮度范围,单位为勒克斯 (lx)。 类型:float[2] 此标记可能出现在
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE |
低光增强 AE 模式的当前状态。 类型:byte (acamera_metadata_enum_android_control_low_light_boost_state_t) 此标记可能出现在
通过将 AE 模式设置为 'ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY' 启用低光增强后,当光照水平超过阈值时,它可以动态应用低光增强。 此状态指示低光增强何时处于 'ACTIVE' 状态并已应用。同样,它可以通过返回 'INACTIVE' 来指示何时未应用。 默认值将始终为 'INACTIVE'。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_MAX_REGIONS |
自动曝光 (AE)、自动白平衡 (AWB) 和自动对焦 (AF) 可用于测光的最大区域数量列表;这对应于 另请参阅: ACAMERA_CONTROL_AE_REGIONS 另请参阅: ACAMERA_CONTROL_AF_REGIONS 另请参阅: ACAMERA_CONTROL_AWB_REGIONS 类型:int32[3] 此标记可能出现在
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_MODE |
3A(自动曝光、自动白平衡、自动对焦)控制例程的总体模式。 类型:byte (acamera_metadata_enum_android_control_mode_t) 此标记可能出现在
这是顶层的 3A 控制开关。设置为 设置为 设置为 设置为 另请参阅: ACAMERA_CONTROL_AF_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_POST_RAW_SENSITIVITY_BOOST |
捕获 RAW 传感器数据后,对输出图像应用的额外感光度增强量。 类型:int32 此标记可能出现在
某些相机设备在捕获传感器 RAW 图像后支持在相机处理流水线中进行额外的数字感光度增强。此类增强将应用于 YUV/JPEG 格式的输出图像,但对 RAW 输出格式(如 对于不支持任何 RAW 格式输出的设备,此键将为 如果相机设备无法应用请求的确切增强量,它将把增强量降低到最接近的支持值。使用的最终增强值将在输出捕获结果中提供。 对于支持 RAW 后感光度增强的设备,此类设备的 YUV/JPEG 输出图像的总感光度为 此控制仅在 另请参阅: ACAMERA_CONTROL_AE_MODE 另请参阅: ACAMERA_CONTROL_MODE 另请参阅: ACAMERA_CONTROL_POST_RAW_SENSITIVITY_BOOST 另请参阅: ACAMERA_SENSOR_SENSITIVITY |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE |
此相机设备支持的 另请参阅: ACAMERA_CONTROL_POST_RAW_SENSITIVITY_BOOST 类型:int32[2] 此标记可能出现在
支持 RAW 后感光度增强的设备将公布 对于不支持任何 RAW 格式输出的设备,此键将为 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_SCENE_MODE |
控制当前激活的场景模式。 类型:byte (acamera_metadata_enum_android_control_scene_mode_t) 此标记可能出现在
场景模式是针对特定条件和捕获设置优化的自定义相机模式。 这是 这些场景模式的解释和实现由相机设备的实现者决定。它们在所有设备上的行为不会一致,任何给定的设备可能只实现这些模式的子集。 另请参阅: ACAMERA_CONTROL_AE_MODE 另请参阅: ACAMERA_CONTROL_AF_MODE 另请参阅: ACAMERA_CONTROL_AWB_MODE 另请参阅: ACAMERA_CONTROL_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_SETTINGS_OVERRIDE |
所需的 CaptureRequest 设置覆盖,通过该覆盖可以更早地应用某些键,从而更快地生效。 类型:int32 (acamera_metadata_enum_android_control_settings_override_t) 此标记可能出现在
CaptureRequest 中有一些键可以比其他键更早应用,当 CaptureRequest 中的控制不需要同时生效时。一个例子是缩放。缩放可以在相机流水线的后期阶段应用。相机设备收到 CaptureRequest 后,可以立即将请求的缩放值应用于流水线中已经存在的较早请求,从而缩短缩放延迟。 此键在捕获结果中的值反映了此捕获的控制是否被新的请求“覆盖”。这意味着如果一个捕获请求开启了设置覆盖,则较早请求的捕获结果将包含 假设设置覆盖可以将缩放速度提高 1 帧,以下示例说明了捕获会话开始时的加速效果
应用程序可以开启设置覆盖并正常使用缩放。该示例显示较后的缩放值(1.2x、1.4x、1.6x 和 1.8x)覆盖了较早请求(#1、#2、#3 和 #4)的缩放值(1.0x、1.2x、1.4x 和 1.8x)。 应用程序必须确保设置覆盖不会干扰需要 CaptureRequest 中所有控制在请求的输出目标上同时应用的用例。例如,如果应用程序使用 CameraCaptureSession::capture 进行静止捕获,并且重复请求立即使用覆盖设置了不同的缩放值,则正在进行的静止捕获的缩放值可能会被意外覆盖。 因此,强烈建议应用在进行静态/连拍捕获时关闭 settingsOverride,并且仅当存在重复的取景器请求且没有正在进行的静态/连拍捕获时再将其重新开启。 以下示例演示了设置 override 的过渡过程
此示例表明:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE |
视频防抖是否处于活动状态。 类型:byte (acamera_metadata_enum_android_control_video_stabilization_mode_t) 此标记可能出现在
视频防抖会自动对相机图像进行扭曲,以稳定连续帧之间的运动。 如果启用,视频防抖可以修改 在不同的视频防抖模式之间切换可能需要几帧才能初始化,相机设备会在捕获结果元数据中报告当前模式。例如,当请求“ON”模式时,前几帧捕获结果中的视频防抖模式可能仍为“OFF”,初始化完成后才会变为“ON”。 此外,对于支持防抖的设备,并非所有录制尺寸或帧率都支持防抖。可以保证,如果录制分辨率小于等于 1920 x 1080(宽度小于等于 1920,高度小于等于 1080),且录制帧率小于等于 30fps,则针对 MediaRecorder 或 MediaCodec 的输出会进行防抖。在其他尺寸下,如果录制输出未进行防抖,或者没有可进行防抖的输出 Surface 类型,CaptureResult 的 强烈建议应用在创建捕获会话之前,使用所需的视频防抖模式调用 ACameraDevice_createCaptureSessionWithSessionParameters。在许多设备上,视频防抖模式是一个会话参数。在会话创建时指定此参数有助于避免因默认值与第一个 CaptureRequest 之间的差异引起的重新配置延迟。 如果相机设备同时支持此模式和 OIS ( 如果视频防抖设置为“PREVIEW_STABILIZATION”,则会覆盖 另请参阅: ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE 另请参阅: ACAMERA_LENS_OPTICAL_STABILIZATION_MODE 另请参阅: ACAMERA_SCALER_CROP_REGION |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_ZOOM_RATIO |
所需的缩放比例 类型:float 此标记可能出现在
应用现在可以选择使用此标签指定所需的缩放级别,而不是使用 通过使用此控件,应用获得了一种更简单的缩放控制方式,它可以是光学和数字缩放的组合。例如,多摄像头系统可能包含多个具有不同焦距的镜头,用户可以通过切换镜头来实现光学变焦。在以下场景中使用 zoomRatio 有好处:
为了说明这一点,以下是对于一个有效阵列尺寸为
从上面的图示可以看出,使用 zoomRatio 时,cropRegion 的坐标系现在变为缩放后的有效视场,并由矩形 (0, 0, activeArrayWith, activeArrayHeight) 表示。AE/AWB/AF 区域和人脸也适用相同的坐标系。此坐标系更改不适用于 RAW 捕获及其相关元数据,例如 intrinsicCalibration 和 lensShadingMap。 使用与上述相同的假想示例,并假设输出流 #1 (640x480) 是取景器流,应用可以通过以下两种方式之一实现 2.0 倍缩放:
如果应用打算将 aeRegions 设置为取景器视场的左上角四分之一,则在将 zoomRatio 设置为 2.0 时, 使用 zoomRatio 控制缩放的一个限制是, 在捕获请求中,如果应用将 当应用请求逻辑多摄像头的物理流时,物理相机结果元数据中的 另请参阅: ACAMERA_CONTROL_AE_REGIONS 另请参阅: ACAMERA_CONTROL_ZOOM_RATIO 另请参阅: ACAMERA_SCALER_CROP_REGION |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_CONTROL_ZOOM_RATIO_RANGE |
此相机设备支持的最小和最大缩放比例。 类型:float[2] 此标记可能出现在
如果相机设备支持从 1 倍缩放缩小,则 minZoom 将小于 1.0,将 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS |
此列表列出了深度输出格式的每种格式/尺寸组合的最小帧持续时间。 类型:int64[4*n] 此标记可能出现在
这应对应于仅当该流处于活动状态时(所有处理(通常在 android.*.mode 中)设置为 OFF 或 FAST)的帧持续时间。 当在请求中使用多个流时,最小帧持续时间将是 max(单个流最小持续时间)。 流(特定格式、尺寸)的最小帧持续时间相同,无论该流是输入还是输出。 有关计算最大帧率的更多详细信息,请参阅 另请参阅: ACAMERA_SCALER_AVAILABLE_STALL_DURATIONS 另请参阅: ACAMERA_SENSOR_FRAME_DURATION |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION |
此列表列出了在提交 CaptureRequest 并将 另请参阅: ACAMERA_SENSOR_PIXEL_MODE 类型:int64[4*n] 此标记可能出现在
类似于 有关计算最大帧率的更多详细信息,请参阅 另请参阅: ACAMERA_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS 另请参阅: ACAMERA_SCALER_AVAILABLE_STALL_DURATIONS_MAXIMUM_RESOLUTION 另请参阅: ACAMERA_SENSOR_FRAME_DURATION 另请参阅: ACAMERA_SENSOR_PIXEL_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS |
此列表列出了深度流的每种输出格式/尺寸组合的最大停止持续时间。 类型:int64[4*n] 此标记可能出现在
停止持续时间是指对于包含非零停止流的重复请求,会在正常的最小帧持续时间上额外增加的时间。 这与用于深度流的 所有深度输出流格式都可能具有非零的停止持续时间。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS_MAXIMUM_RESOLUTION |
此列表列出了对于将 另请参阅: ACAMERA_SENSOR_PIXEL_MODE 类型:int64[4*n] 此标记可能出现在
类似于 另请参阅: ACAMERA_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS 另请参阅: ACAMERA_SENSOR_PIXEL_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS |
此相机设备支持的可用深度数据空间流配置(即格式、宽度、高度、输出/输入流)。 类型:int32[n*4] (acamera_metadata_enum_android_depth_available_depth_stream_configurations_t) 此标记可能出现在
这些是用于 dataSpace HAL_DATASPACE_DEPTH 的输出流配置。配置以 只有至少支持 HAL_PIXEL_FORMAT_Y16 密集深度图深度输出的设备才能包含此条目。 支持 HAL_PIXEL_FORMAT_BLOB 稀疏深度点云的设备必须在此列表中以 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION |
当提交 CaptureRequest 并将 另请参阅: ACAMERA_SENSOR_PIXEL_MODE 类型:int32[n*4] (acamera_metadata_enum_android_depth_available_depth_stream_configurations_maximum_resolution_t) 此标记可能出现在
类似于 另请参阅: ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS 另请参阅: ACAMERA_SENSOR_PIXEL_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS |
此列表列出了动态深度输出流的每种格式/尺寸组合的最小帧持续时间。 类型:int64[4*n] 此标记可能出现在
这应对应于仅当该流处于活动状态时(所有处理(通常在 android.*.mode 中)设置为 OFF 或 FAST)的帧持续时间。 当在请求中使用多个流时,最小帧持续时间将是 max(单个流最小持续时间)。 流(特定格式、尺寸)的最小帧持续时间相同,无论该流是输入还是输出。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION |
此列表列出了对于将 另请参阅: ACAMERA_SENSOR_PIXEL_MODE 类型:int64[4*n] 此标记可能出现在
类似于 另请参阅: ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS 另请参阅: ACAMERA_SENSOR_PIXEL_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS |
此列表列出了动态深度流的每种输出格式/尺寸组合的最大停止持续时间。 类型:int64[4*n] 此标记可能出现在
停止持续时间是指对于包含非零停止流的重复请求,会在正常的最小帧持续时间上额外增加的时间。 所有动态深度输出流都可能具有非零的停止持续时间。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS_MAXIMUM_RESOLUTION |
此列表列出了对于将 另请参阅: ACAMERA_SENSOR_PIXEL_MODE 类型:int64[4*n] 此标记可能出现在
类似于 另请参阅: ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS 另请参阅: ACAMERA_SENSOR_PIXEL_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS |
此相机设备支持的可用动态深度数据空间流配置(即格式、宽度、高度、输出/输入流)。 类型:int32[n*4] (acamera_metadata_enum_android_depth_available_dynamic_depth_stream_configurations_t) 此标记可能出现在
这些是用于 dataSpace DYNAMIC_DEPTH 的输出流配置。配置以 只有同时支持 HAL_PIXEL_FORMAT_Y16 密集深度图和 HAL_PIXEL_FORMAT_BLOB(具有相同尺寸或相同宽高比)深度输出的设备,才能具有动态深度数据空间流配置。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION |
当提交 CaptureRequest 并将 另请参阅: ACAMERA_SENSOR_PIXEL_MODE 类型:int32[n*4] (acamera_metadata_enum_android_depth_available_dynamic_depth_stream_configurations_maximum_resolution_t) 此标记可能出现在
类似于 另请参阅: ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS 另请参阅: ACAMERA_SENSOR_PIXEL_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_DEPTH_AVAILABLE_RECOMMENDED_DEPTH_STREAM_CONFIGURATIONS |
推荐的深度流配置,适用于常见的客户端用例。 类型:int32[n*5] 此标记可能出现在
有关数据表示形式,请参阅 另请参阅: ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS 另请参阅: ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE |
指示捕获请求是否可以同时针对 DEPTH16 / DEPTH_POINT_CLOUD 输出和正常的颜色输出(如 YUV_420_888、JPEG 或 RAW)。 类型:byte (acamera_metadata_enum_android_depth_depth_is_exclusive_t) 此标记可能出现在
如果为 TRUE,则不支持在单个捕获请求中同时包含深度和颜色输出。应用必须交错颜色和深度请求。如果为 FALSE,单个请求可以同时针对这两种输出类型。 通常,这种限制存在于需要发出特定模式或波长的光来测量深度值的相机设备上,这会导致在深度测量期间颜色图像损坏。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_DEPTH_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_DISTORTION_CORRECTION_AVAILABLE_MODES |
此相机设备支持的 另请参阅: ACAMERA_DISTORTION_CORRECTION_MODE 类型:byte[n] 此标记可能出现在
并非所有设备都必须支持此 API;此类设备将始终仅列出“OFF”。所有支持此 API 的设备都将列出 FAST 和 HIGH_QUALITY。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_DISTORTION_CORRECTION_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_DISTORTION_CORRECTION_MODE |
镜头失真校正模块的操作模式。 类型:byte (acamera_metadata_enum_android_distortion_correction_mode_t) 此标记可能出现在
镜头失真校正模块尝试通过修正相机设备光学系统中的径向、切向或其他几何像差来改善图像质量。如果可用, OFF 表示不进行失真校正。 FAST/HIGH_QUALITY 都表示相机设备将应用决定的失真校正。HIGH_QUALITY 模式表示相机设备将使用最高质量的校正算法,即使会降低捕获速率。FAST 表示相机设备在应用校正时不会降低捕获速率。如果任何校正都会降低捕获速率,FAST 可能与 OFF 相同。每个输出流都将应用类似程度的增强。 校正仅适用于 YUV、Y8、JPEG 或 DEPTH16 等已处理的输出;不适用于任何 RAW 输出。 对于支持此控件的设备,此控件将默认为 ON。禁用失真校正的应用需要特别注意测光区域、裁剪区域和人脸矩形的坐标系。当失真校正为 OFF 时,元数据坐标遵循 受此失真校正影响的元数据完整列表如下:
另请参阅: ACAMERA_CONTROL_AE_REGIONS 另请参阅: ACAMERA_CONTROL_AF_REGIONS 另请参阅: ACAMERA_CONTROL_AWB_REGIONS 另请参阅: ACAMERA_LENS_DISTORTION 另请参阅: ACAMERA_SCALER_CROP_REGION 另请参阅: ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE 另请参阅: ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_EDGE_AVAILABLE_EDGE_MODES |
此相机设备支持的 另请参阅: ACAMERA_EDGE_MODE 类型:byte[n] 此标记可能出现在
FULL 模式相机设备必须始终支持 OFF;支持 YUV_REPROCESSING 或 PRIVATE_REPROCESSING 的相机设备将列出 ZERO_SHUTTER_LAG;所有设备都将列出 FAST。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_EDGE_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_EDGE_MODE |
边缘增强的操作模式。 类型:byte (acamera_metadata_enum_android_edge_mode_t) 此标记可能出现在
边缘增强可改善捕获图像的清晰度和细节。OFF 表示相机设备不会应用任何增强。 FAST/HIGH_QUALITY 都表示相机设备将应用决定的增强。HIGH_QUALITY 模式表示相机设备将使用最高质量的增强算法,即使会降低捕获速率。FAST 表示相机设备在应用边缘增强时不会降低捕获速率。如果任何边缘增强都会降低捕获速率,FAST 可能与 OFF 相同。每个输出流都将应用类似程度的增强。 ZERO_SHUTTER_LAG 旨在供应用使用,这些应用在预览期间维护一个连续的高分辨率图像循环缓冲区,并在用户触发时从该缓冲区重新处理图像以生成最终捕获。在此模式下,相机设备对低分辨率流(低于最大录制分辨率)应用边缘增强以最大化预览质量,但不对此高分辨率流应用边缘增强,因为如果需要,以后会重新处理这些流。 对于 YUV_REPROCESSING,这些 FAST/HIGH_QUALITY 模式都表示相机设备将分别应用 FAST/HIGH_QUALITY YUV 域边缘增强。如果设置了 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_FLASH_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_FLASH_INFO_AVAILABLE |
此相机设备是否具有闪光灯单元。 类型:byte (acamera_metadata_enum_android_flash_info_available_t) 此标记可能出现在
如果没有闪光灯可用,将为 如果没有闪光灯单元,则任何闪光灯控件都无效。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_FLASH_INFO_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_FLASH_INFO_STRENGTH_DEFAULT_LEVEL |
通过 CameraManager::turnOnTorchWithStrengthLevel 设置的默认手电筒亮度级别。 类型:int32 此标记可能出现在
如果闪光灯单元可用,此值将大于或等于 1 且小于或等于 将手电筒亮度设置为高于默认级别(即 另请参阅: ACAMERA_FLASH_INFO_STRENGTH_DEFAULT_LEVEL 另请参阅: ACAMERA_FLASH_INFO_STRENGTH_MAXIMUM_LEVEL |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_FLASH_INFO_STRENGTH_MAXIMUM_LEVEL |
最大手电筒亮度级别。 类型:int32 此标记可能出现在
如果此值大于 1,则设备支持通过 CameraManager::turnOnTorchWithStrengthLevel 控制手电筒亮度级别。如果此值等于 1,则不支持手电筒亮度控制。对于没有闪光灯单元的设备,此键的值将为 null。 保证最大值在设备闪光灯寿命方面可以无限期安全使用,但对于许多用例来说可能过于刺眼。请使用默认手电筒亮度值以避免手电筒过亮的问题。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_FLASH_MODE |
相机设备闪光灯控制所需的模式。 类型:byte (acamera_metadata_enum_android_flash_mode_t) 此标记可能出现在
此控件仅当闪光灯单元可用时 ( 使用此控件时, 设置为 OFF 时,相机设备不会在此捕获中触发闪光灯。 设置为 SINGLE 时,相机设备将触发闪光灯,无论相机设备的自动曝光例程结果如何。在静态捕获情况下使用时,此控件应与自动曝光 (AE) 预捕获测光序列 ( 设置为 TORCH 时,闪光灯将持续开启。此模式可用于预览、自动对焦辅助、静态捕获或视频录制等用例。 闪光灯状态将由捕获结果元数据中的 另请参阅: ACAMERA_CONTROL_AE_MODE 另请参阅: ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER 另请参阅: ACAMERA_FLASH_INFO_AVAILABLE 另请参阅: ACAMERA_FLASH_STATE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_FLASH_SINGLE_STRENGTH_DEFAULT_LEVEL |
类型:int32 此标记可能出现在
如果闪光灯单元可用,此值将大于或等于 1 且小于或等于 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_FLASH_SINGLE_STRENGTH_MAX_LEVEL |
类型:int32 此标记可能出现在
在相机捕获模式下,当 另请参阅: ACAMERA_FLASH_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_FLASH_STATE |
闪光灯单元的当前状态。 类型:byte (acamera_metadata_enum_android_flash_state_t) 此标记可能出现在
当相机设备没有闪光灯单元时(即 在某些条件下,这将在 LEGACY 设备上可用。
在所有其他条件下,状态在 LEGACY 设备上将不可用(即为 另请参阅: ACAMERA_CONTROL_AE_MODE 另请参阅: ACAMERA_FLASH_INFO_AVAILABLE 另请参阅: ACAMERA_FLASH_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_FLASH_STRENGTH_LEVEL |
手动闪光灯控制激活时使用的闪光灯强度级别。 类型:int32 此标记可能出现在
在捕获模式下使用闪光灯强度级别,即当应用使用 使用 如果 当 AE 模式为 ON 且闪光灯模式为 TORCH 或 SINGLE 时,应用应确保 AE 模式、闪光灯模式和闪光灯强度级别在预捕获触发请求和最终捕获请求之间保持一致。在预捕获序列中设置的闪光灯强度级别用作相机设备的参考。实际强度可能会较低,自动曝光例程会确保预捕获和最终捕获之间在指定强度级别下进行适当的传感器曝光时间和感光度转换。 另请参阅: ACAMERA_CONTROL_AE_MODE 另请参阅: ACAMERA_FLASH_MODE 另请参阅: ACAMERA_FLASH_SINGLE_STRENGTH_DEFAULT_LEVEL 另请参阅: ACAMERA_FLASH_SINGLE_STRENGTH_MAX_LEVEL 另请参阅: ACAMERA_FLASH_TORCH_STRENGTH_DEFAULT_LEVEL 另请参阅: ACAMERA_FLASH_TORCH_STRENGTH_MAX_LEVEL |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_FLASH_TORCH_STRENGTH_DEFAULT_LEVEL |
类型:int32 此标记可能出现在
如果闪光灯单元可用,此值将大于或等于 1 且小于或等于 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_FLASH_TORCH_STRENGTH_MAX_LEVEL |
类型:int32 此标记可能出现在
在相机捕获模式下,当 请注意,此级别仅代表支持的级别数量(控制的粒度)。与此级别没有实际的物理功率单位绑定。 另请参阅: ACAMERA_FLASH_MODE 另请参阅: ACAMERA_FLASH_SINGLE_STRENGTH_MAX_LEVEL 另请参阅: ACAMERA_FLASH_TORCH_STRENGTH_MAX_LEVEL |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS |
此列表列出了 HEIC 输出格式的每种格式/尺寸组合的最小帧持续时间。 类型:int64[4*n] 此标记可能出现在
这应对应于仅当该流处于活动状态时(所有处理(通常在 android.*.mode 中)设置为 OFF 或 FAST)的帧持续时间。 当在请求中使用多个流时,最小帧持续时间将是 max(单个流最小持续时间)。 有关计算最大帧率的更多详细信息,请参阅 另请参阅: ACAMERA_SCALER_AVAILABLE_STALL_DURATIONS 另请参阅: ACAMERA_SENSOR_FRAME_DURATION |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION |
此列表列出了在提交 CaptureRequest 并将 另请参阅: ACAMERA_SENSOR_PIXEL_MODE 类型:int64[4*n] 此标记可能出现在
有关详细信息,请参阅 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_HEIC_AVAILABLE_HEIC_STALL_DURATIONS |
此列表列出了 HEIC 流的每种输出格式/尺寸组合的最大停止持续时间。 类型:int64[4*n] 此标记可能出现在
停止持续时间是指对于包含非零停止流的重复请求,会在正常的最小帧持续时间上额外增加的时间。 这与用于 HEIC 流的 所有 HEIC 输出流格式都可能具有非零的停止持续时间。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_HEIC_AVAILABLE_HEIC_STALL_DURATIONS_MAXIMUM_RESOLUTION |
此列表列出了对于将 另请参阅: ACAMERA_SENSOR_PIXEL_MODE 类型:int64[4*n] 此标记可能出现在
有关详细信息,请参阅 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS |
此相机设备支持的可用 HEIC (ISO/IEC 23008-12) 流配置(即格式、宽度、高度、输出/输入流)。 类型:int32[n*4] (acamera_metadata_enum_android_heic_available_heic_stream_configurations_t) 此标记可能出现在
配置以 如果相机设备支持 HEIC 图像格式,它将支持与 JPEG 图像格式相关的流组合集相同的一组流组合,这取决于设备的硬件级别和功能。 与 JPEG 相关的所有静态、控制和动态元数据标签都适用于 HEIC 格式。不支持同时配置 JPEG 和 HEIC 流。 所有配置元组 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION |
此相机设备支持的可用 HEIC (ISO/IEC 23008-12) 流配置(即格式、宽度、高度、输出/输入流)。 类型:int32[n*4] (acamera_metadata_enum_android_heic_available_heic_stream_configurations_maximum_resolution_t) 此标记可能出现在
有关详细信息,请参阅 所有配置元组 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_HEIC_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES |
此相机设备支持的 另请参阅: ACAMERA_HOT_PIXEL_MODE 类型:byte[n] 此标记可能出现在
FULL 模式相机设备将始终支持 FAST。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_HOT_PIXEL_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_HOT_PIXEL_MODE |
热像素校正的操作模式。 类型:byte (acamera_metadata_enum_android_hot_pixel_mode_t) 此标记可能出现在
热像素校正会插值或以其他方式移除不能准确测量入射光的像素(即固定在任意值或过度敏感的像素)。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_INFO_DEVICE_STATE_ORIENTATIONS |
类型:int64[2*n] 此标记可能出现在
HAL 必须为每个支持的设备状态按位组合填充 (hardware::camera::provider::V2_5::DeviceState, sensorOrientation) 对的数组。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_INFO_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL |
通常对相机设备的整体功能集进行分类。 类型:byte (acamera_metadata_enum_android_info_supported_hardware_level_t) 此标记可能出现在
支持的硬件级别是相机设备功能的高级描述,将多种功能汇总在一个字段中。每个级别都在前一个级别基础上增加了额外功能,并且始终是前一个级别的严格超集。排序为 从
概括地说,级别如下:
有关支持功能的完整描述,请参阅各个级别枚举。如果需要, 某些功能不属于任何特定的硬件级别或功能,必须单独查询。这些功能包括:
另请参阅: ACAMERA_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES 另请参阅: ACAMERA_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION 另请参阅: ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION 另请参阅: ACAMERA_REQUEST_AVAILABLE_CAPABILITIES 另请参阅: ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE 另请参阅: ACAMERA_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_INFO_VERSION |
关于相机设备的制造商版本信息的短字符串,例如 ISP 硬件、传感器等。 类型:byte 此标记可能出现在
这可用于 jpeg EXIF 中的 TAG_IMAGE_DESCRIPTION。如果设备上没有版本信息,此键可能缺失。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_JPEGR_AVAILABLE_JPEG_R_MIN_FRAME_DURATIONS |
此列表列出了 Jpeg/R 输出格式的每种格式/尺寸组合的最小帧持续时间。 类型:int64[4*n] 此标记可能出现在
这应对应于仅当该流处于活动状态时(所有处理(通常在 android.*.mode 中)设置为 OFF 或 FAST)的帧持续时间。 当在请求中使用多个流时,最小帧持续时间将是 max(单个流最小持续时间)。 有关计算最大帧率的更多详细信息,请参阅 另请参阅: ACAMERA_SCALER_AVAILABLE_STALL_DURATIONS 另请参阅: ACAMERA_SENSOR_FRAME_DURATION |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_JPEGR_AVAILABLE_JPEG_R_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION |
此列表列出了对于将 另请参阅: ACAMERA_SENSOR_PIXEL_MODE 类型:int64[4*n] 此标记可能出现在
有关详细信息,请参阅 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_JPEGR_AVAILABLE_JPEG_R_STALL_DURATIONS |
此列表列出了 Jpeg/R 流的每种输出格式/尺寸组合的最大停止持续时间。 类型:int64[4*n] 此标记可能出现在
停止持续时间是指对于包含非零停止流的重复请求,会在正常的最小帧持续时间上额外增加的时间。 这与用于 Jpeg/R 流的 所有 Jpeg/R 输出流格式都可能具有非零的停止持续时间。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_JPEGR_AVAILABLE_JPEG_R_STALL_DURATIONS_MAXIMUM_RESOLUTION |
此列表列出了对于将 另请参阅: ACAMERA_SENSOR_PIXEL_MODE 类型:int64[4*n] 此标记可能出现在
有关详细信息,请参阅 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS |
此相机设备支持的可用 Jpeg/R 流配置(即格式、宽度、高度、输出/输入流)。 类型:int32[n*4] (acamera_metadata_enum_android_jpegr_available_jpeg_r_stream_configurations_t) 此标记可能出现在
配置以 如果相机设备支持 Jpeg/R,它将支持与 P010 相同的流组合集,这取决于设备的硬件级别和功能。设备支持的与 Jpeg/R(或 P010)相关的流组合由设备的硬件级别和功能决定。 与 JPEG 相关的所有静态、控制和动态元数据标签都适用于 Jpeg/R 格式。不支持同时配置 JPEG 和 Jpeg/R 流。 所有配置元组 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION |
此相机设备支持的可用 Jpeg/R 流配置(即格式、宽度、高度、输出/输入流)。 类型:int32[n*4] (acamera_metadata_enum_android_jpegr_available_jpeg_r_stream_configurations_maximum_resolution_t) 此标记可能出现在
有关详细信息,请参阅 所有配置元组 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_JPEGR_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_JPEG_AVAILABLE_THUMBNAIL_SIZES |
此相机设备支持的 另请参阅: ACAMERA_JPEG_THUMBNAIL_SIZE 类型:int32[2*n] 此标记可能出现在
此列表将包含至少一个非零分辨率,以及用于指示不生成缩略图的 对于此尺寸列表,将满足以下条件:
此列表也用作 HEIC 图像格式捕获支持的缩略图尺寸。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_JPEG_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_JPEG_GPS_COORDINATES |
要包含在输出 JPEG EXIF 中的 GPS 坐标。 类型:double[3] 此标记可能出现在
此标签也用于 HEIC 图像捕获。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_JPEG_GPS_PROCESSING_METHOD |
描述 GPS 算法的 32 个字符,要包含在 EXIF 中。 类型:byte 此标记可能出现在
此标签也用于 HEIC 图像捕获。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_JPEG_GPS_TIMESTAMP |
进行 GPS 定位的时间,要包含在 EXIF 中。 类型:int64 此标记可能出现在
此标签也用于 HEIC 图像捕获。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_JPEG_ORIENTATION |
JPEG 图像的方向。 类型:int32 此标记可能出现在
为了竖直观看 JPEG 图片,相对于相机方向需要顺时针旋转的角度(以度为单位)。 相机设备可以将此值编码到 JPEG EXIF 头部,或者旋转图像数据以匹配此方向。当图像数据被旋转时,缩略图数据也会被旋转。此外,如果图像数据被旋转,Image::getWidth 和 Image::getHeight 将不会更新以反映旋转后图像的高度和宽度。 请注意,此方向是相对于 对于非 EXTERNAL 的相机传感器,要从 Android 传感器 API 给出的设备方向进行转换,可以使用以下示例代码:
对于 EXTERNAL 相机,传感器方向将始终设置为 0,并且 facing 也将设置为 EXTERNAL。在这种情况下,上述代码不适用。 此标签也用于描述 HEIC 图像捕获的方向,在这种情况下,旋转通过 EXIF orientation flag 反映,而不是通过旋转图像数据本身。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_JPEG_QUALITY |
最终 JPEG 图像的压缩质量。 类型:byte 此标记可能出现在
典型使用范围是 85-95。此标签也用于描述 HEIC 图像捕获的质量。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_JPEG_THUMBNAIL_QUALITY |
JPEG 缩略图的压缩质量。 类型:byte 此标记可能出现在
此标签也用于描述 HEIC 图像捕获的质量。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_JPEG_THUMBNAIL_SIZE |
嵌入式 JPEG 缩略图的分辨率。 类型:int32[2] 此标记可能出现在
当设置为 (0, 0) 值时,JPEG EXIF 将不包含缩略图,但捕获的 JPEG 仍然是有效图像。 为获得最佳效果,在请求 JPEG 图像时,所选的缩略图尺寸应与主 JPEG 输出具有相同的纵横比。 如果缩略图图像的纵横比与 JPEG 主图像的纵横比不同,相机设备将通过从主图像中裁剪来创建缩略图。例如,如果主图像的纵横比为 4:3,而缩略图图像的纵横比为 16:9,则主图像将垂直裁剪(信箱式)以生成缩略图图像。当纵横比不同时,缩略图图像的视野 (FOV) 总是小于主图像的视野。 当请求非零角度的 ACAMERA_JPEG_ORIENTATION 时,相机设备将通过以下任一方式处理缩略图旋转
该标记也用作 HEIC 图像格式捕获的缩略图尺寸,在这种情况下,缩略图旋转由 EXIF 方向标志 反映,而不是通过旋转缩略图数据本身来反映。 另请参阅: ACAMERA_JPEG_ORIENTATION |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LENS_APERTURE |
所需的镜头光圈大小,表示为镜头焦距与有效光圈直径之比。 类型:float 此标记可能出现在
仅在具有可变光圈镜头的相机设备上支持设置此值。 当支持此功能且 ACAMERA_CONTROL_AE_MODE 为 OFF 时,可以与 ACAMERA_SENSOR_EXPOSURE_TIME、ACAMERA_SENSOR_SENSITIVITY 和 ACAMERA_SENSOR_FRAME_DURATION 一起设置此值,以实现手动曝光控制。 请求的光圈值可能需要几帧才能达到请求的值;相机设备将在光圈变化时,在捕获结果元数据中报告当前(中间)光圈大小。当光圈仍在变化时,ACAMERA_LENS_STATE 将设置为 MOVING。 当支持此功能且 ACAMERA_CONTROL_AE_MODE 为 ON 模式之一时,相机设备自动曝光算法将覆盖此值,然后将覆盖后的值在相应的结果中提供给用户。 另请参阅: ACAMERA_CONTROL_AE_MODE 另请参阅: ACAMERA_LENS_STATE 另请参阅: ACAMERA_SENSOR_EXPOSURE_TIME 另请参阅: ACAMERA_SENSOR_FRAME_DURATION 另请参阅: ACAMERA_SENSOR_SENSITIVITY |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LENS_DISTORTION |
用于校正此相机设备的径向和切向镜头畸变的校正系数。 替换了已弃用的 ACAMERA_LENS_RADIAL_DISTORTION 字段,该字段定义不一致。 另请参阅:ACAMERA_LENS_RADIAL_DISTORTION 类型:float[5] 此标记可能出现在
三个径向畸变系数
此处,
像素坐标定义在与 ACAMERA_LENS_INTRINSIC_CALIBRATION 校准字段相关的坐标系中;请参阅该条目了解映射阶段的详细信息。 最后, 使用的畸变模型是 Brown-Conrady 模型。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LENS_DISTORTION_MAXIMUM_RESOLUTION |
用于校正此相机设备的径向和切向镜头畸变的校正系数,适用于将 ACAMERA_SENSOR_PIXEL_MODE 设置为 CameraMetadata::SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION 的 CaptureRequest。 另请参阅: ACAMERA_SENSOR_PIXEL_MODE 类型:float[5] 此标记可能出现在
类似于 ACAMERA_LENS_DISTORTION,当 ACAMERA_SENSOR_PIXEL_MODE 设置为 CameraMetadata::SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION 时。 另请参阅: ACAMERA_LENS_DISTORTION 另请参阅: ACAMERA_SENSOR_PIXEL_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LENS_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LENS_FACING |
相机相对于设备屏幕的朝向。 类型:byte (acamera_metadata_enum_android_lens_facing_t) 此标记可能出现在
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LENS_FILTER_DENSITY |
镜头中性密度滤镜的所需设置。 类型:float 此标记可能出现在
大多数相机设备不支持此控制。 镜头滤镜通常用于降低传感器暴露的光量(以 EV 步长测量)。此处使用的 EV 步长是标准对数表示,为非负值,与到达传感器的光量成反比。例如,将其设置为 0 将不会减少入射光,设置为 2 则表示滤镜设置为减少两个档位(使到达传感器的光量为之前的 1/4)。 镜头滤镜密度可能需要几帧才能变为请求的值。当滤镜密度仍在变化时,ACAMERA_LENS_STATE 将设置为 MOVING。 另请参阅: ACAMERA_LENS_STATE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LENS_FOCAL_LENGTH |
所需的镜头焦距;用于光学变焦。 类型:float 此标记可能出现在
此设置控制相机设备镜头的物理焦距。更改焦距会改变相机设备的视野,通常用于光学变焦。 与 ACAMERA_LENS_FOCUS_DISTANCE 和 ACAMERA_LENS_APERTURE 一样,此设置不会立即应用,镜头可能需要几帧才能改变到请求的焦距。当焦距仍在变化时,ACAMERA_LENS_STATE 将设置为 MOVING。 大多数设备不支持通过此控制进行光学变焦。从 API 级别 30 开始,相机设备可以通过 ACAMERA_CONTROL_ZOOM_RATIO 控制结合光学变焦和数字变焦。 另请参阅: ACAMERA_CONTROL_ZOOM_RATIO 另请参阅: ACAMERA_LENS_APERTURE 另请参阅: ACAMERA_LENS_FOCUS_DISTANCE 另请参阅: ACAMERA_LENS_STATE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LENS_FOCUS_DISTANCE |
所需的最清晰焦平面距离,从镜头最前表面测量。 类型:float 此标记可能出现在
对于定焦相机,此值应为零 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LENS_FOCUS_RANGE |
清晰对焦(景深)的场景距离范围。 类型:float[2] 此标记可能出现在
如果不支持可变焦距,仍可报告固定景深范围 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LENS_INFO_AVAILABLE_APERTURES |
此相机设备支持的 ACAMERA_LENS_APERTURE 的光圈大小值列表。 另请参阅: ACAMERA_LENS_APERTURE 类型:float[n] 此标记可能出现在
如果相机设备不支持可变镜头光圈,则此列表将仅包含一个值,即固定光圈大小。 如果相机设备支持可变光圈,则此列表中的光圈值将按升序排列。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LENS_INFO_AVAILABLE_FILTER_DENSITIES |
此相机设备支持的 ACAMERA_LENS_FILTER_DENSITY 的中性密度滤镜值列表。 另请参阅: ACAMERA_LENS_FILTER_DENSITY 类型:float[n] 此标记可能出现在
如果此相机设备不支持中性密度滤镜,则此列表将仅包含 0。否则,此列表将包含相机设备支持的所有滤镜密度,按升序排列。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SCALER_AVAILABLE_FOCAL_LENGTHS |
此相机设备支持的 ACAMERA_LENS_FOCAL_LENGTH 的焦距列表。 另请参阅: ACAMERA_LENS_FOCAL_LENGTH 类型:float[n] 此标记可能出现在
如果不支持光学变焦,此列表将仅包含一个对应于设备的固定焦距的值。否则,此列表将包含相机设备支持的所有焦距,按升序排列。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION |
此相机设备支持的 ACAMERA_LENS_OPTICAL_STABILIZATION_MODE 的光学图像稳定 (OIS) 模式列表。 另请参阅: ACAMERA_LENS_OPTICAL_STABILIZATION_MODE 类型:byte[n] 此标记可能出现在
如果给定的相机设备不支持 OIS,则此列表将仅包含 OFF。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LENS_INFO_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION |
镜头对焦距离校准质量。 类型:byte (acamera_metadata_enum_android_lens_info_focus_distance_calibration_t) 此标记可能出现在
镜头对焦距离校准质量决定了与对焦相关的元数据条目的可靠性,即 ACAMERA_LENS_FOCUS_DISTANCE、ACAMERA_LENS_FOCUS_RANGE、ACAMERA_LENS_INFO_HYPERFOCAL_DISTANCE 和 ACAMERA_LENS_INFO_MINIMUM_FOCUS_DISTANCE。 APPROXIMATE 和 CALIBRATED 设备以屈光度(1/米)为单位报告对焦元数据,因此 UNCALIBRATED 设备不使用可以直接与任何实际物理测量值相比的单位,但 另请参阅: ACAMERA_LENS_FOCUS_DISTANCE 另请参阅: ACAMERA_LENS_FOCUS_RANGE 另请参阅: ACAMERA_LENS_INFO_HYPERFOCAL_DISTANCE 另请参阅: ACAMERA_LENS_INFO_MINIMUM_FOCUS_DISTANCE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LENS_INFO_HYPERFOCAL_DISTANCE |
此镜头的超焦距。 类型:float 此标记可能出现在
如果镜头不是定焦,当 ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION 为 APPROXIMATE 或 CALIBRATED 时,相机设备将报告此字段。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LENS_INFO_MINIMUM_FOCUS_DISTANCE |
镜头最前表面能够实现清晰对焦的最短距离。 类型:float 此标记可能出现在
如果镜头是定焦,此值将为 0。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LENS_INFO_SHADING_MAP_SIZE |
镜头阴影图的维度。 类型:int32[2] 此标记可能出现在
该图应在 30-40 行和列的数量级,且必须小于 64x64。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LENS_INTRINSIC_CALIBRATION |
此相机设备的内参校准参数。 类型:float[5] 此标记可能出现在
描述从相机中心 3D 坐标到传感器像素坐标转换的五个校准参数
其中 这些参数通常用于变换矩阵 K 中
然后可以与相机姿态旋转
(请注意,从相机坐标映射到世界坐标时,poseTranslation 的符号取反,并乘以旋转矩阵)。 其中
因此 请注意,此变换的坐标系是 ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE 系统,其中 对于相机设备,像素 另请参阅: ACAMERA_LENS_DISTORTION 另请参阅: ACAMERA_LENS_POSE_ROTATION 另请参阅: ACAMERA_LENS_POSE_TRANSLATION 另请参阅: ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE 另请参阅: ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LENS_INTRINSIC_CALIBRATION_MAXIMUM_RESOLUTION |
将 ACAMERA_SENSOR_PIXEL_MODE 设置为 CameraMetadata::SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION 时,此相机设备的内参校准参数。 另请参阅: ACAMERA_SENSOR_PIXEL_MODE 类型:float[5] 此标记可能出现在
类似于 ACAMERA_LENS_INTRINSIC_CALIBRATION,当 ACAMERA_SENSOR_PIXEL_MODE 设置为 CameraMetadata::SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION 时。 另请参阅: ACAMERA_LENS_INTRINSIC_CALIBRATION 另请参阅: ACAMERA_SENSOR_PIXEL_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LENS_OPTICAL_STABILIZATION_MODE |
设置相机设备在捕获图像时是否使用光学图像稳定 (OIS)。 类型:byte (acamera_metadata_enum_android_lens_optical_stabilization_mode_t) 此标记可能出现在
OIS 用于补偿捕获过程中相机微小移动导致的运动模糊。与数字图像稳定 (ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE) 不同,OIS 利用机械元件稳定相机传感器,因此在相机抖动变得明显之前允许更长的曝光时间。 在不同的光学稳定模式之间切换可能需要几帧来初始化,相机设备将在捕获结果元数据中报告当前模式。例如,当请求“ON”模式时,前几个捕获结果中的光学稳定模式可能仍为“OFF”,初始化完成后将变为“ON”。 如果相机设备同时支持 OIS 和数字图像稳定 (ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE),同时开启这两种模式可能会产生不良交互,因此建议不要同时启用两者。 如果 ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE 设置为“PREVIEW_STABILIZATION”,则 ACAMERA_LENS_OPTICAL_STABILIZATION_MODE 将被覆盖。相机子系统可能会选择在基于软件的稳定之外开启基于硬件的图像稳定,如果它认为合适的话。此键在捕获结果中的值将反映选择了哪种 OIS 模式。 并非所有设备都支持 OIS;有关可用控件,请参阅 ACAMERA_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION。 另请参阅: ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE 另请参阅: ACAMERA_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION 另请参阅: ACAMERA_LENS_OPTICAL_STABILIZATION_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LENS_POSE_REFERENCE |
ACAMERA_LENS_POSE_TRANSLATION 的原点,以及 ACAMERA_LENS_POSE_TRANSLATION 和 ACAMERA_LENS_POSE_ROTATION 的精度。 另请参阅: ACAMERA_LENS_POSE_ROTATION 另请参阅: ACAMERA_LENS_POSE_TRANSLATION 类型:byte (acamera_metadata_enum_android_lens_pose_reference_t) 此标记可能出现在
不同的校准方法和使用案例可能会根据选择的坐标原点产生更好或更差的结果。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LENS_POSE_ROTATION |
相机相对于传感器坐标系的朝向。 类型:float[4] 此标记可能出现在
描述从 Android 传感器坐标系到相机对齐坐标系(其中 X 轴与图像传感器的长边对齐,Y 轴与图像传感器的短边对齐,Z 轴与传感器的光轴对齐)的四元数旋转的四个系数。 要将四元数系数
要创建一个应用此四元数定义的旋转的 3x3 旋转矩阵,可以使用以下矩阵
然后可以使用此矩阵将旋转应用于列向量点
其中 如果 ACAMERA_LENS_POSE_REFERENCE 是 UNDEFINED,则相机设备无法准确表示四元数旋转,并将使用与其默认朝向匹配的默认值表示。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LENS_POSE_TRANSLATION |
相机光学中心的位置。 类型:float[3] 此标记可能出现在
相机设备镜头光学中心的位置,表示为三维向量 在 Android P 之前,或当 ACAMERA_LENS_POSE_REFERENCE 为 PRIMARY_CAMERA 时,此位置是相对于与此相机朝向相同的最大相机设备的光学中心,在 Android 传感器坐标轴 中表示。请注意,仅轴定义与传感器坐标系共享,原点不共享。 如果此设备是具有给定朝向的最大或唯一的相机设备,则此位置将为 要在两个朝向相同的相机之间转换像素坐标,首先必须校正源相机 ACAMERA_LENS_DISTORTION。然后需要应用源相机 ACAMERA_LENS_INTRINSIC_CALIBRATION,接着是源相机的 ACAMERA_LENS_POSE_ROTATION、源相机相对于目标相机的平移、目标相机的 ACAMERA_LENS_POSE_ROTATION,最后是目标相机 ACAMERA_LENS_INTRINSIC_CALIBRATION 的逆。这样可以在目标相机像素坐标中获得无径向畸变的坐标。 要将此与目标相机的真实图像进行比较,目标相机图像需要先校正径向畸变,然后才能进行比较或采样。 当 ACAMERA_LENS_POSE_REFERENCE 为 GYROSCOPE 时,此位置是相对于设备上主陀螺仪的中心。轴定义与 PRIMARY_CAMERA 相同。 当 ACAMERA_LENS_POSE_REFERENCE 为 UNDEFINED 时,此位置无法由相机设备准确表示,将表示为 当 ACAMERA_LENS_POSE_REFERENCE 为 AUTOMOTIVE 时,此位置是相对于汽车传感器坐标系的原点,该原点位于后轴中心。 另请参阅: ACAMERA_LENS_DISTORTION 另请参阅: ACAMERA_LENS_INTRINSIC_CALIBRATION 另请参阅: ACAMERA_LENS_POSE_REFERENCE 另请参阅: ACAMERA_LENS_POSE_ROTATION |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LENS_RADIAL_DISTORTION |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LENS_STATE |
当前镜头状态。 类型:byte (acamera_metadata_enum_android_lens_state_t) 此标记可能出现在
对于镜头参数 ACAMERA_LENS_FOCAL_LENGTH、ACAMERA_LENS_FOCUS_DISTANCE、ACAMERA_LENS_FILTER_DENSITY 和 ACAMERA_LENS_APERTURE,当请求更改时,可能需要几帧才能达到请求的值。此状态指示镜头参数的当前状态。 当状态为 STATIONARY 时,镜头参数未发生变化。这可能是因为所有参数都是固定的,或者是因为镜头有足够的时间达到最近请求的值。如果相机设备的这些镜头参数都不可更改,如下所列
则此状态将始终为 STATIONARY。 当状态为 MOVING 时,表示至少一个镜头参数正在发生变化。 另请参阅: ACAMERA_LENS_APERTURE 另请参阅: ACAMERA_LENS_FILTER_DENSITY 另请参阅: ACAMERA_LENS_FOCAL_LENGTH 另请参阅: ACAMERA_LENS_FOCUS_DISTANCE 另请参阅: ACAMERA_LENS_INFO_AVAILABLE_APERTURES 另请参阅: ACAMERA_LENS_INFO_AVAILABLE_FILTER_DENSITIES 另请参阅: ACAMERA_LENS_INFO_AVAILABLE_FOCAL_LENGTHS 另请参阅: ACAMERA_LENS_INFO_MINIMUM_FOCUS_DISTANCE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID |
包含底层活动物理相机 ID 的字符串。 类型:byte 此标记可能出现在
支持逻辑相机的活动物理相机的 ID。所有与物理相机无关的相机流和元数据都将源自此物理相机。 对于由物理相机组成的逻辑相机,其中每个相机的镜头特性不同,相机设备可能会在应用更改 FOCAL_LENGTH 或 SCALER_CROP_REGION 时选择在物理相机之间切换。在镜头切换时,此结果元数据反映新的活动物理相机 ID。 如果相机设备通过 ACAMERA_REQUEST_AVAILABLE_RESULT_KEYS 宣传此键,则此键可用。如果可用,则必须是支持此逻辑多相机的有效物理 ID 之一。如果此键对于逻辑多相机不可用,相机设备实现仍可能根据使用案例在不同的活动物理相机之间切换,但当前活动物理相机信息将无法提供给应用。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_SENSOR_CROP_REGION |
将为此捕获读取的活动物理传感器的当前区域。 类型:int32[4] 此标记可能出现在
此捕获结果与非逻辑单相机传感器设备上的 ACAMERA_SCALER_CROP_REGION 匹配。对于响应 ACAMERA_CONTROL_ZOOM_RATIO 可以在多个物理设备之间切换的逻辑相机,此捕获结果的行为将不同于 ACAMERA_SCALER_CROP_REGION 和 ACAMERA_CONTROL_ZOOM_RATIO(其中两者组合反映了逻辑相机输出的有效变焦和裁剪)。相反,此捕获结果值将描述活动物理设备的变焦和裁剪。此捕获结果值会更改的一些示例包括不同物理镜头之间的切换、常规像素模式和最大分辨率像素模式之间的切换以及通过设备的数字或光学范围。此捕获结果在畸变校正方面类似于 ACAMERA_SCALER_CROP_REGION。当畸变校正模式为 OFF 时,坐标系遵循 ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE,其中 (0, 0) 是预校正活动阵列的左上角像素。当畸变校正模式不为 OFF 时,坐标系遵循 ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE,其中 (0, 0) 是活动阵列的左上角像素。 对于具有 CameraMetadata::REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR 功能的相机设备或 CameraCharacteristics::getAvailableCaptureRequestKeys 列出 ACAMERA_SENSOR_PIXEL_MODE 的设备,必须使用当前活动物理设备的 ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION / ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION 作为将 ACAMERA_SENSOR_PIXEL_MODE 设置为 CameraMetadata::SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION 的请求的坐标系。 数据表示为 int[4],映射到(左、上、宽、高)。 另请参阅: ACAMERA_CONTROL_ZOOM_RATIO 另请参阅: ACAMERA_SCALER_CROP_REGION 另请参阅: ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE 另请参阅: ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION 另请参阅: ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE 另请参阅: ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION 另请参阅: ACAMERA_SENSOR_PIXEL_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LOGICAL_MULTI_CAMERA_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS |
包含底层物理相机 ID 的字符串。 类型:byte[n] 此标记可能出现在
对于逻辑相机,这是所有底层物理相机 ID 的串联。物理相机 ID 的 null 终止符必须保留,以便可以使用 '\0' 对整个字符串进行标记化,生成物理相机 ID 列表。 例如,如果逻辑相机的物理相机 ID 是“2”和“3”,则此标签的值将为 ['2', '\0', '3', '\0']。 物理相机 ID 的数量必须不少于 2。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE |
物理相机之间帧时间戳同步的精度 类型:byte (acamera_metadata_enum_android_logical_multi_camera_sensor_sync_type_t) 此标记可能出现在
帧时间戳同步的精度决定了物理相机同时开始曝光的能力。如果 sensorSyncType 是 CALIBRATED,物理相机传感器通常以主从模式运行,其中一个传感器为另一个传感器生成时序信号,从而使其快门时间同步。对于 APPROXIMATE sensorSyncType,相机传感器通常以主主模式运行,两个传感器都使用自己的时序发生器,并且它们的曝光开始时间可能存在偏移。 在这两种情况下,为特定捕获请求生成的所有图像仍然带有相同的时间戳,因此可以用来查找匹配的帧号和 onCaptureStarted 回调。 此标签仅适用于逻辑相机设备支持来自不同物理相机的并发物理流的情况。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES |
此相机设备支持的 ACAMERA_NOISE_REDUCTION_MODE 的降噪模式列表。 另请参阅: ACAMERA_NOISE_REDUCTION_MODE 类型:byte[n] 此标记可能出现在
Full-capability 相机设备将始终支持 OFF 和 FAST。 支持 YUV_REPROCESSING 或 PRIVATE_REPROCESSING 的相机设备将支持 ZERO_SHUTTER_LAG。 Legacy-capability 相机设备将仅支持 FAST 模式。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_NOISE_REDUCTION_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_NOISE_REDUCTION_MODE |
降噪算法的操作模式。 类型:byte (acamera_metadata_enum_android_noise_reduction_mode_t) 此标记可能出现在
降噪算法通过去除捕获过程中添加的过多噪声(尤其是在黑暗条件下),试图提高图像质量。 OFF 表示相机设备不会应用任何降噪,无论是在 raw 域还是 YUV 域。 MINIMAL 表示仅启用传感器 raw 域基本降噪,以去除去马赛克或其他处理伪影。对于 YUV_REPROCESSING,MINIMAL 与 OFF 相同。此模式是可选的,并非所有设备都支持。应用在使用前应检查 ACAMERA_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES。 FAST/HIGH_QUALITY 都表示将应用相机设备确定的噪声过滤。HIGH_QUALITY 模式表示相机设备将使用最高质量的噪声过滤算法,即使会降低捕获速率。FAST 表示相机设备在应用噪声过滤时不会降低捕获速率。如果列出 MINIMAL,则 FAST 可能与 MINIMAL 相同,如果任何噪声过滤会降低捕获速率,则可能与 OFF 相同。每个输出流将应用相似程度的增强。 ZERO_SHUTTER_LAG 旨在供那些在预览期间维护高分辨率图像的连续循环缓冲区,并在用户触发时将该缓冲区中的图像重新处理为最终捕获的应用使用。在此模式下,相机设备对低分辨率流(低于最大录制分辨率)应用降噪以最大化预览质量,但不对高分辨率流应用降噪,因为这些流如果需要稍后会重新处理。 对于 YUV_REPROCESSING,这些 FAST/HIGH_QUALITY 模式都表示相机设备将分别应用 FAST/HIGH_QUALITY YUV 域降噪。如果设置了 android.reprocess.effectiveExposureFactor,相机设备可能会根据其调整降噪参数以获得最佳图像质量。 另请参阅: ACAMERA_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_REQUEST_AVAILABLE_CAPABILITIES |
此相机设备宣传完全支持的功能列表。 类型:byte[n] (acamera_metadata_enum_android_request_available_capabilities_t) 此标记可能出现在
功能是相机设备为了能够满足一个或多个使用案例而做出的契约。 列出某个功能保证了支持常见用途所需的所有功能集都将可用。 在特定的相机设备实现上,可能可以使用不受支持功能所提供的功能子集;为此,请查询 ACAMERA_REQUEST_AVAILABLE_REQUEST_KEYS、ACAMERA_REQUEST_AVAILABLE_RESULT_KEYS、ACAMERA_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS 中的每一个。 以下功能保证在 ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL
其他功能可能在 FULL 或 LIMITED 设备上可用,但应用应查询此键以确定。 另请参阅: ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL 另请参阅: ACAMERA_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS 另请参阅: ACAMERA_REQUEST_AVAILABLE_REQUEST_KEYS 另请参阅: ACAMERA_REQUEST_AVAILABLE_RESULT_KEYS |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS |
相机设备可用于 ACameraManager_getCameraCharacteristics 的所有键列表。 类型:int32[n] 此标记可能出现在
此条目遵循与 ACAMERA_REQUEST_AVAILABLE_RESULT_KEYS 相同的规则(除了适用于 CameraCharacteristics 而非 CaptureResult)。详情请见上文。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP |
相机设备支持的所有可能的色彩空间配置文件列表。 类型:int64[n*3] (acamera_metadata_enum_android_request_available_color_space_profiles_map_t) 此标记可能出现在
色彩空间配置文件是色彩空间、图像格式和动态范围配置文件的组合。如果相机不支持 CameraCharacteristics::REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT 功能,动态范围配置文件将始终是 DynamicRangeProfiles::STANDARD。相机客户端可以使用 SessionConfiguration::setColorSpace 选择色彩空间。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP |
所有可用 10 位动态范围配置文件及其捕获请求约束的映射。 类型:int64[n*3] (acamera_metadata_enum_android_request_available_dynamic_range_profiles_map_t) 此标记可能出现在
支持 10 位输出功能 CameraCharacteristics::REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT 的设备必须列出其支持的动态范围配置文件。如果相机无法在单个捕获请求中支持所有可能的配置文件组合,则也必须在此处列出约束。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS |
可为支持逻辑多相机的物理设备覆盖的可用请求键的子集。 类型:int32[n] 此标记可能出现在
这是 ACAMERA_REQUEST_AVAILABLE_REQUEST_KEYS 的子集,其中包含可以使用 Builder::setPhysicalCameraKey 覆盖的键列表。此类请求键的相应值可以通过调用 Builder::getPhysicalCameraKey 获取。包含单个物理设备请求的捕获请求必须通过 Set) 构建。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_REQUEST_AVAILABLE_REQUEST_KEYS |
相机设备可用于 ACaptureRequest 的所有键列表。 类型:int32[n] 此标记可能出现在
尝试将未在此处列出的键设置到 CaptureRequest 中将导致请求无效并被相机设备拒绝。 此字段可用于以比功能更精细的粒度查询相机设备的功能集。这对于在 ACAMERA_REQUEST_AVAILABLE_CAPABILITIES 中的任何功能下未列出的可选键尤其重要。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_REQUEST_AVAILABLE_RESULT_KEYS |
相机设备可用于 ACameraCaptureSession_captureCallback_result 的所有键列表。 类型:int32[n] 此标记可能出现在
尝试从未在此处列出的 CaptureResult 中获取键将始终返回 除非启用以下键,否则它们可能返回
(即使这些有时为 null 的键可用,它们仍将在此处列出。) 此字段可用于以比功能更精细的粒度查询相机设备的功能集。这对于在 ACAMERA_REQUEST_AVAILABLE_CAPABILITIES 中的任何功能下未列出的可选键尤其重要。 另请参阅: ACAMERA_REQUEST_AVAILABLE_CAPABILITIES 另请参阅: ACAMERA_STATISTICS_LENS_SHADING_MAP 另请参阅: ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_REQUEST_AVAILABLE_SESSION_KEYS |
相机设备可以作为捕获会话初始化的一部分传递的可用请求键的子集。 类型:int32[n] 此标记可能出现在
这是 ACAMERA_REQUEST_AVAILABLE_REQUEST_KEYS 的子集,其中包含一些难以按帧应用并在捕获会话生命周期内修改时可能导致意外延迟的键列表。典型的示例包括需要耗时的硬件重新配置或内部相机流水线更改的参数。出于性能原因,我们建议客户端将初始值作为 ACameraDevice_createCaptureSessionWithSessionParameters 的一部分传递。相机捕获会话启用后,也建议避免更改 ACameraDevice_createCaptureSessionWithSessionParameters 中设置的初始值。会话参数的控制仍然可以在捕获请求中执行,但客户端应该意识到并在应用过程中预期延迟。示例使用场景可能如下所示
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_REQUEST_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_REQUEST_MAX_NUM_OUTPUT_STREAMS |
相机设备可以同时配置和使用的不同类型输出流的最大数量。 类型:int32[3] 此标记可能出现在
这是一个包含 3 个元素的元组,分别包含 raw 传感器格式、处理后(非停顿)格式和处理后(停顿)格式的最大同时输出流数量。例如,假设 JPEG 通常是处理后且停顿的流,如果最大 raw 传感器格式输出流数量为 1,最大 YUV 流数量为 3,最大 JPEG 流数量为 2,则此元组应为 这列出了相机设备支持的输出流数量的上限。同时使用更多流可能需要更多的硬件和 CPU 资源,从而消耗更多电量。输出流的图像格式可以是 ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS 提供的任何支持的格式。ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS 中定义的格式可以分为以下 3 种流类型
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_REQUEST_PARTIAL_RESULT_COUNT |
定义结果将由多少个子组件组成。 类型:int32 此标记可能出现在
为了应对流水线延迟,一旦可用,相机设备可能会将部分结果发送到应用层。 可选;默认为 1。值为 1 意味着不支持部分结果,相机设备只会产生最终的 TotalCaptureResult。 典型的使用案例可能是:请求自动对焦 (AF) 锁定后,新的 AF 状态可能在流水线处理到 50% 时可用。然后相机设备可以通过部分结果立即将此状态发送给应用,其余元数据通过后续部分结果发送。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_REQUEST_PIPELINE_DEPTH |
指定帧从曝光到最终完成结果可供框架使用所经过的流水线阶段数量。 类型:byte 此标记可能出现在
根据请求中使用的设置和配置的流,数据可能经过较少的处理,并且跳过一些流水线阶段。 有关更多详细信息,请参阅 ACAMERA_REQUEST_PIPELINE_MAX_DEPTH。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_REQUEST_PIPELINE_MAX_DEPTH |
指定帧从曝光到可供框架使用所需经过的最大流水线阶段数量。 类型:byte 此标记可能出现在
典型的最小值为传感器处的 2 个阶段(一个曝光阶段,一个读出阶段)。ISP 通常会添加自己的阶段进行自定义硬件处理。软件处理可能会添加更多阶段。 根据使用的设置(例如 YUV、JPEG)和启用的处理(例如人脸检测),实际的流水线深度(由 ACAMERA_REQUEST_PIPELINE_DEPTH 指定)可能小于最大流水线深度。 X 个阶段的流水线深度相当于 X 个帧间隔的流水线延迟。 此值通常为 8 或更小,但对于高速捕获会话,最大流水线深度将高达 8 x 高速捕获请求列表的大小。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM |
ACAMERA_SCALER_CROP_REGION 的活动区域宽度与裁剪区域宽度之比,以及活动区域高度与裁剪区域高度之比的最大值。 另请参阅: ACAMERA_SCALER_CROP_REGION 类型:float 此标记可能出现在
这表示相机设备可能实现的最大变焦量,或等效于最小裁剪窗口大小。 宽度或高度小于此比例允许的裁剪区域将被相机设备向上舍入到允许的最小尺寸。 从 API 级别 30 开始,使用 ACAMERA_CONTROL_ZOOM_RATIO 放大或缩小时,应用必须使用 ACAMERA_CONTROL_ZOOM_RATIO_RANGE 查询最小和最大变焦比。 另请参阅: ACAMERA_CONTROL_ZOOM_RATIO 另请参阅: ACAMERA_CONTROL_ZOOM_RATIO_RANGE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SCALER_AVAILABLE_MIN_FRAME_DURATIONS |
这列出了每种格式/尺寸组合的最小帧持续时间。 类型:int64[4*n] 此标记可能出现在
这应对应于仅当该流处于活动状态时(所有处理(通常在 android.*.mode 中)设置为 OFF 或 FAST)的帧持续时间。 当在请求中使用多个流时,最小帧持续时间将是 max(单个流最小持续时间)。 有关计算最大帧率的更多详细信息,请参阅 另请参阅: ACAMERA_SCALER_AVAILABLE_STALL_DURATIONS 另请参阅: ACAMERA_SENSOR_FRAME_DURATION |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SCALER_AVAILABLE_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION |
当向相机设备发送一个将 ACAMERA_SENSOR_PIXEL_MODE 设置为 CameraMetadata::SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION 的 CaptureRequest 时,这列出了每种格式/尺寸组合的最小帧持续时间。 另请参阅: ACAMERA_SENSOR_PIXEL_MODE 类型:int64[4*n] 此标记可能出现在
类似于 ACAMERA_SCALER_AVAILABLE_MIN_FRAME_DURATIONS,适用于将 ACAMERA_SENSOR_PIXEL_MODE 设置为 CameraMetadata::SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION 时的配置。 当请求中使用多个流时(如果支持,当 ACAMERA_SENSOR_PIXEL_MODE 设置为 CameraMetadata::SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION 时),最小帧持续时间将为 max(单个流最小持续时间)。 有关计算最大帧率的更多详细信息,请参阅 另请参阅: ACAMERA_SCALER_AVAILABLE_MIN_FRAME_DURATIONS 另请参阅: ACAMERA_SCALER_AVAILABLE_STALL_DURATIONS_MAXIMUM_RESOLUTION 另请参阅: ACAMERA_SENSOR_FRAME_DURATION 另请参阅: ACAMERA_SENSOR_PIXEL_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SCALER_AVAILABLE_RECOMMENDED_INPUT_OUTPUT_FORMATS_MAP |
此相机设备支持的输入流图像格式与其对应输出格式的建议映射。 类型:int32 此标记可能出现在
这是 android.scaler.availableInputOutputFormatsMap 中找到的完整映射列表的建议子集。此处同样适用相同的要求。但是,该列表无需包含所有可用和支持的映射。相反,开发者必须仅列出推荐且高效的条目。如果设置,信息将可在 ZERO_SHUTTER_LAG 推荐流配置中找到,请参见 CameraCharacteristics::getRecommendedStreamConfigurationMap。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS |
常见客户端用例的推荐流配置。 类型:int32[n*5] (acamera_metadata_enum_android_scaler_available_recommended_stream_configurations_t) 此标记可能出现在
ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS 的可选子集,其中包含类似元组列表(即 width, height, format, output/input stream, usecase bit field)。相机设备将能够为特定用例推荐功耗和性能高效的流配置。有关检索建议的更多信息,请参见 CameraCharacteristics::getRecommendedStreamConfigurationMap。 数据表示为 int[5],映射到 (width, height, format, output/input stream, usecase bit field)。可以使用以下伪代码解析该数组 struct StreamConfiguration { int32_t format; int32_t width; int32_t height; int32_t isInput; }; void getPreferredStreamConfigurations( int32_t *array, size_t count, int32_t usecaseId, Vector < StreamConfiguration > * scs) { const size_t STREAM_CONFIGURATION_SIZE = 5; const size_t STREAM_WIDTH_OFFSET = 0; const size_t STREAM_HEIGHT_OFFSET = 1; const size_t STREAM_FORMAT_OFFSET = 2; const size_t STREAM_IS_INPUT_OFFSET = 3; const size_t STREAM_USECASE_BITMAP_OFFSET = 4;
} |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SCALER_AVAILABLE_ROTATE_AND_CROP_MODES |
该相机设备支持的 ACAMERA_SCALER_ROTATE_AND_CROP 的旋转和裁剪模式列表。 另请参见: ACAMERA_SCALER_ROTATE_AND_CROP 类型:byte[n] 此标记可能出现在
此条目列出了此相机设备的 ACAMERA_SCALER_ROTATE_AND_CROP 的有效模式。 从 API 级别 30 开始,所有设备将至少列出 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SCALER_AVAILABLE_STALL_DURATIONS |
此条目列出了每种输出格式/尺寸组合的最大停滞持续时间。 类型:int64[4*n] 此标记可能出现在
停止持续时间是指对于包含非零停止流的重复请求,会在正常的最小帧持续时间上额外增加的时间。 例如,考虑具有以下特性的 JPEG 捕获
换句话说,使用重复的 YUV 请求将导致稳定的帧率(假设为 30 FPS)。如果定期提交单个 JPEG 请求,帧率将保持在 30 FPS(只要我们每次都等待前一个 JPEG 返回)。如果我们尝试提交重复的 YUV + JPEG 请求,则帧率将从 30 FPS 下降。 通常,提交具有非零停滞时间流的新请求不会导致帧率下降,除非该流在前一个请求中仍有未处理的缓冲区。 提交带有流(称之为 如果交替提交带有和不带有停滞持续时间的请求,则请求将按照每个具有未处理缓冲区的可停滞流的剩余时间中的最大值进行停滞。 这意味着停滞请求直到停滞完成后才会开始曝光。 这应与仅该流处于活动状态时,且所有处理(通常在 android.*.mode 中)设置为 FAST 或 OFF 时的停滞持续时间相对应。将任何处理模式设置为 HIGH_QUALITY 将有效地导致请求中所有流的停滞持续时间不确定(忽略常规的停滞计算规则)。 以下格式可能始终具有停滞持续时间
以下格式永远不会有停滞持续时间
所有其他格式可能允许或可能不允许基于每个功能有停滞持续时间;有关详细信息,请参见 ACAMERA_REQUEST_AVAILABLE_CAPABILITIES。 有关计算最大帧率(无停滞时)的更多信息,请参见 ACAMERA_SENSOR_FRAME_DURATION。 另请参见: ACAMERA_REQUEST_AVAILABLE_CAPABILITIES 另请参见: ACAMERA_SENSOR_FRAME_DURATION |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SCALER_AVAILABLE_STALL_DURATIONS_MAXIMUM_RESOLUTION |
此条目列出了当 CaptureRequests 使用 ACAMERA_SENSOR_PIXEL_MODE 设置为 CameraMetadata::SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION 提交时,每种输出格式/尺寸组合的最大停滞持续时间。 另请参阅: ACAMERA_SENSOR_PIXEL_MODE 类型:int64[4*n] 此标记可能出现在
类似于 ACAMERA_SCALER_AVAILABLE_MIN_FRAME_DURATIONS,适用于将 ACAMERA_SENSOR_PIXEL_MODE 设置为 CameraMetadata::SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION 时的配置。 另请参见: ACAMERA_SCALER_AVAILABLE_MIN_FRAME_DURATIONS 另请参见: ACAMERA_SENSOR_PIXEL_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS |
该相机设备支持的可用流配置(即 format, width, height, output/input stream)。 类型:int32[n*4] (acamera_metadata_enum_android_scaler_available_stream_configurations_t) 此标记可能出现在
配置以 对于给定的用例,实际支持的最大分辨率可能低于此处列出的值,具体取决于图像数据的目标 Surface。例如,对于录制视频,所选的视频编码器可能具有小于相机(例如最大分辨率为 3264x2448)能够提供的最大尺寸限制(例如 1080p)。 请查阅图像数据目标文档,以检查它是否限制了图像数据的最大尺寸。 并非所有输出格式都可能在具有特定格式输入流的配置中得到支持。有关详细信息,请参见 android.scaler.availableInputOutputFormatsMap。 对于目标 SDK 版本低于 31 的应用程序,下表描述了基于硬件级别 (ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL) 的最低要求输出流配置 格式 | 尺寸 | 硬件级别 | 备注 对于目标 SDK 版本 31 或更高的应用程序,如果移动设备通过将 VERSION::MEDIA_PERFORMANCE_CLASS 设置为 31 或更大来声明为媒体性能等级 12 或更高,则主相机设备(相机 ID 列表中的第一个后置/前置相机)将不支持小于 1080p 的 JPEG 尺寸。如果应用程序配置小于 1080p 的 JPEG 流,相机设备将把 JPEG 图像尺寸向上取整至至少 1080p。IMPLEMENTATION_DEFINED 和 YUV_420_888 的要求保持不变。下表说明了这些新的最低要求输出流配置 格式 | 尺寸 | 硬件级别 | 备注 对于目标 SDK 版本 31 或更新的应用程序,如果移动设备未通过将 VERSION::MEDIA_PERFORMANCE_CLASS 设置为 31 或更大来声明为媒体性能等级 12 或更高,或者相机设备不是主后置/前置相机,则最低要求输出流配置与目标 SDK 版本低于 31 的应用程序相同。 对于每个功能,有关附加的强制流配置,请参阅 ACAMERA_REQUEST_AVAILABLE_CAPABILITIES。 176x144 (QCIF) 分辨率异常:相机设备通常具有从较大分辨率缩小到较小分辨率的固定能力,并且在高分辨率图像传感器设备上,由于此限制,有时 QCIF 分辨率无法完全支持。因此,尝试将 QCIF 分辨率流与任何大于 1920x1080 分辨率(无论是宽度还是高度)的其他流一起配置可能不受支持,如果不受支持,捕获会话创建将失败。 另请参见: ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL 另请参见: ACAMERA_REQUEST_AVAILABLE_CAPABILITIES 另请参见: ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION |
此相机设备支持的可用流配置(即 format, width, height, output/input stream),用于将 ACAMERA_SENSOR_PIXEL_MODE 设置为 CameraMetadata::SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION 的 CaptureRequest。 另请参阅: ACAMERA_SENSOR_PIXEL_MODE 类型:int32[n*4] (acamera_metadata_enum_android_scaler_available_stream_configurations_maximum_resolution_t) 此标记可能出现在
类似于 ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS,用于当 ACAMERA_SENSOR_PIXEL_MODE 设置为 CameraMetadata::SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION 时适用的配置。 并非所有输出格式都可能在具有特定格式输入流的配置中得到支持。有关详细信息,请参见 android.scaler.availableInputOutputFormatsMapMaximumResolution。 另请参见: ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS 另请参见: ACAMERA_SENSOR_PIXEL_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES |
此相机设备支持的流用例。 类型:int64[n] (acamera_metadata_enum_android_scaler_available_stream_use_cases_t) 此标记可能出现在
流用例从最终用户角度指明特定相机流的目的。一些相机用例示例包括:用于向用户显示实时取景器的预览流、用于生成高质量照片捕获的静止捕获、用于将相机输出编码以便将来回放的视频录制,以及用于实时视频会议的视频通话。 使用此标志,相机设备可以独立于即时相机输出 Surface 的属性来优化图像处理管道参数,例如调优、传感器模式和 ISP 设置。例如,如果输出 Surface 是 SurfaceTexture,流用例标志可以用来指示相机帧最终是用于显示、视频编码器、静止图像捕获,还是它们的组合。 应用程序通过调用 OutputConfiguration::setStreamUseCase 来设置相机流的用例。 具有 CameraCharacteristics::REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE 功能的相机设备必须支持以下流用例
具有 CameraCharacteristics::REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE 功能的相机设备与流用例相关的保证流组合记录在相机设备 指南 中。强烈建议应用程序使用其中一个保证的流组合。如果应用程序创建的会话使用的流组合不在保证列表中,或者在同一会话中混合使用 DEFAULT 和非 DEFAULT 用例,相机设备可能会由于硬件限制和实现细节而忽略某些流用例。 对于流用例强制列表未涵盖的流组合,例如可再处理会话、约束高速会话或 RAW 流组合,应用程序应将会话中的流用例保留为 DEFAULT。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SCALER_CROPPING_TYPE |
该相机设备支持的裁剪类型。 类型:byte (acamera_metadata_enum_android_scaler_cropping_type_t) 此标记可能出现在
当将非中心裁剪区域 (ACAMERA_SCALER_CROP_REGION) 传递给仅支持 CENTER_ONLY 裁剪的相机设备时,相机设备会将裁剪区域移动到传感器活动区域 (ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE) 的中心,并保持裁剪区域的宽度和高度不变。相机设备将在元数据结果 ACAMERA_SCALER_CROP_REGION 中返回最终使用的裁剪区域。 支持 FREEFORM 裁剪的相机设备将支持活动区域内的任何裁剪区域。相机设备将应用相同的裁剪区域,并在捕获结果元数据 ACAMERA_SCALER_CROP_REGION 中返回最终使用的裁剪区域。 从 API 级别 30 开始,
LEGACY 功能设备仅支持 CENTER_ONLY 裁剪。 另请参见: ACAMERA_CONTROL_ZOOM_RATIO 另请参见: ACAMERA_SCALER_CROP_REGION 另请参见: ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SCALER_CROP_REGION |
对于此捕获,希望从传感器读取的区域。 类型:int32[4] 此标记可能出现在
此控制可用于实现数字缩放。 对于不支持 ACAMERA_DISTORTION_CORRECTION_MODE 控制的设备,坐标系始终遵循 ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE 的坐标系,其中 对于支持 ACAMERA_DISTORTION_CORRECTION_MODE 控制的设备,坐标系取决于设置的模式。当失真校正模式为 OFF 时,坐标系遵循 ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE,其中 输出流使用此矩形生成其输出,如果需要,会裁剪到较小区域以保持流的宽高比,然后缩放传感器输入以匹配输出的配置分辨率。 裁剪区域通常在 RAW 转换为其他颜色空间(例如 YUV)之后应用。因此,除非相机设备支持,否则 RAW 流不可裁剪。有关详细信息,请参见 ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES::CROPPED_RAW。 对于非 RAW 流,将进行任何额外的按流裁剪,以最大化流的最终像素区域。 例如,如果裁剪区域设置为 4:3 的宽高比,则 4:3 流将使用精确的裁剪区域。16:9 流将进一步垂直裁剪(letterbox)。 相反,如果裁剪区域设置为 16:9,则 4:3 输出将水平裁剪(pillarbox),而 16:9 流将完全匹配。这些额外的裁剪将以裁剪区域为中心。 为了说明,以下是几种不同裁剪区域和输出流的场景,针对一个假设的相机设备,其活动区域尺寸为
如果坐标系是 ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE,裁剪区域的宽度和高度不能分别设置为小于 如果坐标系是 ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE,裁剪区域的宽度和高度不能分别设置为小于 相机设备可能会调整裁剪区域以考虑舍入和其他硬件要求;最终使用的裁剪区域将包含在输出捕获结果中。 相机传感器输出的宽高比取决于输出流组合和 ACAMERA_CONTROL_AE_TARGET_FPS_RANGE 等因素,不应通过使用此控制进行调整。相机设备会将不同的相机传感器输出尺寸(可能带有传感器内裁剪)视为 ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE 的相同裁剪。因此,应用程序不应假设最大裁剪区域始终映射到传感器输出的相同宽高比或视野。 从 API 级别 30 开始,强烈建议使用 ACAMERA_CONTROL_ZOOM_RATIO 来利用对逻辑多相机的更好缩放支持。优点包括光学-数字缩放组合精度更高,以及能够从 1.0 倍缩小。使用 ACAMERA_CONTROL_ZOOM_RATIO 进行缩放时,捕获请求中的裁剪区域应保留为默认的 activeArray 尺寸。坐标系是缩放后的坐标系,这意味着 activeArraySize 或 preCorrectionActiveArraySize 涵盖了相机设备“缩放后”的视野。有关详细信息,请参见 ACAMERA_CONTROL_ZOOM_RATIO。 对于具有 CameraMetadata::REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR 功能的相机设备,或 CameraCharacteristics::getAvailableCaptureRequestKeys 列出 ACAMERA_SENSOR_PIXEL_MODE 的设备 对于 ACAMERA_SENSOR_PIXEL_MODE 设置为 CameraMetadata::SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION 的请求,必须使用 ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION / ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION 作为坐标系。 数据表示为 int[4],映射到(左、上、宽、高)。 另请参见: ACAMERA_CONTROL_AE_TARGET_FPS_RANGE 另请参见: ACAMERA_CONTROL_ZOOM_RATIO 另请参见: ACAMERA_DISTORTION_CORRECTION_MODE 另请参见: ACAMERA_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM 另请参见: ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES 另请参见: ACAMERA_SCALER_CROPPING_TYPE 另请参见: ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE 另请参见: ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION 另请参见: ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE 另请参见: ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION 另请参见: ACAMERA_SENSOR_PIXEL_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SCALER_DEFAULT_SECURE_IMAGE_SIZE |
用于请求安全图像缓冲区的默认 YUV/PRIVATE 尺寸。 类型:int32[2] 此标记可能出现在
此条目列出了安全相机模式下支持的默认尺寸。支持 SECURE_IMAGE_DATA 功能的设备可选此条目。如果相机设备未列出 SECURE_IMAGE_DATA 功能,则此条目将为 null。 当此键存在时,相机 HAL 在安全相机模式下仅保证支持指定尺寸的 PRIVATE/YUV 输出。其他任何格式或分辨率可能不受支持。如果设备支持此 API,请使用 ACameraDevice_isSessionConfigurationSupported API 查询是否支持安全会话配置。 如果此键在具有 SECURE_IMAGE_DATA 功能的设备上返回 null,则应用程序可以假定 ACAMERA_SCALER_AVAILABLE_MIN_FRAME_DURATIONS 中列出的所有输出尺寸都受支持。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SCALER_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED |
相机设备是否支持多分辨率输入或输出流 类型:byte (acamera_metadata_enum_android_scaler_multi_resolution_stream_supported_t) 此标记可能出现在
逻辑多相机或超高分辨率相机可能支持多分辨率输入或输出流。通过多分辨率输出流,相机设备能够根据当前活动的物理相机或像素模式输出不同分辨率的图像。通过多分辨率输入流,相机设备可以从不同的物理相机或传感器像素模式重新处理不同分辨率的图像。 当设置为 TRUE 时
另请参见: ACAMERA_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS |
此物理相机设备支持的可用多分辨率流配置(即 format, width, height, output/input stream)。 类型:int32[n*4] (acamera_metadata_enum_android_scaler_physical_camera_multi_resolution_stream_configurations_t) 此标记可能出现在
此列表包含属于此物理相机的父逻辑相机的多分辨率流配置的子集,并且它将仅针对特定格式宣传和支持最大分辨率。 如果此相机设备不是构成逻辑相机的物理相机设备,而是独立的 CameraMetadata::REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR 相机,则此字段表示默认模式和最大分辨率模式的多分辨率输入/输出流配置。尺寸将是默认模式和最大分辨率模式下特定格式的最大分辨率。 仅当设备是逻辑多相机设备的物理相机或超高分辨率传感器相机时,才会宣传此字段。对于逻辑多相机,相机 API 将从所有物理相机派生逻辑相机的多分辨率流配置。对于超高分辨率传感器相机,此字段直接用作相机的多分辨率流配置。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SCALER_RAW_CROP_REGION |
当 RAW 流的流用例设置为 CROPPED_RAW 时,对应于此捕获的 RAW 读取的传感器区域。 类型:int32[4] 此标记可能出现在
坐标系遵循 ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE 的坐标系。 当相应的 CaptureRequest 具有 RAW 目标且流用例设置为 CameraMetadata::SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW 时,将设置此 CaptureResult 键,否则将为 null 例如:假设相机设备的预校正活动区域尺寸为 {0, 0, 1500, 2000} {500, 375, 1500, 1125} 描述 RAW 帧属性的元数据键
应在原始裁剪后的有效视野坐标系中解释。在此坐标系中,{ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE.left, ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE.top} 对应于裁剪后的 RAW 帧的左上角,{ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE.right, ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE.bottom} 对应于右下角。如果存在,客户端应用程序必须使用 CaptureResult 元数据中的键值。 裁剪区域 ACAMERA_SCALER_CROP_REGION、AE/AWB/AF 区域和面部坐标仍然像往常一样使用 ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE 坐标系。 另请参见: ACAMERA_LENS_DISTORTION 另请参见: ACAMERA_LENS_INTRINSIC_CALIBRATION 另请参见: ACAMERA_LENS_POSE_ROTATION 另请参见: ACAMERA_LENS_POSE_TRANSLATION 另请参见: ACAMERA_SCALER_CROP_REGION 另请参见: ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE 另请参见: ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE 另请参见: ACAMERA_STATISTICS_HOT_PIXEL_MAP |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SCALER_ROTATE_AND_CROP |
是否对相机处理后的输出应用旋转和裁剪操作。 类型:byte (acamera_metadata_enum_android_scaler_rotate_and_crop_t) 此标记可能出现在
此控制主要用于帮助不支持多窗口模式的相机应用程序在多窗口场景不可避免的设备上正常工作,例如折叠屏设备或其他具有可变显示几何形状或更自由窗口放置(例如笔记本电脑,通常在横向模式下用 pillarboxing 放置纵向应用程序)的设备。 如果支持,默认值为 当使用
捕获结果将包含 API 选择的实际值;在捕获结果中永远不会看到 应用程序还可以选择其偏好的裁剪模式,以选择退出向后兼容处理,或根据需要自行使用裁剪功能。在这种情况下,不会自动进行坐标转换,所有控制将继续使用正常的活动区域坐标。 裁剪和旋转是在应用数字变焦(通过 ACAMERA_SCALER_CROP_REGION 或 ACAMERA_CONTROL_ZOOM_RATIO)之后进行,但在对每个单独输出进一步裁剪和缩放之前进行。它仅影响已处理的输出,例如 YUV、PRIVATE 和 JPEG。它对 RAW 输出没有影响。 当选择 作为视觉示例,下图显示了
![]() 通过这些设置,输出流覆盖的活动阵列区域如下:
由于缓冲区已旋转,应用程序看到的缓冲区如下:
另请参阅: ACAMERA_CONTROL_AE_REGIONS 另请参阅: ACAMERA_CONTROL_AF_REGIONS 另请参阅: ACAMERA_CONTROL_AWB_REGIONS 另请参阅: ACAMERA_CONTROL_ZOOM_RATIO 另请参阅: ACAMERA_SCALER_CROP_REGION |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_AVAILABLE_TEST_PATTERN_MODES |
此相机设备支持的 另请参阅: ACAMERA_SENSOR_TEST_PATTERN_MODE 类型:int32[n] 此标记可能出现在
默认为 OFF,如果定义,则始终包含 OFF。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_BLACK_LEVEL_PATTERN |
针对每个滤色器阵列 (CFA) 马赛克通道的固定黑电平偏移。 类型:int32[4] 此标记可能出现在
此键指定相机传感器中每个 CFA 马赛克通道的零光值。传感器输出的最大值由 值按 CFA 布局键列出的通道顺序给出(参见 捕获图像的黑电平值可能因不同的捕获设置(例如 对于 MONOCHROME 相机设备,所有 2x2 通道必须具有相同的值。 另请参阅: ACAMERA_SENSOR_DYNAMIC_BLACK_LEVEL 另请参阅: ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT 另请参阅: ACAMERA_SENSOR_INFO_WHITE_LEVEL 另请参阅: ACAMERA_SENSOR_OPTICAL_BLACK_REGIONS 另请参阅: ACAMERA_SENSOR_SENSITIVITY |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_CALIBRATION_TRANSFORM1 |
一个逐设备的校准转换矩阵,将参考传感器颜色空间映射到实际设备传感器颜色空间。 类型:rational[3*3] 此标记可能出现在
此矩阵用于校正传感器颜色空间中逐设备的差异,并用于处理原始缓冲区数据。 该矩阵表示为行优先顺序的 3x3 矩阵,并包含逐设备的校准转换,该转换在第一个参考光源 ( 从 Android Q 开始,即使相机设备具有 RAW 功能,单色相机也不会出现此键。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_CALIBRATION_TRANSFORM2 |
一个逐设备的校准转换矩阵,将参考传感器颜色空间映射到实际设备传感器颜色空间(即原始缓冲区数据的颜色空间)。 类型:rational[3*3] 此标记可能出现在
此矩阵用于校正传感器颜色空间中逐设备的差异,并用于处理原始缓冲区数据。 该矩阵表示为行优先顺序的 3x3 矩阵,并包含逐设备的校准转换,该转换在第二个参考光源 ( 此矩阵仅在存在第二个参考光源时才会出现。 从 Android Q 开始,即使相机设备具有 RAW 功能,单色相机也不会出现此键。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_COLOR_TRANSFORM1 |
一个将颜色值从 CIE XYZ 颜色空间转换为参考传感器颜色空间的矩阵。 类型:rational[3*3] 此标记可能出现在
此矩阵用于从标准 CIE XYZ 颜色空间转换到参考传感器颜色空间,并用于处理原始缓冲区数据。 该矩阵表示为行优先顺序的 3x3 矩阵,并包含一个颜色转换矩阵,该矩阵在第一个参考光源 ( 在计算此转换时,参考传感器颜色空间和 CIE XYZ 颜色空间中选择的白点将与第一个参考光源的标准白点匹配(即此转换不会应用色度适应)。 从 Android Q 开始,即使相机设备具有 RAW 功能,单色相机也不会出现此键。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_COLOR_TRANSFORM2 |
一个将颜色值从 CIE XYZ 颜色空间转换为参考传感器颜色空间的矩阵。 类型:rational[3*3] 此标记可能出现在
此矩阵用于从标准 CIE XYZ 颜色空间转换到参考传感器颜色空间,并用于处理原始缓冲区数据。 该矩阵表示为行优先顺序的 3x3 矩阵,并包含一个颜色转换矩阵,该矩阵在第二个参考光源 ( 在计算此转换时,参考传感器颜色空间和 CIE XYZ 颜色空间中选择的白点将与第二个参考光源的标准白点匹配(即此转换不会应用色度适应)。 此矩阵仅在存在第二个参考光源时才会出现。 从 Android Q 开始,即使相机设备具有 RAW 功能,单色相机也不会出现此键。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_DYNAMIC_BLACK_LEVEL |
针对每个滤色器阵列 (CFA) 马赛克通道的每帧动态黑电平偏移。 类型:float[4] 此标记可能出现在
相机传感器黑电平可能因不同的捕获设置(例如 此键报告相机设备估计的每帧零光值,适用于相机传感器中的每个 CFA 马赛克通道。 值按 CFA 布局键列出的通道顺序给出(参见 对于单色相机,所有 2x2 通道必须具有相同的值。 如果 另请参阅: ACAMERA_SENSOR_BLACK_LEVEL_PATTERN 另请参阅: ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT 另请参阅: ACAMERA_SENSOR_OPTICAL_BLACK_REGIONS 另请参阅: ACAMERA_SENSOR_SENSITIVITY |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_DYNAMIC_WHITE_LEVEL |
该帧传感器输出的最大原始值。 类型:int32 此标记可能出现在
由于 如果 另请参阅: ACAMERA_SENSOR_BLACK_LEVEL_PATTERN 另请参阅: ACAMERA_SENSOR_INFO_WHITE_LEVEL 另请参阅: ACAMERA_SENSOR_OPTICAL_BLACK_REGIONS 另请参阅: ACAMERA_SENSOR_SENSITIVITY |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_EXPOSURE_TIME |
每个像素曝光于光线的时间。 类型:int64 此标记可能出现在
如果传感器无法精确曝光此持续时间,它会将曝光持续时间缩短到最接近的可能值(而不是延长曝光)。最终使用的曝光时间将在输出捕获结果中提供。 此控制仅在 另请参阅: ACAMERA_CONTROL_AE_MODE 另请参阅: ACAMERA_CONTROL_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_FORWARD_MATRIX1 |
一个矩阵,将白平衡相机颜色从参考传感器颜色空间转换为具有 D50 白点的 CIE XYZ 颜色空间。 类型:rational[3*3] 此标记可能出现在
此矩阵用于转换为标准 CIE XYZ 颜色空间,并用于处理原始缓冲区数据。 该矩阵表示为行优先顺序的 3x3 矩阵,并包含一个颜色转换矩阵,该矩阵将白平衡颜色从参考传感器颜色空间映射到具有 D50 白点的 CIE XYZ 颜色空间。 在第一个参考光源 ( 从 Android Q 开始,即使相机设备具有 RAW 功能,单色相机也不会出现此键。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_FORWARD_MATRIX2 |
一个矩阵,将白平衡相机颜色从参考传感器颜色空间转换为具有 D50 白点的 CIE XYZ 颜色空间。 类型:rational[3*3] 此标记可能出现在
此矩阵用于转换为标准 CIE XYZ 颜色空间,并用于处理原始缓冲区数据。 该矩阵表示为行优先顺序的 3x3 矩阵,并包含一个颜色转换矩阵,该矩阵将白平衡颜色从参考传感器颜色空间映射到具有 D50 白点的 CIE XYZ 颜色空间。 在第二个参考光源 ( 此矩阵仅在存在第二个参考光源时才会出现。 从 Android Q 开始,即使相机设备具有 RAW 功能,单色相机也不会出现此键。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_FRAME_DURATION |
从帧读取开始到下一帧读取开始的持续时间。 类型:int64 此标记可能出现在
相机子系统支持的最大帧率是许多因素的函数
由于这些因素在不同的 ISP 和传感器之间可能差异很大,相机抽象尝试用尽可能简单的模型来表示带宽限制。 提出的模型具有以下特点
根据上述模型,应用程序所需的信息通过 ACAMERA_SCALER_AVAILABLE_MIN_FRAME_DURATIONS 提供。这些信息用于确定给定流配置可能支持的最大帧率/最小帧持续时间。 具体来说,应用程序可以使用以下规则来确定它可以从相机设备请求的最小帧持续时间
如果 重复请求 有关延迟的更多详细信息,请参阅 ACAMERA_SCALER_AVAILABLE_STALL_DURATIONS。 此控制仅在 注意:在 Android 13 之前,此字段被描述为测量从帧曝光开始到下一帧曝光开始的持续时间,这与传感器制造商的定义不符。移动传感器将帧持续时间定义为传感器读取之间的间隔。 另请参阅: ACAMERA_CONTROL_AE_MODE 另请参阅: ACAMERA_CONTROL_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_GREEN_SPLIT |
Bayer 绿色通道之间最坏情况下的差异。 类型:float 此标记可能出现在
此值估计了传感器滤色器阵列中红色和蓝色行中 Bayer 绿色通道之间的最坏情况下的分裂。 绿色分裂计算如下
比率 R 是此属性报告的绿色分裂差异,它表示绿色通道在马赛克图案中的差异程度。此值通常用于确定在去马赛克时如何处理绿色马赛克通道。 绿色分裂值可粗略解释如下
从 Android Q 开始,即使相机设备具有 RAW 功能,单色相机也不会出现此键。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE |
应用任何几何畸变校正后,图像传感器中对应活动像素的区域。 类型:int32[4] 此标记可能出现在
这是表示传感器活动区域大小(即实际接收场景光线的区域)的矩形,在应用任何几何校正后,应视为除原始格式之外任何图像输出格式的最大像素尺寸。 此矩形相对于完整像素阵列定义;(0,0) 是完整像素阵列的左上角,完整像素阵列的大小由 大多数列出像素坐标的其他键的坐标系统(包括 活动阵列可能小于完整像素阵列,因为完整阵列可能包含黑色校准像素或其他非活动区域。 对于不支持 对于支持 一般来说,应用程序应始终参考活动阵列大小进行诸如测光区域或裁剪区域之类的控制。有两个例外情况:当应用程序处理 RAW 图像缓冲区(RAW_SENSOR、RAW10、RAW12 等)时,或者当应用程序明确将 数据表示为 另请参阅: ACAMERA_DISTORTION_CORRECTION_MODE 另请参阅: ACAMERA_SCALER_CROP_REGION 另请参阅: ACAMERA_SENSOR_INFO_PIXEL_ARRAY_SIZE 另请参阅: ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION |
当传感器以最大分辨率模式运行时,应用任何几何畸变校正后,图像传感器中对应活动像素的区域。 类型:int32[4] 此标记可能出现在
类似于 数据表示为 另请参阅: ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE 另请参阅: ACAMERA_SENSOR_PIXEL_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_INFO_BINNING_FACTOR |
位于同一滤色器下的像素组的尺寸。这指定了超高分辨率传感器位于同一滤色器下的像素组的宽度和高度(一对整数)。 类型:int32[2] 此标记可能出现在
传感器可以将像素分组到同一滤色器下,以改善成像的各个方面,例如降噪、低光性能等。这些组可以具有各种尺寸,例如 2x2(四拜耳)或 3x3(九拜耳)。此键指定了位于同一滤色器下的像素组的长和宽。如果设备具有 CameraMetadata::REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR 功能
如果设备不具有 CameraMetadata::REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR 功能
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT |
传感器上的滤色器排列方式;对于 Bayer 相机,表示传感器左上角 2x2 区域的颜色,按读取顺序排列;对于 MONOCHROME 相机,表示其捕获的光谱。 类型:byte ( 此标记可能出现在
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_INFO_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_INFO_EXPOSURE_TIME_RANGE |
此相机设备支持的 另请参阅: ACAMERA_SENSOR_EXPOSURE_TIME 类型: 此标记可能出现在
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED |
此相机设备输出的 RAW 图像是否经过镜头阴影校正。 类型:byte ( 此标记可能出现在
如果为 当为 对于所有不报告此信息的设备,此键将为 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_INFO_MAX_FRAME_DURATION |
此相机设备支持的 另请参阅: ACAMERA_SENSOR_FRAME_DURATION 类型:int64 此标记可能出现在
尝试使用超出最大值的帧持续时间将导致帧持续时间被裁剪到最大值。有关帧持续时间的完整定义,请参阅该控件。 有关最小帧持续时间值,请参阅 ACAMERA_SCALER_AVAILABLE_MIN_FRAME_DURATIONS。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_INFO_PHYSICAL_SIZE |
完整像素阵列的物理尺寸。 类型:float[2] 此标记可能出现在
这是由 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_INFO_PIXEL_ARRAY_SIZE |
完整像素阵列的尺寸,可能包含黑色校准像素。 类型:int32[2] 此标记可能出现在
图像传感器完整像素阵列的像素计数,其覆盖 如果相机设备支持原始传感器格式,则此值或 完整像素阵列的某些部分可能不会接收场景的光线,或者处于非活动状态。 另请参阅: ACAMERA_SENSOR_INFO_PHYSICAL_SIZE 另请参阅: ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_INFO_PIXEL_ARRAY_SIZE_MAXIMUM_RESOLUTION |
当传感器以最大分辨率模式运行时,完整像素阵列的尺寸,可能包含黑色校准像素。类似于 另请参阅: ACAMERA_SENSOR_INFO_PIXEL_ARRAY_SIZE 另请参阅: ACAMERA_SENSOR_PIXEL_MODE 类型:int32[2] 此标记可能出现在
图像传感器完整像素阵列的像素计数,覆盖 另请参阅: ACAMERA_SENSOR_INFO_PHYSICAL_SIZE 另请参阅: ACAMERA_SENSOR_PIXEL_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE |
应用任何几何畸变校正之前,图像传感器中对应活动像素的区域。 类型:int32[4] 此标记可能出现在
这是表示传感器活动区域大小(即实际接收场景光线的区域)的矩形,在应用任何几何校正之前,应视为任何原始格式的活动区域矩形。与原始处理关联的所有元数据(例如镜头阴影校正图和径向畸变场)都将此矩形的顶部、左侧视为原点 (0,0)。 此区域的大小决定了图像传感器在应用几何畸变校正之前可能包含的最大视野和最大像素数。后畸变校正图像的有效最大像素尺寸由 例如,要计算处理后的 YUV 输出图像中像素 (x,y) 的位置,该图像的尺寸在
因此,对于传感器上像素 x',y' = (25, 25),其中 目前支持的用于校正几何畸变的字段有
如果相机设备不支持几何畸变校正,或者所有几何畸变字段都无效,则此矩形将与 此矩形相对于完整像素阵列定义;(0,0) 是完整像素阵列的左上角,完整像素阵列的大小由 预校正活动阵列可能小于完整像素阵列,因为完整阵列可能包含黑色校准像素或其他非活动区域。 数据表示为 另请参阅: ACAMERA_LENS_DISTORTION 另请参阅: ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE 另请参阅: ACAMERA_SENSOR_INFO_PIXEL_ARRAY_SIZE 另请参阅: ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION |
当传感器以最大分辨率模式运行时,应用任何几何畸变校正之前,图像传感器中对应活动像素的区域。此键必须仅在 另请参阅: ACAMERA_SENSOR_PIXEL_MODE 类型:int32[4] 此标记可能出现在
类似于 数据表示为 另请参阅: ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE 另请参阅: ACAMERA_SENSOR_PIXEL_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_INFO_SENSITIVITY_RANGE |
此相机设备支持的 另请参阅: ACAMERA_SENSOR_SENSITIVITY 类型:int32[2] 此标记可能出现在
这些值是标准 ISO 敏感度值,如 ISO 12232:2006 中定义。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE |
传感器捕获开始时间戳的时间基准源。 类型:byte ( 此标记可能出现在
提供的捕获时间戳始终以纳秒为单位且是单调递增的,但可能并非基于可以与其他系统时间源进行比较的时间源。 此特性定义了时间戳的来源,因此也定义了它们是否可以与其他系统时间源/时间戳进行比较。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_INFO_WHITE_LEVEL |
传感器输出的最大原始值。 类型:int32 此标记可能出现在
这指定了传感器原始样本值的完全饱和编码级别。这通常是由于传感器变得高度非线性或剪裁引起的。每个通道的最小值由 白电平通常由传感器位深(预计 8-14 位)或传感器响应变得过于非线性而无法使用时的点决定。默认值是 16 位原始样本的最大可表示值 (2^16 - 1)。 捕获图像的白电平值可能因不同的捕获设置(例如 另请参阅: ACAMERA_SENSOR_BLACK_LEVEL_PATTERN 另请参阅: ACAMERA_SENSOR_DYNAMIC_WHITE_LEVEL 另请参阅: ACAMERA_SENSOR_SENSITIVITY |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_MAX_ANALOG_SENSITIVITY |
纯粹通过模拟增益实现的最高敏感度。 类型:int32 此标记可能出现在
对于小于或等于此值的 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_NEUTRAL_COLOR_POINT |
捕获时本地传感器颜色空间中的估计相机中性颜色点。 类型: 此标记可能出现在
此值以本地传感器颜色空间中的 RGB 值编码给出中性颜色点。中性颜色点表示当前估计的场景照明白点。在处理原始传感器数据时,可用于在提供的颜色转换之间进行插值。 值的顺序为 R、G、B;其中 R 在最低索引处。 从 Android Q 开始,即使相机设备具有 RAW 功能,单色相机也不会出现此键。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_NOISE_PROFILE |
每个 CFA 马赛克通道的噪声模型系数。 类型: 此标记可能出现在
此键包含对应于传感器放大 (S) 和传感器读取噪声 (O) 的每个 CFA 通道的两个噪声模型系数。这些以每通道对的形式给出,顺序与 CFA 布局键列出的通道相同(参见 这些系数用于两参数噪声模型,以描述每个 CFA 通道图像中存在的噪声量。此处使用的噪声模型为
其中 x 表示 CFA 通道记录的信号,归一化到范围 [0, 1],S 和 O 是该通道的噪声模型系数。 有关噪声模型的更详细描述,请参阅 Adobe DNG 规范中的 NoiseProfile 标签。 对于 MONOCHROME 相机,只有一个颜色通道。因此,噪声模型系数将只包含一个 S 和一个 O。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_OPTICAL_BLACK_REGIONS |
表示传感器光学屏蔽黑色像素区域的互不相交矩形列表。 类型: 此标记可能出现在
在大多数相机传感器中,活动阵列被一些光学屏蔽的像素区域包围。通过阻挡光线,这些像素为活动阵列区域的黑电平补偿提供了可靠的黑色参考。 如果相机设备能够在输出原始图像中读出这些黑色像素,此键提供了一个互不相交的矩形列表,指定了光学屏蔽(带有金属屏蔽)的黑色像素区域。与 当报告此键时, 数据表示为 另请参阅: ACAMERA_SENSOR_BLACK_LEVEL_PATTERN 另请参阅: ACAMERA_SENSOR_DYNAMIC_BLACK_LEVEL 另请参阅: ACAMERA_SENSOR_DYNAMIC_WHITE_LEVEL |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_ORIENTATION |
输出图像需要顺时针旋转以使其在设备屏幕的原生方向上变为直立状态的角度。 类型:int32 此标记可能出现在
还定义了卷帘快门读取的方向,在传感器的坐标系统中,方向是从上到下。 从 Android API 级别 32 开始,在包含逻辑相机的可折叠设备上通过 CameraCharacteristics::get 查询方向的相机客户端可以接收一个可能根据设备/折叠状态动态更改的值。建议客户端不要缓存或存储此类逻辑传感器的方向值。如果不想重复查询 CameraCharacteristics,客户端还可以访问 DeviceStateSensorOrientationMap 中从设备状态到传感器方向的整个映射。请注意,CameraCharacteristics 中动态更改的传感器方向值并不是建立每帧方向的最佳方式。想要知道特定捕获帧的传感器方向的客户端应从相应的捕获结果中查询 Native 相机客户端必须查询 另请参阅: ACAMERA_INFO_DEVICE_STATE_ORIENTATIONS 另请参阅: ACAMERA_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_PIXEL_MODE |
在最大分辨率模式和默认模式之间切换传感器像素模式。 类型:byte ( 此标记可能出现在
此键控制相机传感器是否在 CameraMetadata::SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION 模式下运行。默认情况下,所有相机设备都在 CameraMetadata::SENSOR_PIXEL_MODE_DEFAULT 模式下运行。在 CameraMetadata::SENSOR_PIXEL_MODE_DEFAULT 模式下运行时,传感器通常会执行像素合并以改善低光性能、降噪等。然而,在 CameraMetadata::SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION 模式下,传感器通常在未合并模式下运行,从而允许更大的图像尺寸。CameraMetadata::SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION 模式下支持的流配置也与 CameraMetadata::SENSOR_PIXEL_MODE_DEFAULT 模式下的不同。可以通过 CameraCharacteristics::get 并使用 CameraCharacteristics::SCALER_STREAM_CONFIGURATION_MAP_MAXIMUM_RESOLUTION 进行查询。除非两个 StreamConfigurationMap 都报告,否则
另请参阅: ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION 另请参阅: ACAMERA_SENSOR_INFO_BINNING_FACTOR 另请参阅: ACAMERA_SENSOR_INFO_PIXEL_ARRAY_SIZE_MAXIMUM_RESOLUTION 另请参阅: ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_RAW_BINNING_FACTOR_USED |
请求的 另请参阅: ACAMERA_SENSOR_INFO_BINNING_FACTOR 类型:byte ( 此标记可能出现在
此键仅适用于宣传 CameraMetadata::REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR 功能并同时宣传 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_REFERENCE_ILLUMINANT1 |
计算 另请参阅: ACAMERA_SENSOR_CALIBRATION_TRANSFORM1 另请参阅: ACAMERA_SENSOR_COLOR_TRANSFORM1 另请参阅: ACAMERA_SENSOR_FORWARD_MATRIX1 类型:byte ( 此标记可能出现在
此键中的值与 EXIF LightSource 标签定义的值相对应。这些光源是常用于校准相机设备的标准光源。 如果此键存在,则 某些设备可能会选择提供第二组校准信息以提高质量,包括 从 Android Q 开始,即使相机设备具有 RAW 功能,单色相机也不会出现此键。 另请参阅: ACAMERA_SENSOR_CALIBRATION_TRANSFORM1 另请参阅: ACAMERA_SENSOR_COLOR_TRANSFORM1 另请参阅: ACAMERA_SENSOR_FORWARD_MATRIX1 另请参阅: ACAMERA_SENSOR_REFERENCE_ILLUMINANT2 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_REFERENCE_ILLUMINANT2 |
计算 另请参阅: ACAMERA_SENSOR_CALIBRATION_TRANSFORM2 另请参阅: ACAMERA_SENSOR_COLOR_TRANSFORM2 另请参阅: ACAMERA_SENSOR_FORWARD_MATRIX2 类型:byte 此标记可能出现在
更多详细信息,请参阅 如果此键存在,则 从 Android Q 开始,即使相机设备具有 RAW 功能,单色相机也不会出现此键。 另请参阅: ACAMERA_SENSOR_CALIBRATION_TRANSFORM2 另请参阅: ACAMERA_SENSOR_COLOR_TRANSFORM2 另请参阅: ACAMERA_SENSOR_FORWARD_MATRIX2 另请参阅: ACAMERA_SENSOR_REFERENCE_ILLUMINANT1 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_ROLLING_SHUTTER_SKEW |
图像传感器第一行开始曝光到图像传感器最后一行的下一行开始曝光之间的持续时间。 类型:int64 此标记可能出现在
这是第一行和(最后一行+1)行曝光开始时间之间的曝光时间偏差。第一行和最后一行是 对于使用卷帘快门的典型相机传感器,这也等同于帧读取时间。 如果由于当前的输出目标分辨率,图像传感器正在以 binning 或裁剪模式运行,则此偏差可能比曝光时间更大,例如,因为它基于完整阵列,即使只读出部分阵列。请务必按比例调整该值,以覆盖您关心的输出实际使用的传感器部分。因此,如果您的输出覆盖了高度为 H 的活动阵列的 N 行,请将此值乘以 N/H 以获得该视口的总偏差。 注意:在 Android 11 之前,此字段被描述为测量从图像传感器的第一行到最后一行的持续时间,这与卷帘快门传感器的帧读取时间不相等。实现通常报告后者的值,因此为了解决不一致性,描述已更新为从(第一行,最后一行+1)行曝光开始计算。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_SENSITIVITY |
处理前应用于传感器数据的增益量。 类型:int32 此标记可能出现在
敏感度是标准 ISO 敏感度值,如 ISO 12232:2006 中定义。 敏感度必须在 如果相机设备无法应用完全请求的敏感度,它会将其增益降低到最接近的支持值。最终使用的敏感度将在输出捕获结果中提供。 此控制仅在 请注意,对于支持 postRawSensitivityBoost 的设备,应用于最终处理图像的总敏感度是 另请参阅: ACAMERA_CONTROL_AE_MODE 另请参阅: ACAMERA_CONTROL_MODE 另请参阅: ACAMERA_CONTROL_POST_RAW_SENSITIVITY_BOOST 另请参阅: ACAMERA_SENSOR_INFO_SENSITIVITY_RANGE 另请参阅: ACAMERA_SENSOR_MAX_ANALOG_SENSITIVITY 另请参阅: ACAMERA_SENSOR_SENSITIVITY |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_TEST_PATTERN_DATA |
当 另请参阅: ACAMERA_SENSOR_TEST_PATTERN_MODE 类型:int32[4] 此标记可能出现在
每个颜色通道都被视为一个无符号 32 位整数。然后相机设备使用与其 Bayer 原始传感器输出中的位数相对应的最高有效 X 位。 例如,具有 RAW10 Bayer 输出的传感器将使用每个颜色通道的 10 个最高有效位。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_TEST_PATTERN_MODE |
启用后,传感器发送测试图案而不是进行真实的相机曝光。 类型:int32 ( 此标记可能出现在
启用测试图案后, 例如,如果启用手动闪光,闪光触发仍应发生(且测试图案保持不变,因为闪光实际上不会影响它)。 默认为 OFF。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SENSOR_TIMESTAMP |
图像传感器活动阵列第一行开始曝光的时间,以纳秒为单位。 类型:int64 此标记可能出现在
时间戳也包含在为同一捕获生成的所有图像缓冲区中,并且在所有输出上将相同。 当 当 对于重新处理,时间戳将与输入图像的曝光开始时间匹配,即用于创建重新处理捕获请求的 TotalCaptureResult 中的时间戳。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SHADING_AVAILABLE_MODES |
此相机设备支持的 另请参阅: ACAMERA_SHADING_MODE 类型:byte[n] 此标记可能出现在
此列表包含可为相机设备设置的镜头阴影模式。支持 MANUAL_POST_PROCESSING 功能的相机设备将始终列出 OFF 和 FAST 模式。这包括所有 FULL 级别设备。LEGACY 设备将始终仅支持 FAST 模式。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SHADING_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SHADING_MODE |
应用于图像数据的镜头阴影校正质量。 类型:byte (acamera_metadata_enum_android_shading_mode_t) 此标记可能出现在
设置为 OFF 模式时,相机设备将不应用镜头阴影校正,并且如果
设置为其他模式时,相机设备将应用镜头阴影校正。应用可以通过将 ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE 设置为 ON 来请求镜头阴影图数据,然后相机设备将在 android.statistics.lensShadingCorrectionMap 中提供镜头阴影图数据;返回的阴影图数据将是相机设备为此捕获请求应用的阴影图数据。 阴影图数据可能取决于自动曝光 (AE) 和 AWB 统计信息,因此图数据的可靠性可能会受到 AE 和 AWB 算法的影响。当 AE 和 AWB 处于 AUTO 模式( 另请参阅: ACAMERA_CONTROL_AE_MODE 另请参阅: ACAMERA_CONTROL_AWB_MODE 另请参阅: ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_STATISTICS_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_STATISTICS_FACE_DETECT_MODE |
人脸检测单元的工作模式。 类型:byte (acamera_metadata_enum_android_statistics_face_detect_mode_t) 此标记可能出现在
是否启用人脸检测,以及是只输出基本字段还是输出全部字段。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_STATISTICS_FACE_IDS |
检测到的人脸的唯一 ID 列表。 类型:int32[n] 此标记可能出现在
每个检测到的人脸都被赋予一个唯一的 ID,该 ID 在相机设备可见范围内始终有效。离开视野后又返回的人脸可能会被分配新的 ID。 仅在 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_STATISTICS_FACE_LANDMARKS |
检测到的人脸的标记点列表。 类型:int32[n*6] 此标记可能出现在
对于不支持 ACAMERA_DISTORTION_CORRECTION_MODE 控制的设备,坐标系始终遵循 ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE 的坐标系,其中 对于支持 ACAMERA_DISTORTION_CORRECTION_MODE 控制的设备,坐标系取决于设置的模式。当失真校正模式为 OFF 时,坐标系遵循 ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE,其中 仅在 从 API 级别 30 开始,activeArraySize 或 preCorrectionActiveArraySize 的坐标系用于表示 post-zoomRatio 视野,而不是 pre-zoomRatio 视野。这意味着,如果人脸和相机设备的相对位置不变,则当通过增加 另请参阅: ACAMERA_CONTROL_ZOOM_RATIO 另请参阅: ACAMERA_DISTORTION_CORRECTION_MODE 另请参阅: ACAMERA_SCALER_CROP_REGION 另请参阅: ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE 另请参阅: ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE 另请参阅: ACAMERA_STATISTICS_FACE_DETECT_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_STATISTICS_FACE_RECTANGLES |
检测到的人脸的边界矩形列表。 类型:int32[n*4] 此标记可能出现在
对于不支持 ACAMERA_DISTORTION_CORRECTION_MODE 控制的设备,坐标系始终遵循 ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE 的坐标系,其中 对于支持 ACAMERA_DISTORTION_CORRECTION_MODE 控制的设备,坐标系取决于设置的模式。当失真校正模式为 OFF 时,坐标系遵循 ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE,其中 仅在 从 API 级别 30 开始,activeArraySize 或 preCorrectionActiveArraySize 的坐标系用于表示 post-zoomRatio 视野,而不是 pre-zoomRatio 视野。这意味着,如果人脸和相机设备的相对位置不变,则当通过增加 数据表示为 另请参阅: ACAMERA_CONTROL_ZOOM_RATIO 另请参阅: ACAMERA_DISTORTION_CORRECTION_MODE 另请参阅: ACAMERA_SCALER_CROP_REGION 另请参阅: ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE 另请参阅: ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE 另请参阅: ACAMERA_STATISTICS_FACE_DETECT_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_STATISTICS_FACE_SCORES |
检测到的人脸的面部置信度评分列表 类型:byte[n] 此标记可能出现在
仅在 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_STATISTICS_HOT_PIXEL_MAP |
传感器上热/缺陷像素的 类型:int32[2*n] 此标记可能出现在
坐标 另请参阅: ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE 另请参阅: ACAMERA_SENSOR_INFO_PIXEL_ARRAY_SIZE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE |
热像素图生成的运行模式。 类型:byte (acamera_metadata_enum_android_statistics_hot_pixel_map_mode_t) 此标记可能出现在
如果设置为 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES |
此相机设备支持的 ACAMERA_STATISTICS_FACE_DETECT_MODE 的人脸检测模式列表。 另请参阅: ACAMERA_STATISTICS_FACE_DETECT_MODE 类型:byte[n] 此标记可能出现在
OFF 始终受支持。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES |
此相机设备支持的 ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE 的热像素图输出模式列表。 另请参阅: ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE 类型:byte[n] 此标记可能出现在
如果此相机设备没有可用的热像素图输出,则此键将仅包含 对于具有 RAW 功能的设备,ON 始终受支持。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES |
此相机设备支持的 ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE 的镜头阴影图输出模式列表。 另请参阅: ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE 类型:byte[n] 此标记可能出现在
如果此相机设备没有可用的镜头阴影图输出,则此键将仅包含 OFF。 对于具有 RAW 功能的设备,ON 始终受支持。LEGACY 模式设备将始终仅支持 OFF。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES |
此相机设备支持的 ACAMERA_STATISTICS_OIS_DATA_MODE 的 OIS 数据输出模式列表。 另请参阅: ACAMERA_STATISTICS_OIS_DATA_MODE 类型:byte[n] 此标记可能出现在
如果此相机设备没有可用的 OIS 数据输出,则此键将仅包含 OFF。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_STATISTICS_INFO_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_STATISTICS_INFO_MAX_FACE_COUNT |
可同时检测到的最大人脸数量。 类型:int32 此标记可能出现在
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_STATISTICS_LENS_INTRINSIC_SAMPLES |
帧内镜头固有参数数组。 类型:float[5*n] 此标记可能出现在
单个数组条目的数据布局和内容与 ACAMERA_LENS_INTRINSIC_CALIBRATION 匹配。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_STATISTICS_LENS_INTRINSIC_TIMESTAMPS |
镜头固有参数样本的时间戳数组,单位为纳秒。 类型:int64[n] 此标记可能出现在
该数组包含镜头固有参数样本的时间戳。时间戳与 ACAMERA_SENSOR_TIMESTAMP 处于相同的时间基准并可与之比较。 另请参阅: ACAMERA_SENSOR_TIMESTAMP |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_STATISTICS_LENS_SHADING_MAP |
阴影图是一种低分辨率浮点图,列出了用于校正每个 Bayer 颜色通道 RAW 图像数据的暗角和颜色阴影的系数。 类型:float[4*n*m] 此标记可能出现在
此处提供的映射是相机设备用于校正输出非 RAW 图像的颜色阴影和暗角的同一映射。 当 RAW 输出图像未应用镜头阴影校正 ( 对于完整的阴影校正映射,图像中阴影最少的区域的增益因子为 1;所有其他区域的增益都大于 1。 当 ACAMERA_COLOR_CORRECTION_MODE = TRANSFORM_MATRIX 时,映射将考虑颜色校正设置。 阴影图适用于整个活动像素阵列,并且不受请求中指定的裁剪区域的影响。每个阴影图条目都是传感器上特定像素上的阴影补偿图的值。具体而言,对于分辨率为 (N x M) 的阴影图和大小为 (W x H) 的活动像素阵列,阴影图条目 (x,y) ϵ (0 ... N-1, 0 ... M-1) 是颜色通道在像素 ( ((W-1)/(N-1)) * x, ((H-1)/(M-1)) * y) 上的阴影图的值。假定该映射在样本点之间采用双线性插值。 对于 Bayer 相机,通道顺序为 [R, Geven, Godd, B],其中 Geven 是 Bayer 模式偶数行的绿色通道,Godd 是奇数行。阴影图以完全交错格式存储,其大小由相机静态元数据中的 ACAMERA_LENS_INFO_SHADING_MAP_SIZE 提供。 阴影图通常有大约 30-40 行和列,并且小于 64x64。 例如,对于定义为如下所示的 Bayer 相机的非常小的映射
每个通道的低分辨率缩放图图像(使用最近邻插值显示)如下所示
![]() ![]() ![]() ![]() 作为仅可视化用途,对全彩色图进行反转以恢复传感器捕获的灰色墙图像(使用双三次插值以获得视觉质量)得到如下结果
![]() 对于 MONOCHROME 相机,所有 2x2 通道必须具有相同的值。此类相机的阴影图示例如下所示
请注意,RAW 图像数据可能受到此映射中未报告的镜头阴影校正的影响。查询 ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED 可查看 RAW 图像数据是否已进行镜头阴影校正。如果 ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED 为 TRUE,则 RAW 图像数据已进行部分或全部镜头阴影校正。如果对 RAW 图像应用了完整的镜头阴影校正,则此键中报告的增益因子映射将包含所有 1.0 的增益。换句话说,此键中报告的映射是需要在 RAW 图像上应用的剩余镜头阴影,以获得没有镜头阴影伪影的图像。有关 RAW 图像格式列表,请参阅 android.request.maxNumOutputRaw。 另请参阅: ACAMERA_COLOR_CORRECTION_MODE 另请参阅: ACAMERA_LENS_INFO_SHADING_MAP_SIZE 另请参阅: ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED 另请参阅: ACAMERA_STATISTICS_LENS_SHADING_MAP |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE |
相机设备是否在输出结果元数据中输出镜头阴影图。 类型:byte (acamera_metadata_enum_android_statistics_lens_shading_map_mode_t) 此标记可能出现在
设置为 ON 时,将在输出结果元数据中提供 ACAMERA_STATISTICS_LENS_SHADING_MAP。 对于具有 RAW 功能的设备,ON 始终受支持。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_STATISTICS_OIS_DATA_MODE |
一个控件,用于选择是否在输出结果元数据中包含光学防抖 (OIS) 位置信息。 类型:byte (acamera_metadata_enum_android_statistics_ois_data_mode_t) 此标记可能出现在
由于光学图像防抖通常涉及比单个图像曝光持续时间快得多的运动,因此单个捕获结果可以包含多个 OIS 样本。例如,如果 OIS 报告以 200 Hz 工作,则以 30fps 工作的典型相机每个捕获结果可能有 6-7 个 OIS 样本。此信息可以与卷帘快门倾斜结合使用,以便在后处理算法中考虑图像曝光期间的镜头运动。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_STATISTICS_OIS_TIMESTAMPS |
OIS 样本的时间戳数组,单位为纳秒。 类型:int64[n] 此标记可能出现在
该数组包含 OIS 样本的时间戳。时间戳与 ACAMERA_SENSOR_TIMESTAMP 处于相同的时间基准并可与之比较。 另请参阅: ACAMERA_SENSOR_TIMESTAMP |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_STATISTICS_OIS_X_SHIFTS |
OIS 样本在 x 方向的偏移数组。 类型:float[n] 此标记可能出现在
该数组包含基于 OIS 样本的 x 方向偏移量,单位为像素。正值表示在预校正活动阵列坐标系中从左到右的偏移。例如,如果在预校正活动阵列坐标中,光学中心为 (1000, 500),则偏移 (3, 0) 会将新的光学中心置于 (1003, 500)。 偏移数量必须与 ACAMERA_STATISTICS_OIS_TIMESTAMPS 中的时间戳数量匹配。 OIS 样本不受是否启用镜头失真校正的影响(在支持设备上)。它们始终在预校正活动阵列坐标中报告,因为 OIS 偏移的缩放取决于传感器上需要偏移的特定位置。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_STATISTICS_OIS_Y_SHIFTS |
OIS 样本在 y 方向的偏移数组。 类型:float[n] 此标记可能出现在
该数组包含基于 OIS 样本的 y 方向偏移量,单位为像素。正值表示在预校正活动阵列坐标系中从上到下的偏移。例如,如果在活动阵列坐标中,光学中心为 (1000, 500),则偏移 (0, 5) 会将新的光学中心置于 (1000, 505)。 偏移数量必须与 ACAMERA_STATISTICS_OIS_TIMESTAMPS 中的时间戳数量匹配。 OIS 样本不受是否启用镜头失真校正的影响(在支持设备上)。它们始终在预校正活动阵列坐标中报告,因为 OIS 偏移的缩放取决于传感器上需要偏移的特定位置。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_STATISTICS_SCENE_FLICKER |
相机设备估计的场景光照闪烁频率。 类型:byte (acamera_metadata_enum_android_statistics_scene_flicker_t) 此标记可能出现在
许多光源(例如大多数荧光灯)会以取决于当地公用事业电力标准的速率闪烁。自动曝光程序必须考虑这种闪烁,以避免捕获图像中出现伪影。相机设备使用此条目告诉应用场景照明频率是什么。 启用手动曝光控制时( 如果没有闪烁照明迹象,则报告 NONE。 另请参阅: ACAMERA_CONTROL_AE_ANTIBANDING_MODE 另请参阅: ACAMERA_CONTROL_AE_MODE 另请参阅: ACAMERA_CONTROL_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SYNC_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SYNC_FRAME_NUMBER |
与输出结果(元数据 + 缓冲区)完全同步的最后一个请求对应的帧号。 类型:int64 (acamera_metadata_enum_android_sync_frame_number_t) 此标记可能出现在
当请求提交给相机设备时,控制通常会延迟几帧才能应用。相机设备可以选择通过实现管道并仔细提交定时良好的原子控制更新来考虑此延迟,或者它可以开始流式传输跨越多个帧边界的控制更改。 在后一种情况下,每当请求的设置相对于先前提交的请求发生更改时,整套更改可能需要多个帧持续时间才能完全生效。某些设置可能比其他设置更快生效(在更少的帧持续时间内)。 当一套控制更改正在传播时,此值将为 CONVERGING。 一旦完全已知一套控制更改已传播完成,并且相机设备已回读更新后的控制设置,此值将被设置为非负帧号(对应于结果已同步到的请求)。 较旧的相机设备实现可能无法检测何时已应用所有相机控件,并且将始终将此值设置为 UNKNOWN。 FULL 功能设备将始终将此值设置为与此结果对应的请求的帧号。 更多详情:
管道注意事项: 提交与先前提交的请求相比更新了控件的请求也可能使与当前正在进行的请求对应的所有结果的同步状态失效。 换句话说,此当前请求以及多达 ACAMERA_REQUEST_PIPELINE_MAX_DEPTH 个先前请求的结果可能将其 ACAMERA_SYNC_FRAME_NUMBER 更改为 CONVERGING。 另请参阅: ACAMERA_REQUEST_PIPELINE_MAX_DEPTH 另请参阅: ACAMERA_SYNC_FRAME_NUMBER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_SYNC_MAX_LATENCY |
提交请求(与之前不同)后,在结果状态同步之前可能发生的最大帧数。 类型:int32 (acamera_metadata_enum_android_sync_max_latency_t) 此标记可能出现在
这定义了要应用的新控制请求的帧号与所有控制都已应用的结果的帧号之间的最大距离(以元数据结果数计)。 换句话说,这充当了相机设备知道新提交的相机设置已在输出帧中应用的确定性上限。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_TONEMAP_AVAILABLE_TONE_MAP_MODES |
此相机设备支持的 ACAMERA_TONEMAP_MODE 的色调映射模式列表。 另请参阅: ACAMERA_TONEMAP_MODE 类型:byte[n] 此标记可能出现在
支持 MANUAL_POST_PROCESSING 功能的相机设备将始终至少包含以下模式组合之一
这包括所有 FULL 级别设备。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_TONEMAP_CURVE_BLUE |
当 另请参阅: ACAMERA_TONEMAP_MODE 类型:float[n*2] 此标记可能出现在
有关详细信息,请参阅 ACAMERA_TONEMAP_CURVE_RED。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_TONEMAP_CURVE_GREEN |
当 另请参阅: ACAMERA_TONEMAP_MODE 类型:float[n*2] 此标记可能出现在
有关详细信息,请参阅 ACAMERA_TONEMAP_CURVE_RED。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_TONEMAP_CURVE_RED |
当 另请参阅: ACAMERA_TONEMAP_MODE 类型:float[n*2] 此标记可能出现在
每个通道的曲线由控制点数组定义
这些点按 每条曲线可以有独立数量的点,且点的数量可以小于最大值(即,请求不必总是提供点数量等于 ACAMERA_TONEMAP_MAX_CURVE_POINTS 的曲线)。 对于具有 MONOCHROME 功能的设备,所有三个通道必须具有相同的控制点集。 一些示例及其对应的图形映射;为简洁起见,这些示例仅指定红色通道且精度限制为 4 位数字。 线性映射
![]() 反转映射
![]() 伽马 1/2.2 映射,具有 16 个控制点
![]() 标准 sRGB 伽马映射,遵循 IEC 61966-2-1:1999,具有 16 个控制点
![]() 另请参阅: ACAMERA_TONEMAP_CURVE_RED 另请参阅: ACAMERA_TONEMAP_MAX_CURVE_POINTS |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_TONEMAP_END |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_TONEMAP_GAMMA |
当 另请参阅: ACAMERA_TONEMAP_MODE 类型:float 此标记可能出现在
色调映射曲线将由以下公式定义
其中 IN 和 OUT 是缩放到范围 [0.0, 1.0] 的输入像素值,pow 是幂函数,gamma 是此键指定的伽马值。 相同的曲线将应用于所有颜色通道。相机设备可能会将输入伽马值裁剪到其支持的范围。实际应用的值将在捕获结果中返回。 伽马值的有效范围在不同设备上有所不同,但保证 [1.0, 5.0] 范围内的值不会被裁剪。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_TONEMAP_MAX_CURVE_POINTS |
可用于 android.tonemap.curve 的色调映射曲线支持的最大点数。 类型:int32 此标记可能出现在
如果应用提供的实际点数(在 ACAMERA_TONEMAPCURVE_* 中)小于此最大值,则相机设备将使用线性插值将曲线重新采样到其内部表示。 结果元数据中的输出曲线可能与输入曲线的点数不同,并且将通过线性插值尽可能接近地表示实际使用的非线性/非全局变换。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_TONEMAP_MODE |
高级全局对比度/伽马/色调映射控制。 类型:byte (acamera_metadata_enum_android_tonemap_mode_t) 此标记可能出现在
通过将 ACAMERA_TONEMAP_MODE 设置为 CONTRAST_CURVE 切换到应用定义的对比度曲线时,曲线按通道定义,包含一组 当 ACAMERA_TONEMAP_MODE 为 CONTRAST_CURVE 时,更复杂的颜色映射操作(例如 3D 颜色查找表、选择性色度增强或其他非线性颜色变换)将被禁用。 使用 FAST 或 HIGH_QUALITY 时,相机设备将在 android.tonemap.curve 中发出其自身的色调映射曲线。这些值始终可用,并尽可能接近实际使用的非线性/非全局变换。 如果使用 FAST 或 HIGH_QUALITY 中的相机设备提供的曲线发送带有 CONTRAST_CURVE 的请求,则图像的色调映射将大致相同。 另请参阅: ACAMERA_TONEMAP_MODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACAMERA_TONEMAP_PRESET_CURVE |
当 另请参阅: ACAMERA_TONEMAP_MODE 类型:byte (acamera_metadata_enum_android_tonemap_preset_curve_t) 此标记可能出现在
色调映射曲线将由指定的标准定义。 sRGB(由 16 个控制点近似)
![]() Rec. 709(由 16 个控制点近似)
![]() 请注意,上述数字显示的是预设曲线的 16 点近似。相机设备可能对曲线应用不同的近似。 |
camera_status_t
在camera/NdkCameraError.h
中声明
camera_status_t
相机状态枚举类型。
类型定义
ACameraCaptureFailure
声明于camera/NdkCameraCaptureSession.h
struct ACameraCaptureFailure ACameraCaptureFailure
描述捕获失败的结构体。
ACameraCaptureSession
声明于camera/NdkCameraCaptureSession.h
typedef__BEGIN_DECLS struct ACameraCaptureSession ACameraCaptureSession
ACameraCaptureSession 是一个不透明类型,用于管理相机设备的帧捕获。
可以使用 ACameraDevice_createCaptureSession 方法获取指针。
ACameraCaptureSession_captureCallback_bufferLost
声明于camera/NdkCameraCaptureSession.h
void(* ACameraCaptureSession_captureCallback_bufferLost)(void *context, ACameraCaptureSession *session, ACaptureRequest *request, ANativeWindow *window, int64_t frameNumber)
相机缓冲区丢失回调函数的定义。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
ACameraCaptureSession_captureCallback_failed
声明于camera/NdkCameraCaptureSession.h
void(* ACameraCaptureSession_captureCallback_failed)(void *context, ACameraCaptureSession *session, ACaptureRequest *request, ACameraCaptureFailure *failure)
相机捕获失败回调函数的定义。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
ACameraCaptureSession_captureCallback_result
声明于camera/NdkCameraCaptureSession.h
void(* ACameraCaptureSession_captureCallback_result)(void *context, ACameraCaptureSession *session, ACaptureRequest *request, const ACameraMetadata *result)
相机捕获进度/结果回调函数的定义。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
ACameraCaptureSession_captureCallback_sequenceAbort
声明于camera/NdkCameraCaptureSession.h
void(* ACameraCaptureSession_captureCallback_sequenceAbort)(void *context, ACameraCaptureSession *session, int sequenceId)
相机序列中止回调函数的定义。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
ACameraCaptureSession_captureCallback_sequenceEnd
声明于camera/NdkCameraCaptureSession.h
void(* ACameraCaptureSession_captureCallback_sequenceEnd)(void *context, ACameraCaptureSession *session, int sequenceId, int64_t frameNumber)
相机序列结束回调函数的定义。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
ACameraCaptureSession_captureCallback_start
声明于camera/NdkCameraCaptureSession.h
void(* ACameraCaptureSession_captureCallback_start)(void *context, ACameraCaptureSession *session, const ACaptureRequest *request, int64_t timestamp)
相机捕获开始回调函数的定义。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
ACameraCaptureSession_captureCallback_startV2
声明于camera/NdkCameraCaptureSession.h
void(* ACameraCaptureSession_captureCallback_startV2)(void *context, ACameraCaptureSession *session, const ACaptureRequest *request, int64_t timestamp, int64_t frameNumber)
相机捕获开始回调函数的定义。
与 ACameraCaptureSession_captureCallbacks#onCaptureStarted 相同,只是它也包含捕获的帧号。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
ACameraCaptureSession_captureCallbacks
声明于camera/NdkCameraCaptureSession.h
struct ACameraCaptureSession_captureCallbacks ACameraCaptureSession_captureCallbacks
ACaptureCaptureSession_captureCallbacks 结构体,用于 ACameraCaptureSession_capture 和 ACameraCaptureSession_setRepeatingRequest。
ACameraCaptureSession_captureCallbacksV2
声明于camera/NdkCameraCaptureSession.h
struct ACameraCaptureSession_captureCallbacksV2 ACameraCaptureSession_captureCallbacksV2
此函数的功能与 ACameraCaptureSession_captureCallbacks 相同,但使用 captureCallback_startV2 回调而非 captureCallback_start,以支持检索帧编号。
ACameraCaptureSession_logicalCamera_captureCallback_failed
声明于camera/NdkCameraCaptureSession.h
void(* ACameraCaptureSession_logicalCamera_captureCallback_failed)(void *context, ACameraCaptureSession *session, ACaptureRequest *request, ALogicalCameraCaptureFailure *failure)
逻辑相机捕获失败回调函数的定义。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
ACameraCaptureSession_logicalCamera_captureCallback_result
声明于camera/NdkCameraCaptureSession.h
void(* ACameraCaptureSession_logicalCamera_captureCallback_result)(void *context, ACameraCaptureSession *session, ACaptureRequest *request, const ACameraMetadata *result, size_t physicalResultCount, const char **physicalCameraIds, const ACameraMetadata **physicalResults)
支持逻辑多相机的最终捕获结果回调函数的定义。
这与最终的 ACameraCaptureSession_captureCallback_result 具有相同的功能,并增加了在逻辑多相机中返回物理相机结果元数据的能力。
对于逻辑多相机,将使用底层物理相机的 ID 和结果元数据调用此函数,相应的捕获请求包含这些相机的目标。如果捕获请求不包含任何物理相机的特定目标,或者当前相机设备不是逻辑多相机,则 physicalResultCount 将为 0。
详情 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
ACameraCaptureSession_logicalCamera_captureCallbacks
声明于camera/NdkCameraCaptureSession.h
struct ACameraCaptureSession_logicalCamera_captureCallbacks ACameraCaptureSession_logicalCamera_captureCallbacks
此函数的功能与 ACameraCaptureSession_captureCallbacks 相同,但使用 onLogicalCameraCaptureCompleted 回调而非 onCaptureCompleted,以支持逻辑多相机。
ACameraCaptureSession_logicalCamera_captureCallbacksV2
声明于camera/NdkCameraCaptureSession.h
struct ACameraCaptureSession_logicalCamera_captureCallbacksV2 ACameraCaptureSession_logicalCamera_captureCallbacksV2
此函数的功能与 ACameraCaptureSession_logicalCamera_captureCallbacks 相同,但使用 captureCallback_startV2 回调而非 captureCallback_start,以支持检索帧编号。
ACameraCaptureSession_prepareCallback
声明于camera/NdkCameraCaptureSession.h
void(* ACameraCaptureSession_prepareCallback)(void *context, ANativeWindow *window, ACameraCaptureSession *session)
相机捕获会话 onWindowPrepared 回调函数的定义。
当输出窗口 Surface 的缓冲区预分配完成时,将调用此回调。
ACameraCaptureSession_prepare 调用启动输出窗口的缓冲区预分配。在分配进行期间,不得在捕获请求中使用该输出。调用此回调后,提供的输出可用作捕获请求的目标。如果在预分配过程中发生错误(例如,内存不足),即使某些缓冲区可能未能成功预分配,此回调仍会在遇到错误后调用。
在 API 34 中引入。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
ACameraCaptureSession_stateCallback
声明于camera/NdkCameraCaptureSession.h
void(* ACameraCaptureSession_stateCallback)(void *context, ACameraCaptureSession *session)
相机捕获会话状态回调函数的定义。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
ACameraCaptureSession_stateCallbacks
声明于camera/NdkCameraCaptureSession.h
struct ACameraCaptureSession_stateCallbacks ACameraCaptureSession_stateCallbacks
ACameraDevice
声明于camera/NdkCameraCaptureSession.h
struct ACameraDevice ACameraDevice
ACameraDevice 是一个不透明类型,提供对相机设备的访问。
可以使用 ACameraManager_openCamera 方法获取指针。
ACameraDevice
声明于camera/NdkCameraDevice.h
struct ACameraDevice ACameraDevice
ACameraDevice 是一个不透明类型,提供对相机设备的访问。
可以使用 ACameraManager_openCamera 方法获取指针。
ACameraDevice_ErrorStateCallback
声明于camera/NdkCameraDevice.h
void(* ACameraDevice_ErrorStateCallback)(void *context, ACameraDevice *device, int error)
相机设备错误状态回调,用于 ACameraDevice_StateCallbacks。
另请参阅: ERROR_CAMERA_IN_USE 另请参阅: ERROR_MAX_CAMERAS_IN_USE 另请参阅: ERROR_CAMERA_DISABLED 另请参阅: ERROR_CAMERA_DEVICE 另请参阅: ERROR_CAMERA_SERVICE
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
ACameraDevice_StateCallback
声明于camera/NdkCameraDevice.h
void(* ACameraDevice_StateCallback)(void *context, ACameraDevice *device)
相机设备状态回调,用于 ACameraDevice_StateCallbacks。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
ACameraDevice_StateCallbacks
声明于camera/NdkCameraDevice.h
struct ACameraDevice_StateCallbacks ACameraDevice_StateCallbacks
应用程序用于处理相机设备状态更改的回调,通过 ACameraManager_openCamera 注册。
ACameraDevice_stateCallbacks
声明于camera/NdkCameraDevice.h
ACameraDevice_StateCallbacks ACameraDevice_stateCallbacks
为了向后兼容性。
ACameraIdList
声明于camera/NdkCameraDevice.h
struct ACameraIdList ACameraIdList
用于保存相机设备 ID 列表的结构体。
这可以指从 ACameraManager_getCameraIdList 返回的已连接相机设备的 ID,也可以指传递到 ACameraDevice_createCaptureRequest_withPhysicalIds 的物理相机 ID。
ACameraManager
在camera/NdkCameraManager.h
中声明
struct ACameraManager ACameraManager
ACameraManager 是一个不透明类型,提供对相机服务的访问。
可以使用 ACameraManager_create 方法获取指针。
ACameraManager_AccessPrioritiesChangedCallback
在camera/NdkCameraManager.h
中声明
void(* ACameraManager_AccessPrioritiesChangedCallback)(void *context)
相机访问权限更改回调函数的定义。
通知相机访问优先级已更改,现在相机可能可以打开。先前因优先级较高的用户已在使用相机而被拒绝相机访问的应用,或因优先级较高的用户尝试打开相机而与活动相机会话断开连接的应用,如果仍想使用相机,应尝试再次打开相机。请注意,多个应用可能会同时收到此回调,并且实践中只有一个应用能成功打开相机,具体取决于确切的访问优先级级别和时机。此方法适用于多个应用可能同时处于恢复状态,且用户在它们之间切换焦点,或者当前使用相机的应用在全屏和画中画 (PiP) 状态之间切换的情况。在这种情况下,不会调用相机可用/不可用回调,但另一个应用现在可能拥有比当前使用相机的应用更高的相机访问优先级。
详情 | |||
---|---|---|---|
参数 |
|
ACameraManager_AvailabilityCallback
在camera/NdkCameraManager.h
中声明
void(* ACameraManager_AvailabilityCallback)(void *context, const char *cameraId)
相机可用性回调函数的定义。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
ACameraManager_AvailabilityCallbacks
在camera/NdkCameraManager.h
中声明
struct ACameraManager_AvailabilityListener ACameraManager_AvailabilityCallbacks
用于监听相机设备何时变为可用或不可用打开的监听器。
相机在不再使用时或连接新的可移除相机时变为可用。当某些应用或服务开始使用相机时或可移除相机断开连接时,相机变为不可用。
ACameraManager_ExtendedAvailabilityCallbacks
在camera/NdkCameraManager.h
中声明
struct ACameraManager_ExtendedAvailabilityListener ACameraManager_ExtendedAvailabilityCallbacks
用于监听相机设备何时变为可用/不可用打开或相机访问权限何时更改的监听器。
相机在不再使用时或连接新的可移除相机时变为可用。当某些应用或服务开始使用相机时或可移除相机断开连接时,相机变为不可用。
ACameraManager_PhysicalCameraAvailabilityCallback
在camera/NdkCameraManager.h
中声明
void(* ACameraManager_PhysicalCameraAvailabilityCallback)(void *context, const char *cameraId, const char *physicalCameraId)
物理相机可用性回调函数的定义。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
ACameraMetadata
声明于camera/NdkCameraMetadata.h
struct ACameraMetadata ACameraMetadata
ACameraMetadata 是一个不透明类型,提供对只读相机元数据的访问,例如相机特性(通过 ACameraManager_getCameraCharacteristics)或捕获结果(通过 ACameraCaptureSession_captureCallback_result)。
ACameraMetadata_const_entry
声明于camera/NdkCameraMetadata.h
struct ACameraMetadata_const_entry ACameraMetadata_const_entry
单个只读相机元数据条目。
每个条目都是一个值数组,但许多元数据字段在数组中可能只有一个条目。
ACameraMetadata_entry
声明于camera/NdkCameraMetadata.h
struct ACameraMetadata_entry ACameraMetadata_entry
单个相机元数据条目。
每个条目都是一个值数组,但许多元数据字段在数组中可能只有一个条目。
ACameraMetadata_rational
声明于camera/NdkCameraMetadata.h
struct ACameraMetadata_rational ACameraMetadata_rational
ACameraMetadata 中的 Rational 数据类型定义。
ACameraOutputTarget
在camera/NdkCaptureRequest.h
中声明
struct ACameraOutputTarget ACameraOutputTarget
单个输出目标的容器。
ACameraOutputTargets
在camera/NdkCaptureRequest.h
中声明
struct ACameraOutputTargets ACameraOutputTargets
输出目标的容器。
ACameraWindowType
在camera/NdkCameraWindowType.h
中声明
ANativeWindow ACameraWindowType
此文件定义了 NDK 和 VNDK 变体 camera2 NDK 使用的窗口类型。
这使我们能够共享 API 定义头文件并避免代码重复(因为 VNDK 版本不像 NDK 版本那样使用 ANativeWindow)。 已弃用。 不再需要。NDK 和 VNDK 现在都使用 ANativeWindow。直接使用 ANativeWindow。
ACaptureRequest
在camera/NdkCaptureRequest.h
中声明
struct ACaptureRequest ACaptureRequest
ACaptureRequest 是一个不透明类型,包含从相机设备捕获单个图像所需的设置和输出目标。
ACaptureRequest 包含捕获硬件(传感器、镜头、闪光灯)、处理管道、控制算法和输出缓冲区的配置。还包含要将图像数据发送到此捕获的目标 ANativeWindow 列表。
ACaptureRequest 由 ACameraDevice_createCaptureRequest 创建。
ACaptureRequest 会传递给 ACameraCaptureSession_capture 或 ACameraCaptureSession_setRepeatingRequest 以从相机捕获图像。
每个请求可以指定相机将捕获的数据发送到的目标 ANativeWindow 的不同子集。请求中使用的所有 ANativeWindow 必须是提交请求到会话时,上次调用 ACameraDevice_createCaptureSession 时提供的 ANativeWindow 列表的一部分。
例如,用于重复预览的请求可能只包含预览 SurfaceView 或 SurfaceTexture 的 ANativeWindow,而高分辨率静态捕获也将包含从为高分辨率 JPEG 图像配置的 AImageReader 获取的 ANativeWindow。
另请参阅: ACameraDevice_createCaptureRequest 另请参阅: ACameraCaptureSession_capture 另请参阅: ACameraCaptureSession_setRepeatingRequest
ACaptureSessionOutput
声明于camera/NdkCameraCaptureSession.h
struct ACaptureSessionOutput ACaptureSessionOutput
捕获会话输出的不透明对象,使用 ACaptureSessionOutput_create 或 ACaptureSessionSharedOutput_create 创建实例。
ACaptureSessionOutputContainer
声明于camera/NdkCameraDevice.h
struct ACaptureSessionOutputContainer ACaptureSessionOutputContainer
CaptureSessionOutput 容器的不透明对象,使用 ACaptureSessionOutputContainer_create 创建实例。
ALogicalCameraCaptureFailure
声明于camera/NdkCameraCaptureSession.h
struct ALogicalCameraCaptureFailure ALogicalCameraCaptureFailure
描述逻辑相机捕获失败的结构体。
acamera_metadata_enum_android_automotive_lens_facing_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_automotive_lens_facing acamera_metadata_enum_android_automotive_lens_facing_t
acamera_metadata_enum_android_automotive_location_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_automotive_location acamera_metadata_enum_android_automotive_location_t
acamera_metadata_enum_android_black_level_lock_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_black_level_lock acamera_metadata_enum_android_black_level_lock_t
acamera_metadata_enum_android_color_correction_aberration_mode_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_color_correction_aberration_mode acamera_metadata_enum_android_color_correction_aberration_mode_t
acamera_metadata_enum_android_color_correction_mode_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_color_correction_mode acamera_metadata_enum_android_color_correction_mode_t
需要枚举的各种条目的枚举定义。
acamera_metadata_enum_android_control_ae_antibanding_mode_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_ae_antibanding_mode acamera_metadata_enum_android_control_ae_antibanding_mode_t
acamera_metadata_enum_android_control_ae_lock_available_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_ae_lock_available acamera_metadata_enum_android_control_ae_lock_available_t
acamera_metadata_enum_android_control_ae_lock_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_ae_lock acamera_metadata_enum_android_control_ae_lock_t
acamera_metadata_enum_android_control_ae_mode_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_ae_mode acamera_metadata_enum_android_control_ae_mode_t
acamera_metadata_enum_android_control_ae_precapture_trigger_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_ae_precapture_trigger acamera_metadata_enum_android_control_ae_precapture_trigger_t
acamera_metadata_enum_android_control_ae_state_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_ae_state acamera_metadata_enum_android_control_ae_state_t
acamera_metadata_enum_android_control_af_mode_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_af_mode acamera_metadata_enum_android_control_af_mode_t
acamera_metadata_enum_android_control_af_scene_change_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_af_scene_change acamera_metadata_enum_android_control_af_scene_change_t
acamera_metadata_enum_android_control_af_state_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_af_state acamera_metadata_enum_android_control_af_state_t
acamera_metadata_enum_android_control_af_trigger_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_af_trigger acamera_metadata_enum_android_control_af_trigger_t
acamera_metadata_enum_android_control_autoframing_available_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_autoframing_available acamera_metadata_enum_android_control_autoframing_available_t
acamera_metadata_enum_android_control_autoframing_state_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_autoframing_state acamera_metadata_enum_android_control_autoframing_state_t
acamera_metadata_enum_android_control_autoframing_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_autoframing acamera_metadata_enum_android_control_autoframing_t
acamera_metadata_enum_android_control_awb_lock_available_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_awb_lock_available acamera_metadata_enum_android_control_awb_lock_available_t
acamera_metadata_enum_android_control_awb_lock_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_awb_lock acamera_metadata_enum_android_control_awb_lock_t
acamera_metadata_enum_android_control_awb_mode_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_awb_mode acamera_metadata_enum_android_control_awb_mode_t
acamera_metadata_enum_android_control_awb_state_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_awb_state acamera_metadata_enum_android_control_awb_state_t
acamera_metadata_enum_android_control_capture_intent_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_capture_intent acamera_metadata_enum_android_control_capture_intent_t
acamera_metadata_enum_android_control_effect_mode_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_effect_mode acamera_metadata_enum_android_control_effect_mode_t
acamera_metadata_enum_android_control_enable_zsl_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_enable_zsl acamera_metadata_enum_android_control_enable_zsl_t
acamera_metadata_enum_android_control_extended_scene_mode_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_extended_scene_mode acamera_metadata_enum_android_control_extended_scene_mode_t
acamera_metadata_enum_android_control_low_light_boost_state_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_low_light_boost_state acamera_metadata_enum_android_control_low_light_boost_state_t
acamera_metadata_enum_android_control_mode_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_mode acamera_metadata_enum_android_control_mode_t
acamera_metadata_enum_android_control_scene_mode_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_scene_mode acamera_metadata_enum_android_control_scene_mode_t
acamera_metadata_enum_android_control_settings_override_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_settings_override acamera_metadata_enum_android_control_settings_override_t
acamera_metadata_enum_android_control_video_stabilization_mode_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_control_video_stabilization_mode acamera_metadata_enum_android_control_video_stabilization_mode_t
acamera_metadata_enum_android_depth_available_depth_stream_configurations_maximum_resolution_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution acamera_metadata_enum_android_depth_available_depth_stream_configurations_maximum_resolution_t
acamera_metadata_enum_android_depth_available_depth_stream_configurations_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_depth_available_depth_stream_configurations acamera_metadata_enum_android_depth_available_depth_stream_configurations_t
acamera_metadata_enum_android_depth_available_dynamic_depth_stream_configurations_maximum_resolution_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution acamera_metadata_enum_android_depth_available_dynamic_depth_stream_configurations_maximum_resolution_t
acamera_metadata_enum_android_depth_available_dynamic_depth_stream_configurations_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations acamera_metadata_enum_android_depth_available_dynamic_depth_stream_configurations_t
acamera_metadata_enum_android_depth_depth_is_exclusive_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_depth_depth_is_exclusive acamera_metadata_enum_android_depth_depth_is_exclusive_t
acamera_metadata_enum_android_distortion_correction_mode_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_distortion_correction_mode acamera_metadata_enum_android_distortion_correction_mode_t
acamera_metadata_enum_android_edge_mode_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_edge_mode acamera_metadata_enum_android_edge_mode_t
acamera_metadata_enum_android_flash_info_available_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_flash_info_available acamera_metadata_enum_android_flash_info_available_t
acamera_metadata_enum_android_flash_mode_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_flash_mode acamera_metadata_enum_android_flash_mode_t
acamera_metadata_enum_android_flash_state_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_flash_state acamera_metadata_enum_android_flash_state_t
acamera_metadata_enum_android_heic_available_heic_stream_configurations_maximum_resolution_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution acamera_metadata_enum_android_heic_available_heic_stream_configurations_maximum_resolution_t
acamera_metadata_enum_android_heic_available_heic_stream_configurations_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_heic_available_heic_stream_configurations acamera_metadata_enum_android_heic_available_heic_stream_configurations_t
acamera_metadata_enum_android_hot_pixel_mode_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_hot_pixel_mode acamera_metadata_enum_android_hot_pixel_mode_t
acamera_metadata_enum_android_info_supported_hardware_level_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_info_supported_hardware_level acamera_metadata_enum_android_info_supported_hardware_level_t
acamera_metadata_enum_android_jpegr_available_jpeg_r_stream_configurations_maximum_resolution_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations_maximum_resolution acamera_metadata_enum_android_jpegr_available_jpeg_r_stream_configurations_maximum_resolution_t
acamera_metadata_enum_android_jpegr_available_jpeg_r_stream_configurations_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations acamera_metadata_enum_android_jpegr_available_jpeg_r_stream_configurations_t
acamera_metadata_enum_android_lens_facing_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_lens_facing acamera_metadata_enum_android_lens_facing_t
acamera_metadata_enum_android_lens_info_focus_distance_calibration_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_lens_info_focus_distance_calibration acamera_metadata_enum_android_lens_info_focus_distance_calibration_t
acamera_metadata_enum_android_lens_optical_stabilization_mode_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_lens_optical_stabilization_mode acamera_metadata_enum_android_lens_optical_stabilization_mode_t
acamera_metadata_enum_android_lens_pose_reference_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_lens_pose_reference acamera_metadata_enum_android_lens_pose_reference_t
acamera_metadata_enum_android_lens_state_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_lens_state acamera_metadata_enum_android_lens_state_t
acamera_metadata_enum_android_logical_multi_camera_sensor_sync_type_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type acamera_metadata_enum_android_logical_multi_camera_sensor_sync_type_t
acamera_metadata_enum_android_noise_reduction_mode_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_noise_reduction_mode acamera_metadata_enum_android_noise_reduction_mode_t
acamera_metadata_enum_android_request_available_capabilities_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_request_available_capabilities acamera_metadata_enum_android_request_available_capabilities_t
acamera_metadata_enum_android_request_available_color_space_profiles_map_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_request_available_color_space_profiles_map acamera_metadata_enum_android_request_available_color_space_profiles_map_t
acamera_metadata_enum_android_request_available_dynamic_range_profiles_map_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map acamera_metadata_enum_android_request_available_dynamic_range_profiles_map_t
acamera_metadata_enum_android_scaler_available_recommended_stream_configurations_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations acamera_metadata_enum_android_scaler_available_recommended_stream_configurations_t
acamera_metadata_enum_android_scaler_available_stream_configurations_maximum_resolution_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution acamera_metadata_enum_android_scaler_available_stream_configurations_maximum_resolution_t
acamera_metadata_enum_android_scaler_available_stream_configurations_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_scaler_available_stream_configurations acamera_metadata_enum_android_scaler_available_stream_configurations_t
acamera_metadata_enum_android_scaler_available_stream_use_cases_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_scaler_available_stream_use_cases acamera_metadata_enum_android_scaler_available_stream_use_cases_t
acamera_metadata_enum_android_scaler_cropping_type_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_scaler_cropping_type acamera_metadata_enum_android_scaler_cropping_type_t
acamera_metadata_enum_android_scaler_multi_resolution_stream_supported_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported acamera_metadata_enum_android_scaler_multi_resolution_stream_supported_t
acamera_metadata_enum_android_scaler_physical_camera_multi_resolution_stream_configurations_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations acamera_metadata_enum_android_scaler_physical_camera_multi_resolution_stream_configurations_t
acamera_metadata_enum_android_scaler_rotate_and_crop_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_scaler_rotate_and_crop acamera_metadata_enum_android_scaler_rotate_and_crop_t
acamera_metadata_enum_android_sensor_info_color_filter_arrangement_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement acamera_metadata_enum_android_sensor_info_color_filter_arrangement_t
acamera_metadata_enum_android_sensor_info_lens_shading_applied_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_sensor_info_lens_shading_applied acamera_metadata_enum_android_sensor_info_lens_shading_applied_t
acamera_metadata_enum_android_sensor_info_timestamp_source_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_sensor_info_timestamp_source acamera_metadata_enum_android_sensor_info_timestamp_source_t
acamera_metadata_enum_android_sensor_pixel_mode_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_sensor_pixel_mode acamera_metadata_enum_android_sensor_pixel_mode_t
acamera_metadata_enum_android_sensor_raw_binning_factor_used_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_sensor_raw_binning_factor_used acamera_metadata_enum_android_sensor_raw_binning_factor_used_t
acamera_metadata_enum_android_sensor_reference_illuminant1_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_sensor_reference_illuminant1 acamera_metadata_enum_android_sensor_reference_illuminant1_t
acamera_metadata_enum_android_sensor_test_pattern_mode_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_sensor_test_pattern_mode acamera_metadata_enum_android_sensor_test_pattern_mode_t
acamera_metadata_enum_android_shading_mode_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_shading_mode acamera_metadata_enum_android_shading_mode_t
acamera_metadata_enum_android_statistics_face_detect_mode_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_statistics_face_detect_mode acamera_metadata_enum_android_statistics_face_detect_mode_t
acamera_metadata_enum_android_statistics_hot_pixel_map_mode_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode acamera_metadata_enum_android_statistics_hot_pixel_map_mode_t
acamera_metadata_enum_android_statistics_lens_shading_map_mode_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_statistics_lens_shading_map_mode acamera_metadata_enum_android_statistics_lens_shading_map_mode_t
acamera_metadata_enum_android_statistics_ois_data_mode_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_statistics_ois_data_mode acamera_metadata_enum_android_statistics_ois_data_mode_t
acamera_metadata_enum_android_statistics_scene_flicker_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_statistics_scene_flicker acamera_metadata_enum_android_statistics_scene_flicker_t
acamera_metadata_enum_android_sync_frame_number_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_sync_frame_number acamera_metadata_enum_android_sync_frame_number_t
acamera_metadata_enum_android_sync_max_latency_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_sync_max_latency acamera_metadata_enum_android_sync_max_latency_t
acamera_metadata_enum_android_tonemap_mode_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_tonemap_mode acamera_metadata_enum_android_tonemap_mode_t
acamera_metadata_enum_android_tonemap_preset_curve_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_enum_acamera_tonemap_preset_curve acamera_metadata_enum_android_tonemap_preset_curve_t
acamera_metadata_section_start_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_section_start acamera_metadata_section_start_t
枚举空间中的层级位置。
acamera_metadata_section_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_section acamera_metadata_section_t
acamera_metadata_tag_t
声明于camera/NdkCameraMetadataTags.h
enum acamera_metadata_tag acamera_metadata_tag_t
相机元数据标签主枚举类型。
函数
ACameraCaptureSession_abortCaptures
声明于camera/NdkCameraCaptureSession.h
camera_status_t ACameraCaptureSession_abortCaptures( ACameraCaptureSession *session )
尽快丢弃所有当前待处理和进行中的捕获。
相机设备将尽快丢弃其当前所有工作。一些正在进行的捕获可能成功完成并调用 ACameraCaptureSession_captureCallbacks#onCaptureCompleted,而其他则会触发其 ACameraCaptureSession_captureCallbacks#onCaptureFailed 回调。如果设置了重复请求列表,则会清除。
此方法是使用 ACameraDevice_createCaptureSession 将相机设备快速切换到新会话的最快方法,代价是丢弃正在进行的工作。必须在新会话创建之前调用此方法。一旦所有挂起的请求都已完成或丢弃,如果会话尚未关闭,将调用 ACameraCaptureSession_stateCallbacks#onReady 回调。否则,当相机设备创建新会话且旧会话正从内存中移除时,将触发 ACameraCaptureSession_stateCallbacks#onClosed 回调。
取消会话至少会短暂暂停相机设备的数据流,因为一旦相机设备被清空,第一个新请求必须通过整个相机管道才能生成新的输出缓冲区。
这意味着不建议仅仅为了移除挂起请求而使用 ACameraCaptureSession_abortCaptures;最好将其用于快速切换输出配置或取消耗时较长的进行中请求(例如多秒捕获)。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
|
ACameraCaptureSession_capture
声明于camera/NdkCameraCaptureSession.h
camera_status_t ACameraCaptureSession_capture( ACameraCaptureSession *session, ACameraCaptureSession_captureCallbacks *callbacks, int numRequests, ACaptureRequest **requests, int *captureSequenceId )
提交一组请求,以尽可能短的时间按序列作为连拍进行捕获。
突发捕获将以最短的时间完成,并且不会与由其他捕获或重复调用提交的请求交错。
每次捕获都会生成一个 ACameraMetadata 作为捕获结果,并生成一个或多个目标 ANativeWindow 的图像缓冲区。目标 ANativeWindows(通过 ACaptureRequest_addTarget 设置)必须是在创建此捕获会话时提供的 ANativeWindow 子集。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
|
ACameraCaptureSession_captureV2
声明于camera/NdkCameraCaptureSession.h
camera_status_t ACameraCaptureSession_captureV2( ACameraCaptureSession *session, ACameraCaptureSession_captureCallbacksV2 *callbacks, int numRequests, ACaptureRequest **requests, int *captureSequenceId )
此函数的功能与 ACameraCaptureSession_capture 相同,并增加了对相机回调 v2 的支持,其中 onCaptureStarted 回调在其参数列表中增加了帧编号。
ACameraCaptureSession_close
声明于camera/NdkCameraCaptureSession.h
void ACameraCaptureSession_close( ACameraCaptureSession *session )
关闭此捕获会话。
关闭会话会释放会话的目标输出 Surface,以便与新会话或其他可以绘制到 Surface 的 API 重用。
请注意,使用 ACameraDevice_createCaptureSession 创建新的捕获会话将自动关闭任何现有捕获会话,并调用旧会话监听器的 ACameraCaptureSession_stateCallbacks#onClosed 回调。建议直接使用 ACameraDevice_createCaptureSession 而不关闭旧会话,以便快速切换到新会话,因为未更改的目标输出可以更有效地重用。
会话关闭后且在调用 ACameraCaptureSession_stateCallbacks#onClosed 之前,在会话上调用的所有方法都将返回 ACAMERA_ERROR_SESSION_CLOSED,并且任何重复请求都会停止(如同调用了 ACameraCaptureSession_stopRepeating)。但是,提交到会话的任何正在进行的捕获请求将正常完成;一旦所有捕获都已完成并且会话已拆除,将调用 ACameraCaptureSession_stateCallbacks#onClosed 回调,并且该会话将从内存中移除。
关闭会话是幂等的;多次关闭没有效果。
详情 | |||
---|---|---|---|
参数 |
|
ACameraCaptureSession_getDevice
声明于camera/NdkCameraCaptureSession.h
camera_status_t ACameraCaptureSession_getDevice( ACameraCaptureSession *session, ACameraDevice **device )
如果方法成功,在 device 参数中获取与此捕获会话关联的 ACameraDevice 指针。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
ACameraCaptureSession_logicalCamera_capture
声明于camera/NdkCameraCaptureSession.h
camera_status_t ACameraCaptureSession_logicalCamera_capture( ACameraCaptureSession *session, ACameraCaptureSession_logicalCamera_captureCallbacks *callbacks, int numRequests, ACaptureRequest **requests, int *captureSequenceId )
此函数的功能与 ACameraCaptureSession_capture 相同,并增加了对逻辑多相机的支持,其中捕获回调支持物理相机的结果元数据。
ACameraCaptureSession_logicalCamera_captureV2
声明于camera/NdkCameraCaptureSession.h
camera_status_t ACameraCaptureSession_logicalCamera_captureV2( ACameraCaptureSession *session, ACameraCaptureSession_logicalCamera_captureCallbacksV2 *callbacks, int numRequests, ACaptureRequest **requests, int *captureSequenceId )
此函数的功能与 ACameraCaptureSession_logical_capture 相同,并增加了对逻辑多相机回调 v2 的支持,其中 onCaptureStarted 回调在其参数列表中增加了帧编号。
ACameraCaptureSession_logicalCamera_setRepeatingRequest
声明于camera/NdkCameraCaptureSession.h
camera_status_t ACameraCaptureSession_logicalCamera_setRepeatingRequest( ACameraCaptureSession *session, ACameraCaptureSession_logicalCamera_captureCallbacks *callbacks, int numRequests, ACaptureRequest **requests, int *captureSequenceId )
此函数的功能与 ACameraCaptureSession_setRepeatingRequest 相同,并增加了对逻辑多相机的支持,其中捕获回调支持物理相机的结果元数据。
ACameraCaptureSession_logicalCamera_setRepeatingRequestV2
声明于camera/NdkCameraCaptureSession.h
camera_status_t ACameraCaptureSession_logicalCamera_setRepeatingRequestV2( ACameraCaptureSession *session, ACameraCaptureSession_logicalCamera_captureCallbacksV2 *callbacks, int numRequests, ACaptureRequest **requests, int *captureSequenceId )
此函数的功能与 ACameraCaptureSession_logical_setRepeatingRequest 相同,并增加了对逻辑多相机回调 v2 的支持,其中 onCaptureStarted 回调在其参数列表中增加了帧编号。
ACameraCaptureSession_prepareWindow
声明于camera/NdkCameraCaptureSession.h
camera_status_t ACameraCaptureSession_prepareWindow( ACameraCaptureSession *session, ANativeWindow *window )
为输出窗口预分配所有缓冲区。
通常,给定输出窗口的图像缓冲区是按需分配的,以最大程度地减少启动延迟和内存开销。
但是,在某些情况下,可能需要先分配缓冲区,然后再向设备提交针对该窗口的任何请求。大型缓冲区的分配可能需要一些时间,这可能导致在分配了足够的缓冲区以达到稳定状态行为之前提交请求的延迟。此类延迟可能导致突发捕获比预期花费更长时间,或导致预览输出出现跳帧或卡顿。
可以使用 ACameraCaptureSession_prepare() 调用来执行此预分配。它只能在窗口用作请求的目标之前为给定输出窗口调用。分配的缓冲区数量是提供输出窗口的使用者所需的数量与相机设备填充其管道所需的最大数量的总和。由于此数量可能大于稳定状态操作实际需要的数量,因此使用此调用可能导致内存消耗高于正常按需行为的结果。此方法也会延迟向给定 Surface 输出第一个像素的时间,以换取分配完成后更流畅的帧速率。
例如,创建一个 maxImages 参数为 10 的 AImageReader,但一次只使用 3 个同步 AImage 的应用,通常只会导致分配这 3 个图像(加上相机设备为流畅运行所需的图像)。但是,在 AImageReader 的窗口上使用 ACameraCaptureSession_prepare() 将导致分配所有 10 个 AImage。因此,使用此方法的应用应注意仅请求其应用实际需要的缓冲区数量。
如果在连续的会话中使用相同的输出窗口(未显式关闭第一个会话),则其已分配的缓冲区将被结转,并且如果在第一个会话中用作捕获请求的目标,则不能在第二个会话中对其调用 prepare。如果调用,则该方法将返回 ACAMERA_ERROR_INVALID_PARAMETER。
分配完成后,将使用提供给此方法的输出来调用 ACameraCaptureSession_prepareCallback#onWindowPrepared
。在 prepare 调用和 ACameraCaptureSession_prepareCallback#onWindowPrepared
调用之间,提供给 prepare 的输出不得用作提交到此会话的捕获请求的目标。
LEGACY 设备无法预分配输出缓冲区;对于这些设备,将立即调用 ACameraCaptureSession_prepareCallback#onWindowPrepared
,并且不执行预分配。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
ACameraCaptureSession_setRepeatingRequest
声明于camera/NdkCameraCaptureSession.h
camera_status_t ACameraCaptureSession_setRepeatingRequest( ACameraCaptureSession *session, ACameraCaptureSession_captureCallbacks *callbacks, int numRequests, ACaptureRequest **requests, int *captureSequenceId )
通过此捕获会话请求无限重复捕获图像序列。
通过此方法,相机设备将持续捕获图像,以最快速度循环遍历提供的 ACaptureRequest 列表中的设置。
如果通过 ACameraCaptureSession_capture 提交请求,则将在处理优先级更高的请求之前完成当前请求列表的重复。这保证应用始终收到以最小时间捕获的完整重复突发捕获,而不是与优先级更高的捕获交错或不完整的捕获。
重复突发请求是应用维护预览或其他连续帧流的简单方式,其中每个请求以可预测的方式不同,而无需持续通过 ACameraCaptureSession_capture 提交请求。
要停止重复捕获,请调用 ACameraCaptureSession_stopRepeating。但是,任何正在进行的突发捕获仍将完成,处于捕获过程中的任何突发捕获也将完成。调用 ACameraCaptureSession_abortCaptures 也会清除请求。
调用此方法将替换先前通过此方法设置的重复请求集,但任何正在进行的突发捕获将在使用新重复突发捕获之前完成。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
|
ACameraCaptureSession_setRepeatingRequestV2
声明于camera/NdkCameraCaptureSession.h
camera_status_t ACameraCaptureSession_setRepeatingRequestV2( ACameraCaptureSession *session, ACameraCaptureSession_captureCallbacksV2 *callbacks, int numRequests, ACaptureRequest **requests, int *captureSequenceId )
此函数的功能与 ACameraCaptureSession_logical_setRepeatingRequest 相同,并增加了对逻辑多相机回调 v2 的支持,其中 onCaptureStarted 回调在其参数列表中增加了帧编号。
ACameraCaptureSession_setWindowPreparedCallback
声明于camera/NdkCameraCaptureSession.h
camera_status_t ACameraCaptureSession_setWindowPreparedCallback( ACameraCaptureSession *session, void *context, ACameraCaptureSession_prepareCallback callback )
设置回调函数,当客户端通过调用 ACameraCaptureSession_prepareWindow 请求预分配缓冲区的输出窗口完成缓冲区预分配时,将调用此回调函数。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
ACameraCaptureSession_stopRepeating
声明于camera/NdkCameraCaptureSession.h
camera_status_t ACameraCaptureSession_stopRepeating( ACameraCaptureSession *session )
取消由 ACameraCaptureSession_setRepeatingRequest 设置的任何正在进行的重复捕获。
对通过 ACameraCaptureSession_capture 提交的请求没有影响。
任何当前正在进行的捕获都将完成,任何正在进行的突发捕获也将完成。要确保设备已完成处理所有捕获请求并处于就绪状态,请在此方法调用后等待 ACameraCaptureSession_stateCallbacks#onReady 回调。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
|
ACameraCaptureSession_updateSharedOutput
声明于camera/NdkCameraCaptureSession.h
camera_status_t ACameraCaptureSession_updateSharedOutput( ACameraCaptureSession *session, ACaptureSessionOutput *output )
更新共享的 ACaptureSessionOutput。
通过调用 ACaptureSessionSharedOutput_add 或 ACaptureSessionSharedOutput_remove 修改的共享 ACaptureSessionOutput(参见 ACaptureSessionSharedOutput_create)必须通过调用此方法进行更新,其更改才会生效。更新调用返回 ACAMERA_OK 后,任何新添加的 native window 都可以用作后续捕获请求的目标。
已移除的本地窗口不得属于任何活动的重复或单次/突发请求,也不得有任何待处理的结果。考虑通过 ACameraCaptureSession_setRepeatingRequest 更新重复请求,然后等待序列完成时的最后帧号 ACameraCaptureSession_captureCallbacks#onCaptureSequenceCompleted。
新增的本地窗口不得属于任何其他已注册的 ACaptureSessionOutput,并且必须兼容。兼容的窗口必须具有匹配的格式、旋转和消费者用途。
共享的 ACameraCaptureSession 最多可支持 4 个额外的本地窗口。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
ACameraDevice_close
声明于camera/NdkCameraDevice.h
camera_status_t ACameraDevice_close( ACameraDevice *device )
同步关闭连接并释放此 ACameraDevice。
调用此方法后访问 ACameraDevice 会导致崩溃。
调用此方法后,对与此 ACameraDevice 关联的活动 ACameraCaptureSession 的所有调用都将返回 ACAMERA_ERROR_SESSION_CLOSED,但对 ACameraCaptureSession_close 的调用除外。
此方法将停止通过 ACameraCaptureSession_setRepeatingRequest 发送的所有重复捕获,并阻塞直到所有通过 ACameraCaptureSession_capture 发送的捕获请求完成。方法返回后,相机设备将从内存中移除,访问已关闭的相机设备指针会导致崩溃。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
|
ACameraDevice_createCaptureRequest
声明于camera/NdkCameraDevice.h
camera_status_t ACameraDevice_createCaptureRequest( const ACameraDevice *device, ACameraDevice_request_template templateId, ACaptureRequest **request )
创建一个用于捕获图像的 ACaptureRequest,使用目标用例的模板进行初始化。
这些设置是为此相机设备选择的最佳选项,因此不建议将同一请求用于其他相机设备。
另请参阅: TEMPLATE_PREVIEW 另请参阅: TEMPLATE_RECORD 另请参阅: TEMPLATE_STILL_CAPTURE 另请参阅: TEMPLATE_VIDEO_SNAPSHOT 另请参阅: TEMPLATE_MANUAL
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
ACameraDevice_createCaptureRequest_withPhysicalIds
声明于camera/NdkCameraDevice.h
camera_status_t ACameraDevice_createCaptureRequest_withPhysicalIds( const ACameraDevice *device, ACameraDevice_request_template templateId, const ACameraIdList *physicalIdList, ACaptureRequest **request )
创建一个用于捕获图像的逻辑多相机 ACaptureRequest,使用目标用例的模板进行初始化,并能够指定物理相机设置。
这些设置是为此相机设备选择的最佳选项,因此不建议将同一请求用于其他相机设备。
请注意,对于物理相机设置中的所有键,只有 ACAMERA_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS 中声明的键才适用。相机设备会忽略所有其他键。
另请参阅: TEMPLATE_PREVIEW 另请参阅: TEMPLATE_RECORD 另请参阅: TEMPLATE_STILL_CAPTURE 另请参阅: TEMPLATE_VIDEO_SNAPSHOT 另请参阅: TEMPLATE_MANUAL
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
ACameraDevice_createCaptureSession
声明于camera/NdkCameraDevice.h
camera_status_t ACameraDevice_createCaptureSession( ACameraDevice *device, const ACaptureSessionOutputContainer *outputs, const ACameraCaptureSession_stateCallbacks *callbacks, ACameraCaptureSession **session )
通过向相机设备提供 ANativeWindow 的目标输出集来创建一个新的相机捕获会话。
如果存在预先存在的会话,则之前的会话将自动关闭。但是,应用仍需要在之前的会话上调用 ACameraCaptureSession_close。否则,之前会话持有的资源将不会被释放。
活动的捕获会话确定了相机设备针对每个捕获请求的潜在输出 ANativeWindow 集合。给定的请求可以使用所有或部分输出。创建 ACameraCaptureSession 后,可以使用 ACameraCaptureSession_capture 或 ACameraCaptureSession_setRepeatingRequest 提交请求。
通常,此方法使用的 ANativeWindow 可以通过 ANativeWindow_fromSurface NDK 方法从 Surface Java 对象获取。适合作为相机输出的 Surface 或 ANativeWindow 可以针对各种用例和目标创建。
- 对于绘制到 SurfaceView:创建 SurfaceView 的 Surface 后,使用 android.view.SurfaceHolder#setFixedSize 将 Surface 的大小设置为 ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS 返回的 PRIVATE 输出大小之一,然后通过调用 android.view.SurfaceHolder#getSurface 获取 Surface。如果应用未设置大小,相机设备将将其四舍五入到小于 1080p 的最接近的支持大小。
- 对于通过 SurfaceTexture 访问 OpenGL 纹理:在使用 Surface#Surface(SurfaceTexture) 从 SurfaceTexture 创建 Surface 之前,使用 setDefaultBufferSize 将 SurfaceTexture 的大小设置为 ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS 返回的 PRIVATE 输出大小之一。如果应用未设置大小,相机设备将将其设置为小于 1080p 的最小支持大小。
- 对于使用 MediaCodec 录制:在将媒体编解码器配置为使用 ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS 返回的 PRIVATE 输出大小之一后,调用 android.media.MediaCodec#createInputSurface。
- 对于使用 MediaRecorder 录制:在将媒体录制器配置为使用 ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS 返回的 PRIVATE 输出大小之一,或配置为使用受支持的 CamcorderProfiles 之一后,调用 android.media.MediaRecorder#getSurface。
- 对于在应用中访问 RAW、未压缩 YUV 或压缩 JPEG 数据:使用 AImageReader_new 方法创建一个 AImageReader 对象,并使用 ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS 提供的受支持输出格式之一。然后使用 AImageReader_getWindow 从中获取 ANativeWindow。如果 AImageReader 大小未设置为受支持的大小,相机设备将将其四舍五入到小于 1080p 的受支持大小。
相机设备在此调用时将查询每个 ANativeWindow 的大小和格式,因此此时必须将它们设置为有效设置。
会话配置可能需要几百毫秒才能完成,因为相机硬件可能需要通电或重新配置。
如果调用此方法时已存在先前的 ACameraCaptureSession,则之前的会话将不再能够接受新的捕获请求并将被关闭。在关闭之前,之前会话上的任何进行中的捕获请求都将完成。为了最大限度地缩短过渡时间,在创建新会话之前,可以使用 ACameraCaptureSession_abortCaptures 方法丢弃先前捕获会话的剩余请求。请注意,一旦创建新会话,旧会话的捕获就无法再中止。
使用更高分辨率的输出或更多的输出,可能会导致设备的输出速率变慢。
使用空列表配置会话将关闭当前会话(如果存在)。这可用于释放当前会话的目标 Surface 以供其他用途。
虽然在配置单个输出流时可以使用 ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS 中的任何大小,但在同时配置多个输出时,给定的相机设备可能无法支持所有大小、格式和目标的组合。下表列出了根据相机设备的功能,流和目标组合的最大保证分辨率。
如果应用尝试使用超出下表所述限制的一组目标创建会话,则可能会出现以下三种情况之一。第一,会话可能成功创建并正常工作。第二,会话可能成功创建,但相机设备无法达到 ACAMERA_SCALER_AVAILABLE_MIN_FRAME_DURATIONS 中所述的帧率保证。第三,如果根本无法使用输出集,则会话创建将完全失败,并返回 ACAMERA_ERROR_STREAM_CONFIGURE_FAIL。
对于类型列,PRIV
指的是输出格式 AIMAGE_FORMAT_PRIVATE,YUV
指的是输出格式 AIMAGE_FORMAT_YUV_420_888,JPEG
指的是输出格式 AIMAGE_FORMAT_JPEG,RAW
指的是输出格式 AIMAGE_FORMAT_RAW16。
对于最大尺寸列,PREVIEW
指的是与设备屏幕分辨率或 1080p (1920x1080)
最佳匹配的大小,取较小者。RECORD
指的是由 android.media.CamcorderProfiles 确定的相机设备支持的最大录制分辨率。MAXIMUM
指的是相机设备针对 ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS 中该格式或目标的最大输出分辨率。
要使用这些表格,请确定所需的输出数量以及格式/目标,并在表中找到包含这些目标的行。尺寸表示可以使用的最大尺寸集;保证对于这些目标,列表中的尺寸以及 ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS 给定的列表中小于这些尺寸的任何尺寸,都可以成功用于创建会话。例如,如果某行指示 8 兆像素 (MP) YUV_420_888 输出可以与 2 MP PRIV
输出一起使用,则可以使用目标 [8 MP YUV, 2 MP PRIV]
或目标 [2 MP YUV, 2 MP PRIV]
创建会话;但是,目标为 [8 MP YUV, 4 MP PRIV]
、[4 MP YUV, 4 MP PRIV]
或 [8 MP PRIV, 2 MP YUV]
的会话则不保证能正常工作,除非表中的其他行列出了此类组合。
旧版设备 (ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL==
LEGACY) 至少支持以下流组合
LEGACY 级别保证配置 | ||||||
目标 1 | 目标 2 | 目标 3 | 示例用例 | |||
类型 | 最大尺寸 | 类型 | 最大尺寸 | 类型 | 最大尺寸 | |
PRIV
|
MAXIMUM
|
简单预览、GPU 视频处理或无预览视频录制。 | ||||
JPEG
|
MAXIMUM
|
无取景器静止图像捕获。 | ||||
YUV
|
MAXIMUM
|
应用内视频/图像处理。 | ||||
PRIV
|
PREVIEW
|
JPEG
|
MAXIMUM
|
标准静止图像。 | ||
YUV
|
PREVIEW
|
JPEG
|
MAXIMUM
|
应用内处理加静止捕获。 | ||
PRIV
|
PREVIEW
|
PRIV
|
PREVIEW
|
标准录制。 | ||
PRIV
|
PREVIEW
|
YUV
|
PREVIEW
|
预览加应用内处理。 | ||
PRIV
|
PREVIEW
|
YUV
|
PREVIEW
|
JPEG
|
MAXIMUM
|
静止捕获加应用内处理。 |
LIMITED 级别 (ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL==
LIMITED) 设备除支持 LEGACY 设备支持的组合外,至少还支持以下流组合
LIMITED 级别附加保证配置 | ||||||
目标 1 | 目标 2 | 目标 3 | 示例用例 | |||
类型 | 最大尺寸 | 类型 | 最大尺寸 | 类型 | 最大尺寸 | |
PRIV
|
PREVIEW
|
PRIV
|
RECORD
|
带预览的高分辨率视频录制。 | ||
PRIV
|
PREVIEW
|
YUV
|
RECORD
|
带预览的高分辨率应用内视频处理。 | ||
YUV
|
PREVIEW
|
YUV
|
RECORD
|
双输入应用内视频处理。 | ||
PRIV
|
PREVIEW
|
PRIV
|
RECORD
|
JPEG
|
RECORD
|
带视频快照的高分辨率录制。 |
PRIV
|
PREVIEW
|
YUV
|
RECORD
|
JPEG
|
RECORD
|
带视频快照的高分辨率应用内处理。 |
YUV
|
PREVIEW
|
YUV
|
PREVIEW
|
JPEG
|
MAXIMUM
|
双输入应用内处理加静止捕获。 |
FULL 级别 (ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL==
FULL) 设备除支持 LIMITED 设备支持的组合外,至少还支持以下流组合
FULL 级别附加保证配置 | ||||||
目标 1 | 目标 2 | 目标 3 | 示例用例 | |||
类型 | 最大尺寸 | 类型 | 最大尺寸 | 类型 | 最大尺寸 | |
PRIV
|
PREVIEW
|
PRIV
|
MAXIMUM
|
带预览的最大分辨率 GPU 处理。 | ||
PRIV
|
PREVIEW
|
YUV
|
MAXIMUM
|
带预览的最大分辨率应用内处理。 | ||
YUV
|
PREVIEW
|
YUV
|
MAXIMUM
|
最大分辨率双输入应用内处理。 | ||
PRIV
|
PREVIEW
|
PRIV
|
PREVIEW
|
JPEG
|
MAXIMUM
|
视频录制带最大尺寸视频快照 |
YUV
|
640x480
|
PRIV
|
PREVIEW
|
YUV
|
MAXIMUM
|
标准视频录制加最大分辨率应用内处理。 |
YUV
|
640x480
|
YUV
|
PREVIEW
|
YUV
|
MAXIMUM
|
预览加双输入最大分辨率应用内处理。 |
RAW 功能 (ACAMERA_REQUEST_AVAILABLE_CAPABILITIES 包含 RAW) 设备除了在 FULL 和 LIMITED 设备上支持的功能外,还至少支持以下流组合
RAW 功能附加保证配置 | ||||||
目标 1 | 目标 2 | 目标 3 | 示例用例 | |||
类型 | 最大尺寸 | 类型 | 最大尺寸 | 类型 | 最大尺寸 | |
RAW
|
MAXIMUM
|
无预览 DNG 捕获。 | ||||
PRIV
|
PREVIEW
|
RAW
|
MAXIMUM
|
标准 DNG 捕获。 | ||
YUV
|
PREVIEW
|
RAW
|
MAXIMUM
|
应用内处理加 DNG 捕获。 | ||
PRIV
|
PREVIEW
|
PRIV
|
PREVIEW
|
RAW
|
MAXIMUM
|
视频录制带 DNG 捕获。 |
PRIV
|
PREVIEW
|
YUV
|
PREVIEW
|
RAW
|
MAXIMUM
|
预览带应用内处理和 DNG 捕获。 |
YUV
|
PREVIEW
|
YUV
|
PREVIEW
|
RAW
|
MAXIMUM
|
双输入应用内处理加 DNG 捕获。 |
PRIV
|
PREVIEW
|
JPEG
|
MAXIMUM
|
RAW
|
MAXIMUM
|
静止捕获同时包含 JPEG 和 DNG。 |
YUV
|
PREVIEW
|
JPEG
|
MAXIMUM
|
RAW
|
MAXIMUM
|
应用内处理同时包含 JPEG 和 DNG。 |
BURST 功能 (ACAMERA_REQUEST_AVAILABLE_CAPABILITIES 包含 BURST_CAPTURE) 设备除支持 LIMITED 设备支持的组合外,至少还支持以下流组合。请注意,所有 FULL 级别设备都支持 BURST 功能,并且以下列表是 FULL 级别设备列表的严格子集,因此此表仅适用于支持 BURST_CAPTURE 功能的 LIMITED 级别设备。
BURST 功能附加保证配置 | ||||
目标 1 | 目标 2 | 示例用例 | ||
类型 | 最大尺寸 | 类型 | 最大尺寸 | |
PRIV
|
PREVIEW
|
PRIV
|
MAXIMUM
|
带预览的最大分辨率 GPU 处理。 |
PRIV
|
PREVIEW
|
YUV
|
MAXIMUM
|
带预览的最大分辨率应用内处理。 |
YUV
|
PREVIEW
|
YUV
|
MAXIMUM
|
最大分辨率双输入应用内处理。 |
LEVEL-3 (ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL==
LEVEL_3) 除支持 FULL 和 RAW 功能 (ACAMERA_REQUEST_AVAILABLE_CAPABILITIES 包含 RAW) 的组合外,至少还支持以下流组合
LEVEL-3 附加保证配置 | ||||||||
目标 1 | 目标 2 | 目标 3 | 目标 4 | 示例用例 | ||||
类型 | 最大尺寸 | 类型 | 最大尺寸 | 类型 | 最大尺寸 | 类型 | 最大尺寸 | |
PRIV
|
PREVIEW
|
PRIV
|
640x480
|
YUV
|
MAXIMUM
|
RAW
|
MAXIMUM
|
带动态输出格式选择的应用内取景器分析。 |
PRIV
|
PREVIEW
|
PRIV
|
640x480
|
JPEG
|
MAXIMUM
|
RAW
|
MAXIMUM
|
带动态输出格式选择的应用内取景器分析。 |
由于相机设备的功能差异很大,给定的相机设备可能支持超出这些保证尺寸的目标组合,但这只能通过尝试使用此类目标创建会话来测试。
176x144 (QCIF) 分辨率例外:相机设备通常具有从较高分辨率缩小到较低分辨率的固定能力,并且由于高分辨率图像传感器设备的此限制,QCIF 分辨率有时无法完全支持。因此,尝试将 QCIF 分辨率流与任何其他大于 1920x1080 分辨率(宽度或高度)的流一起配置可能不受支持,如果不支持,捕获会话创建将失败。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
ACameraDevice_createCaptureSessionWithSessionParameters
声明于camera/NdkCameraDevice.h
camera_status_t ACameraDevice_createCaptureSessionWithSessionParameters( ACameraDevice *device, const ACaptureSessionOutputContainer *outputs, const ACaptureRequest *sessionParameters, const ACameraCaptureSession_stateCallbacks *callbacks, ACameraCaptureSession **session )
创建一个新的相机捕获会话,类似于 ACameraDevice_createCaptureSession。
此函数允许客户端在会话初始化期间传递额外的会话参数。有关会话参数的更多信息,请参阅 ACAMERA_REQUEST_AVAILABLE_SESSION_KEYS。
详情 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
|
ACameraDevice_getId
声明于camera/NdkCameraDevice.h
const char * ACameraDevice_getId( const ACameraDevice *device )
返回与此相机设备关联的相机 ID。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
相机 ID 字符串。返回的字符串由框架管理,不应由应用删除/释放。此外,设备关闭后不得使用返回的字符串。
|
ACameraDevice_isSessionConfigurationSupported
声明于camera/NdkCameraDevice.h
camera_status_t ACameraDevice_isSessionConfigurationSupported( const ACameraDevice *device, const ACaptureSessionOutputContainer *sessionOutputContainer )
检查相机设备是否支持特定的 ACaptureSessionOutputContainer。
此方法对给定的 ACaptureSessionOutputContainer 执行运行时检查。结果确认传递的 CaptureSession 输出是否可以成功用于使用 ACameraDevice_createCaptureSession 创建相机捕获会话。
此方法可以在活动捕获会话之前、期间和之后的任何时候调用。它不得以任何方式影响正常的相机行为,并且必须比创建捕获会话快得多。
尽管此方法比创建新的捕获会话更快,但它不适用于探索所有支持的流组合。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
ACameraManager_create
在camera/NdkCameraManager.h
中声明
ACameraManager * ACameraManager_create()
创建 ACameraManager 实例。
ACameraManager 负责检测、描述和连接到 ACameraDevice。
调用方在使用完 ACameraManager 实例后,必须调用 ACameraManager_delete 释放资源。
详情 | |
---|---|
返回值 |
一个 ACameraManager 实例。
|
ACameraManager_delete
在camera/NdkCameraManager.h
中声明
void ACameraManager_delete( ACameraManager *manager )
ACameraManager_deleteCameraIdList
在camera/NdkCameraManager.h
中声明
void ACameraManager_deleteCameraIdList( ACameraIdList *cameraIdList )
ACameraManager_getCameraCharacteristics
在camera/NdkCameraManager.h
中声明
camera_status_t ACameraManager_getCameraCharacteristics( ACameraManager *manager, const char *cameraId, ACameraMetadata **characteristics )
查询相机设备的能力。
这些功能对于给定相机是不可变的。
参见 ACameraMetadata 文档和 NdkCameraMetadataTags.h 获取更多详细信息。
调用方必须调用 ACameraMetadata_free 来释放输出特性的内存。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
ACameraManager_getCameraIdList
在camera/NdkCameraManager.h
中声明
camera_status_t ACameraManager_getCameraIdList( ACameraManager *manager, ACameraIdList **cameraIdList )
创建当前连接的相机设备列表,包括可能被其他相机 API 客户端使用的相机。
不可移除的相机使用从 0 开始的整数作为标识符,而可移除的相机为每个独立设备拥有唯一的标识符,即使它们是相同的型号。
ACameraManager_getCameraIdList 将分配并返回一个 ACameraIdList。调用方必须调用 ACameraManager_deleteCameraIdList 来释放内存。
注意:返回的相机列表可能是 SDK CameraManager::getCameraIdList API 输出的子集,因为 NDK API 不支持某些旧式相机硬件。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
ACameraManager_openCamera
在camera/NdkCameraManager.h
中声明
camera_status_t ACameraManager_openCamera( ACameraManager *manager, const char *cameraId, ACameraDevice_StateCallbacks *callback, ACameraDevice **device )
打开与给定 ID 相机的连接。
打开的相机设备将通过 device
参数返回。
使用 ACameraManager_getCameraIdList 获取可用相机设备的列表。请注意,即使某个 ID 已列出,如果在调用 ACameraManager_getCameraIdList 和 ACameraManager_openCamera 之间设备断开连接,或者如果更高优先级的相机 API 客户端开始使用该相机设备,打开操作可能会失败。
由于设备被低优先级后台相机 API 客户端占用而导致调用了 ACameraManager_AvailabilityCallbacks#onCameraUnavailable 回调的设备,当调用方相机 API 客户端的优先级高于当前使用此设备的相机 API 客户端时,仍然可以通过调用此方法来尝试打开。通常,如果您的应用进程正在运行顶层、前台 Activity,您的进程在访问相机时将获得最高优先级,并且即使相机设备被另一个相机 API 客户端使用,此方法也会成功。以这种方式失去相机控制权的任何低优先级应用程序将收到一个 ACameraDevice_StateCallbacks#onDisconnected 回调。
一旦相机成功打开,ACameraDevice 可以通过调用 ACameraDevice_createCaptureSession 和 ACameraDevice_createCaptureRequest 进行设置以供操作。
如果在此函数调用返回后相机断开连接,将调用 ACameraDevice_StateCallbacks#onDisconnected,其中 ACameraDevice 处于断开连接状态。
如果在此函数调用返回后相机出现错误,将调用 ACameraDevice_StateCallbacks#onError,其中 ACameraDevice 处于错误状态。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
ACameraManager_registerAvailabilityCallback
在camera/NdkCameraManager.h
中声明
camera_status_t ACameraManager_registerAvailabilityCallback( ACameraManager *manager, const ACameraManager_AvailabilityCallbacks *callback )
注册相机可用性回调函数。
每当任何相机 API 客户端打开相机设备时,都会调用 onCameraUnavailable。其他相机 API 客户端可能仍能打开此类相机设备,如果它们的优先级高于现有相机设备客户端,则会抢占现有客户端。有关详细信息,请参见 ACameraManager_openCamera。
回调将在所有 ACameraManager 实例共享的专用线程上调用。
由于此回调将注册到相机服务,因此在不再需要时请记住取消注册;否则,回调将无限期地继续接收事件,并可能阻止释放其他资源。特别是,回调的调用将独立于一般的 Activity 生命周期,也独立于单个 ACameraManager 实例的状态。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
ACameraManager_registerExtendedAvailabilityCallback
在camera/NdkCameraManager.h
中声明
camera_status_t ACameraManager_registerExtendedAvailabilityCallback( ACameraManager *manager, const ACameraManager_ExtendedAvailabilityCallbacks *callback )
注册相机扩展可用性回调函数。
每当任何相机 API 客户端打开相机设备时,都会调用 onCameraUnavailable。其他相机 API 客户端可能仍能打开此类相机设备,如果它们的优先级高于现有相机设备客户端,则会抢占现有客户端。有关详细信息,请参见 ACameraManager_openCamera。
回调将在所有 ACameraManager 实例共享的专用线程上调用。
由于此回调将注册到相机服务,因此在不再需要时请记住取消注册;否则,回调将无限期地继续接收事件,并可能阻止释放其他资源。特别是,回调的调用将独立于一般的 Activity 生命周期,也独立于单个 ACameraManager 实例的状态。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
ACameraManager_unregisterAvailabilityCallback
在camera/NdkCameraManager.h
中声明
camera_status_t ACameraManager_unregisterAvailabilityCallback( ACameraManager *manager, const ACameraManager_AvailabilityCallbacks *callback )
注销相机可用性回调函数。
删除未注册的回调没有效果。
调用此函数时不得持有可用性回调也持有的互斥锁。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
ACameraManager_unregisterExtendedAvailabilityCallback
在camera/NdkCameraManager.h
中声明
camera_status_t ACameraManager_unregisterExtendedAvailabilityCallback( ACameraManager *manager, const ACameraManager_ExtendedAvailabilityCallbacks *callback )
注销相机扩展可用性回调函数。
删除未注册的回调没有效果。
调用此函数时不得持有扩展可用性回调也持有的互斥锁。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
ACameraMetadata_copy
声明于camera/NdkCameraMetadata.h
ACameraMetadata * ACameraMetadata_copy( const ACameraMetadata *src )
创建输入 ACameraMetadata 的副本。
返回的 ACameraMetadata 在应用使用完毕后必须通过 ACameraMetadata_free 释放。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
一个有效的 ACameraMetadata 指针,如果无法复制输入的元数据则为 NULL。
|
ACameraMetadata_free
声明于camera/NdkCameraMetadata.h
void ACameraMetadata_free( ACameraMetadata *metadata )
ACameraMetadata_fromCameraMetadata
声明于camera/NdkCameraMetadata.h
ACameraMetadata * ACameraMetadata_fromCameraMetadata( JNIEnv *env, jobject cameraMetadata )
返回一个 ACameraMetadata,它引用与 Java API 中的 android.hardware.camera2.CameraMetadata 相同的数据。
(例如,一个 android.hardware.camera2.CameraCharacteristics 或 android.hardware.camera2.CaptureResult)。
返回的 ACameraMetadata 在应用使用完毕后必须通过 ACameraMetadata_free 释放。
ACameraMetadata 维护对底层数据的引用计数,因此它可以独立于 Java 对象使用,并且即使 Java 元数据被垃圾回收,它也仍然有效。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
一个有效的 ACameraMetadata 指针,如果 cameraMetadata 为 null 或不是 android.hardware.camera2.CameraMetadata 的有效实例则为 NULL。
|
ACameraMetadata_getAllTags
声明于camera/NdkCameraMetadata.h
camera_status_t ACameraMetadata_getAllTags( const ACameraMetadata *metadata, int32_t *numEntries, const uint32_t **tags )
列出输入 ACameraMetadata 中的所有条目标签。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
ACameraMetadata_getConstEntry
声明于camera/NdkCameraMetadata.h
camera_status_t ACameraMetadata_getConstEntry( const ACameraMetadata *metadata, uint32_t tag, ACameraMetadata_const_entry *entry )
从输入 ACameraMetadata 获取元数据条目。
返回条目中数据字段的内存由相机框架管理。不要试图释放它。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
ACameraMetadata_getTagFromName
声明于camera/NdkCameraMetadata.h
camera_status_t ACameraMetadata_getTagFromName( const ACameraMetadata *metadata, const char *name, uint32_t *tag )
按名称查找仅适用于特定设备的设备特定自定义标签的标签 ID 值。
标签的名称和类型需要从其他来源发现,例如制造商。ID 值在应用程序的生命周期内是稳定的,但在进程重启后应再次查询。此方法也可用于使用 Java API 中存在的公共标签的名称查询标签值,但是,使用 ndk 中存在的标签值更简单、更快。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
仅当函数调用成功时返回 ACAMERA_OK。
|
ACameraMetadata_isLogicalMultiCamera
声明于camera/NdkCameraMetadata.h
bool ACameraMetadata_isLogicalMultiCamera( const ACameraMetadata *staticMetadata, size_t *numPhysicalCameras, const char *const **physicalCameraIds )
辅助函数,用于检查相机是否为逻辑多相机。
根据相机设备的静态元数据检查它是否是逻辑多相机。如果是,则还会返回其物理子相机 ID。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
如果是逻辑多相机则为 true,否则为 false。
|
ACameraOutputTarget_create
在camera/NdkCaptureRequest.h
中声明
camera_status_t ACameraOutputTarget_create( ANativeWindow *window, ACameraOutputTarget **output )
创建一个 ACameraOutputTarget 对象。
ACameraOutputTarget 用于 ACaptureRequest_addTarget 方法,将输出 ANativeWindow 添加到 ACaptureRequest。在应用不再需要 ACameraOutputTarget 后,使用 ACameraOutputTarget_free 释放对象及其内存。
另请参阅: ACaptureRequest_addTarget
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
ACameraOutputTarget_free
在camera/NdkCaptureRequest.h
中声明
void ACameraOutputTarget_free( ACameraOutputTarget *output )
ACaptureRequest_addTarget
在camera/NdkCaptureRequest.h
中声明
camera_status_t ACaptureRequest_addTarget( ACaptureRequest *request, const ACameraOutputTarget *output )
将 ACameraOutputTarget 对象添加到 ACaptureRequest。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
ACaptureRequest_copy
在camera/NdkCaptureRequest.h
中声明
ACaptureRequest * ACaptureRequest_copy( const ACaptureRequest *src )
创建输入 ACaptureRequest 的副本。
返回的 ACaptureRequest 在应用使用完毕后必须通过 ACaptureRequest_free 释放。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
一个有效的 ACaptureRequest 指针,如果无法复制输入的请求则为 NULL。
|
ACaptureRequest_free
在camera/NdkCaptureRequest.h
中声明
void ACaptureRequest_free( ACaptureRequest *request )
ACaptureRequest_getAllTags
在camera/NdkCaptureRequest.h
中声明
camera_status_t ACaptureRequest_getAllTags( const ACaptureRequest *request, int32_t *numTags, const uint32_t **tags )
ACaptureRequest_getConstEntry
在camera/NdkCaptureRequest.h
中声明
camera_status_t ACaptureRequest_getConstEntry( const ACaptureRequest *request, uint32_t tag, ACameraMetadata_const_entry *entry )
从输入 ACaptureRequest 获取元数据条目。
返回条目中数据字段的内存由相机框架管理。不要试图释放它。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
ACaptureRequest_getConstEntry_physicalCamera
在camera/NdkCaptureRequest.h
中声明
camera_status_t ACaptureRequest_getConstEntry_physicalCamera( const ACaptureRequest *request, const char *physicalId, uint32_t tag, ACameraMetadata_const_entry *entry )
获取输入 ACaptureRequest 中用于逻辑多相机设备的物理相机的元数据条目。
与 ACaptureRequest_getConstEntry 相同,但如果键包含在 ACAMERA_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS 中,此函数将返回 ACaptureRequest_setEntry_physicalCamera_* 类函数在特定物理相机上设置的条目。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
ACaptureRequest_getUserContext
在camera/NdkCaptureRequest.h
中声明
camera_status_t ACaptureRequest_getUserContext( const ACaptureRequest *request, void **context )
获取 ACaptureRequest 的用户上下文指针。
此方法对于用户在捕获会话回调中识别捕获请求很有用。对于新创建的请求,context 为 NULL。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
ACaptureRequest_removeTarget
在camera/NdkCaptureRequest.h
中声明
camera_status_t ACaptureRequest_removeTarget( ACaptureRequest *request, const ACameraOutputTarget *output )
从 ACaptureRequest 移除 ACameraOutputTarget 对象。
如果 ACameraOutputTarget 在 ACaptureRequest 中不存在,此方法无效。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
ACaptureRequest_setEntry_double
在camera/NdkCaptureRequest.h
中声明
camera_status_t ACaptureRequest_setEntry_double( ACaptureRequest *request, uint32_t tag, uint32_t count, const double *data )
使用 double 数据类型设置/更改相机捕获控制条目。
将 count 设置为 0,data 设置为 NULL 以从捕获请求中移除一个标签。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
ACaptureRequest_setEntry_float
在camera/NdkCaptureRequest.h
中声明
camera_status_t ACaptureRequest_setEntry_float( ACaptureRequest *request, uint32_t tag, uint32_t count, const float *data )
使用 float 数据类型设置/更改相机捕获控制条目。
将 count 设置为 0,data 设置为 NULL 以从捕获请求中移除一个标签。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
ACaptureRequest_setEntry_i32
在camera/NdkCaptureRequest.h
中声明
camera_status_t ACaptureRequest_setEntry_i32( ACaptureRequest *request, uint32_t tag, uint32_t count, const int32_t *data )
使用有符号 32 位数据类型设置/更改相机捕获控制条目。
将 count 设置为 0,data 设置为 NULL 以从捕获请求中移除一个标签。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
ACaptureRequest_setEntry_i64
在camera/NdkCaptureRequest.h
中声明
camera_status_t ACaptureRequest_setEntry_i64( ACaptureRequest *request, uint32_t tag, uint32_t count, const int64_t *data )
使用有符号 64 位数据类型设置/更改相机捕获控制条目。
将 count 设置为 0,data 设置为 NULL 以从捕获请求中移除一个标签。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
ACaptureRequest_setEntry_physicalCamera_double
在camera/NdkCaptureRequest.h
中声明
camera_status_t ACaptureRequest_setEntry_physicalCamera_double( ACaptureRequest *request, const char *physicalId, uint32_t tag, uint32_t count, const double *data )
使用 double 数据类型为逻辑多相机设备的物理相机设置/更改相机捕获控制条目。
与 ACaptureRequest_setEntry_double 相同,但如果 tag 包含在 ACAMERA_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS 中,此函数将为支持逻辑多相机的特定物理子相机设置条目。如果 tag 不包含在 ACAMERA_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS 中,相机设备将忽略该键。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
ACaptureRequest_setEntry_physicalCamera_float
在camera/NdkCaptureRequest.h
中声明
camera_status_t ACaptureRequest_setEntry_physicalCamera_float( ACaptureRequest *request, const char *physicalId, uint32_t tag, uint32_t count, const float *data )
使用 float 数据类型为逻辑多相机设备的物理相机设置/更改相机捕获控制条目。
与 ACaptureRequest_setEntry_float 相同,但如果 tag 包含在 ACAMERA_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS 中,此函数将为支持逻辑多相机的特定物理子相机设置条目。如果 tag 不包含在 ACAMERA_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS 中,相机设备将忽略该键。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
ACaptureRequest_setEntry_physicalCamera_i32
在camera/NdkCaptureRequest.h
中声明
camera_status_t ACaptureRequest_setEntry_physicalCamera_i32( ACaptureRequest *request, const char *physicalId, uint32_t tag, uint32_t count, const int32_t *data )
使用有符号 32 位数据类型为逻辑多相机设备的物理相机设置/更改相机捕获控制条目。
与 ACaptureRequest_setEntry_i32 相同,但如果 tag 包含在 ACAMERA_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS 中,此函数将为支持逻辑多相机的特定物理子相机设置条目。如果 tag 不包含在 ACAMERA_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS 中,相机设备将忽略该键。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
ACaptureRequest_setEntry_physicalCamera_i64
在camera/NdkCaptureRequest.h
中声明
camera_status_t ACaptureRequest_setEntry_physicalCamera_i64( ACaptureRequest *request, const char *physicalId, uint32_t tag, uint32_t count, const int64_t *data )
使用有符号 64 位数据类型为逻辑多相机设备的物理相机设置/更改相机捕获控制条目。
与 ACaptureRequest_setEntry_i64 相同,但如果 tag 包含在 ACAMERA_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS 中,此函数将为支持逻辑多相机的特定物理子相机设置条目。如果 tag 不包含在 ACAMERA_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS 中,相机设备将忽略该键。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
ACaptureRequest_setEntry_physicalCamera_rational
在camera/NdkCaptureRequest.h
中声明
camera_status_t ACaptureRequest_setEntry_physicalCamera_rational( ACaptureRequest *request, const char *physicalId, uint32_t tag, uint32_t count, const ACameraMetadata_rational *data )
使用 rational 数据类型为逻辑多相机设备的物理相机设置/更改相机捕获控制条目。
与 ACaptureRequest_setEntry_rational 相同,但如果 tag 包含在 ACAMERA_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS 中,此函数将为支持逻辑多相机的特定物理子相机设置条目。如果 tag 不包含在 ACAMERA_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS 中,相机设备将忽略该键。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
ACaptureRequest_setEntry_physicalCamera_u8
在camera/NdkCaptureRequest.h
中声明
camera_status_t ACaptureRequest_setEntry_physicalCamera_u8( ACaptureRequest *request, const char *physicalId, uint32_t tag, uint32_t count, const uint8_t *data )
使用无符号 8 位数据类型为支持逻辑多相机的物理相机设置/更改相机捕获控制条目。
与 ACaptureRequest_setEntry_u8 相同,但如果 tag 包含在 ACAMERA_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS 中,此函数将为支持逻辑多相机的特定物理子相机设置条目。如果 tag 不包含在 ACAMERA_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS 中,相机设备将忽略该键。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
ACaptureRequest_setEntry_rational
在camera/NdkCaptureRequest.h
中声明
camera_status_t ACaptureRequest_setEntry_rational( ACaptureRequest *request, uint32_t tag, uint32_t count, const ACameraMetadata_rational *data )
使用 rational 数据类型设置/更改相机捕获控制条目。
将 count 设置为 0,data 设置为 NULL 以从捕获请求中移除一个标签。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
ACaptureRequest_setEntry_u8
在camera/NdkCaptureRequest.h
中声明
camera_status_t ACaptureRequest_setEntry_u8( ACaptureRequest *request, uint32_t tag, uint32_t count, const uint8_t *data )
使用无符号 8 位数据类型设置/更改相机捕获控制条目。
将 count 设置为 0,data 设置为 NULL 以从捕获请求中移除一个标签。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
ACaptureRequest_setUserContext
在camera/NdkCaptureRequest.h
中声明
camera_status_t ACaptureRequest_setUserContext( ACaptureRequest *request, void *context )
将任意用户上下文指针与 ACaptureRequest 关联。
此方法对于用户在捕获会话回调中识别捕获请求很有用。对于新创建的请求,context 为 NULL。ACameraOutputTarget_free 不会释放 context。此外,调用此方法两次不会导致先前的 context 被释放。另请注意,在请求已发送到捕获会话后调用此方法不会更改捕获回调中的 context 指针。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
ACaptureSessionOutputContainer_add
声明于camera/NdkCameraDevice.h
camera_status_t ACaptureSessionOutputContainer_add( ACaptureSessionOutputContainer *container, const ACaptureSessionOutput *output )
将 ACaptureSessionOutput 对象添加到 ACaptureSessionOutputContainer。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
ACaptureSessionOutputContainer_create
声明于camera/NdkCameraDevice.h
camera_status_t ACaptureSessionOutputContainer_create( ACaptureSessionOutputContainer **container )
创建一个捕获会话输出容器。
container 用于 ACameraDevice_createCaptureSession 方法创建捕获会话。在应用不再需要 ACaptureSessionOutputContainer 后,使用 ACaptureSessionOutputContainer_free 释放 container 及其内存。
详情 | |||
---|---|---|---|
参数 |
|
||
返回值 |
|
ACaptureSessionOutputContainer_free
声明于camera/NdkCameraDevice.h
void ACaptureSessionOutputContainer_free( ACaptureSessionOutputContainer *container )
ACaptureSessionOutputContainer_remove
声明于camera/NdkCameraDevice.h
camera_status_t ACaptureSessionOutputContainer_remove( ACaptureSessionOutputContainer *container, const ACaptureSessionOutput *output )
从 ACaptureSessionOutputContainer 移除 ACameraSessionOutput 对象。
如果 ACaptureSessionOutput 在 ACaptureSessionOutputContainer 中不存在,此方法无效。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
ACaptureSessionOutput_create
声明于camera/NdkCameraDevice.h
camera_status_t ACaptureSessionOutput_create( ANativeWindow *anw, ACaptureSessionOutput **output )
创建一个 ACameraSessionOutput 对象。
ACaptureSessionOutput 用于 ACaptureSessionOutputContainer_add 方法,将输出 ANativeWindow 添加到 ACaptureSessionOutputContainer。在应用不再需要 ACaptureSessionOutput 后,使用 ACaptureSessionOutput_free 释放对象及其内存。
另请参阅: ACaptureSessionOutputContainer_add
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
ACaptureSessionOutput_free
声明于camera/NdkCameraDevice.h
void ACaptureSessionOutput_free( ACaptureSessionOutput *output )
ACaptureSessionPhysicalOutput_create
声明于camera/NdkCameraDevice.h
camera_status_t ACaptureSessionPhysicalOutput_create( ANativeWindow *anw, const char *physicalId, ACaptureSessionOutput **output )
创建一个 ACaptureSessionOutput 对象,用于从作为逻辑相机设备一部分的物理相机进行流式传输。
ACaptureSessionOutput 用于 ACaptureSessionOutputContainer_add 方法,将输出 ANativeWindow 添加到 ACaptureSessionOutputContainer。在应用不再需要 ACaptureSessionOutput 后,使用 ACaptureSessionOutput_free 释放对象及其内存。
另请参阅: ACaptureSessionOutputContainer_add
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
ACaptureSessionSharedOutput_add
声明于camera/NdkCameraDevice.h
camera_status_t ACaptureSessionSharedOutput_add( ACaptureSessionOutput *output, ANativeWindow *anw )
向共享的 ACaptureSessionOutput 添加一个本地窗口。
ACaptureSessionOutput 必须通过 ACaptureSessionSharedOutput_create 创建。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
ACaptureSessionSharedOutput_create
声明于camera/NdkCameraDevice.h
camera_status_t ACaptureSessionSharedOutput_create( ANativeWindow *anw, ACaptureSessionOutput **output )
创建一个共享的 ACaptureSessionOutput 对象。
ACaptureSessionOutput 用于 ACaptureSessionOutputContainer_add 方法,将输出 ANativeWindow 添加到 ACaptureSessionOutputContainer。在应用不再需要 ACaptureSessionOutput 后,使用 ACaptureSessionOutput_free 释放对象及其内存。共享的 ACaptureSessionOutput 可以通过 ACaptureSessionSharedOutput_add 或 ACaptureSessionSharedOutput_remove 进一步修改,并且必须通过 ACameraCaptureSession_updateSharedOutput 更新。
另请参阅: ACaptureSessionOutputContainer_add
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
ACaptureSessionSharedOutput_remove
声明于camera/NdkCameraDevice.h
camera_status_t ACaptureSessionSharedOutput_remove( ACaptureSessionOutput *output, ANativeWindow *anw )
从共享的 ACaptureSessionOutput 移除一个本地窗口。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|