功能描述
HI_ACODEC_GET_ADCL _VOLUME
函数功能
获取左声道输入的音量控制。
约束说明
- 左声道输入音量范围:[0, 127],赋值越大,音量越小。赋值为 0 时,音量最大,为30db,赋值为 127 时,音量最小,为-97db。
- 例如获取hi_acodec_volume_ctrl结构体中volume_ctrl变量的值为y,则代表音量被调节为(30-y)db。
函数原型
int ioctl(int fd, HI_ACODEC_GET_ ADCL _VOLUME, hi_acodec_volume_ctrl*arg);
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| fd | 输入 | Audio Codec设备文件描述符。 |
| HI_ACODEC_GET_ ADCL _VOLUME | 输入 | ioctl号。 |
| arg | 输出 | 内置Audio Codec音量控制参数。 |
返回值说明
- 0:成功。
- 非0:失败。
父主题: 音量调节
HI_ACODEC_GET_ADCR _VOLUME
函数功能
获取右声道输入的音量控制。
约束说明
- 右声道输入音量范围:[0, 127],赋值越大,音量越小。赋值为 0 时,音量最大,为30db,赋值为 127 时,音量最小,为-97db。
- 例如获取hi_acodec_volume_ctrl结构体中volume_ctrl变量的值为y,则代表音量被调节为(30-y)db。
函数原型
int ioctl(int fd, HI_ACODEC_GET_ADCR _VOLUME, hi_acodec_volume_ctrl*arg);
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| fd | 输入 | Audio Codec设备文件描述符。 |
| HI_ACODEC_GET_ADCR _VOLUME | 输入 | ioctl号。 |
| arg | 输出 | 内置Audio Codec音量控制参数。 |
返回值说明
- 0:成功。
- 非0:失败。
父主题: 音量调节
功能描述
ISP(Image Signal Processing)系统控制
系统控制部分用于注册3A算法、注册Sensor驱动、初始化ISP firmware、运行ISP firmware、退出ISP firmware、配置ISP属性等功能。 ISP的Firmware包含三部分,一部分是ISP控制单元和基础算法库,一部分是AE/AWB/AF算法库,一部分是Sensor库。
AE(Auto Exposure)自动曝光
AE模块实现的功能是:根据自动测光系统获得当前图像的曝光量,再自动配置镜头光圈、Sensor快门及增益来获得最佳的图像质量。
自动曝光的算法主要分:
- 光圈优先,优先调整光圈到合适的位置,再分配曝光时间和增益,只适合p-iris 镜头,这样能均衡噪声和景深。
- 快门优先,优先分配曝光时间,再分配Sensor增益和ISP增益,这样拍摄的图像噪声会比较小。
- 增益优先,优先分配Sensor增益和ISP增益,再分配曝光时间,适合拍摄运动物体的场景。当前AE算法也支持客户设定更灵活的曝光分配策略,AE模块的工作流程下图所示。
图1 AE模块工作流程图

AWB(Automatic White Balance)自动白平衡
色温随可见光的光谱成分变化而变化,在低色温光源下,白色物体偏红,在高色温光源下,白色物体偏蓝,人眼可根据大脑的记忆判断,识别物体的真实颜色。AWB算法的功能是降低外界光源对物体真实颜色的影响,使得我们采集的颜色信息转变为在理想日光光源下的无偏色信息。
父主题: ISP系统控制及3A算法注册
基本概念
- 曝光时间:sensor积累电荷的时间,是sensor pixel从开始曝光到电量被读出的这段时间。
- 曝光增益:对sensor的输出电荷的总的放大系数,一般有数字增益和模拟增益,模拟增益引入的噪声会稍小,所以一般优先用模拟增益。
- 光圈:光圈是镜头中可以改变中间孔大小的机械装置。
- 抗闪烁:由于电灯的电源工频与sensor的帧率不匹配而导致的画面闪烁,一般通过限定曝光时间和修改sensor的帧率来达到抗闪烁的效果。
- 色温:色温是按绝对黑体定义的,光源辐射在可见区和绝对黑体的辐射完全相同时,此时黑体的温度称此光源的色温。
- 白平衡:在不同色温的光源下,白色在传感器中的响应会偏蓝或偏红。白平衡算法通过调整 R, G, B 三个颜色通道的强度,使白色真实呈现。
父主题: ISP系统控制及3A算法注册
hi_mpi_isp_sensor_reg_callback
函数功能
ISP提供的Sensor注册的回调接口,用于获取差异化的初始化参数,并控制sensor。
函数原型
hi_s32 hi_mpi_isp_sensor_reg_callback(hi_vi_pipe vi_pipe, const hi_isp_sns_attr_info *sns_attr_info, const hi_isp_sensor_register *sns_register)
约束说明
此接口不支持多进程操作。
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| vi_pipe | 输入 | VI PIPE号。 取值范围:[0, 4)。 |
| sns_attr_info | 输入 | 向ISP注册的Sensor的属性。 该结构体内的sensor_id是sensor库中自定义的值,需确保唯一,主要用于校对向ISP注册的sensor和向3A注册的sensor是否为同一个sensor。 |
| sns_register | 输入 | Sensor注册结构体指针。 |
返回值说明
- 0:成功
- 非0:失败,参见ISP返回码。
参考资源
接口调用流程,参见视频数据获取功能。
父主题: ISP系统控制及3A算法注册
hi_mpi_isp_sensor_unreg_callback
函数功能
ISP提供的取消Sensor注册的回调接口。
函数原型
hi_s32 hi_mpi_isp_sensor_unreg_callback(hi_vi_pipe vi_pipe, hi_sensor_id sensor_id)
约束说明
此接口不支持多进程操作。
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| vi_pipe | 输入 | VI PIPE号。 取值范围:[0, 4)。 |
| sensor_id | 输入 | 向ISP注册的Sensor的Id。 sensor_id是sensor库中自定义的值,需确保唯一,主要用于校对向ISP反注册的sensor和向3A反注册的sensor是否为同一个sensor。 |
返回值说明
- 0:成功
- 非0:失败,参见ISP返回码。
参考资源
接口调用流程,参见视频数据获取功能。
父主题: ISP系统控制及3A算法注册
在线提单