2024年11月05日 第15讲 CRM之Pipeline Delay是什么 极客笔记
本讲是Camera KMD ISP子系统专题的第15讲,我们讲解Camera KMD ISP子系统CRM之初识PipelineDelay。
更多资源:
| 资源 | 描述 | 
|---|---|
| 在线课程 | 极客笔记在线课程 | 
| 知识星球 | 星球名称:深入浅出Android Camera 星球ID: 17296815 | 
| 极客笔记圈 | 
Realtime pipeline或实时Pipeline,在这个Pipeilne上的硬件设备有一些特点:

RPC: Realtime Pipeline CaptureRequest
RPC包括Settings和Buffers,这个跟Android里面定义的CaptureRequest概念’类似’。

RPC CaptureRequest实际在使用的时候会拆成Device Request
ISP Settings,比如ISP内部各IQ模块的参数设置
Sensor settings,比如曝光时间、Gain

只有Realtime pipeline才会有Pipeline delay(我们也叫Device delay),它表示的是当前硬件设备需要过多少帧才能生效当前的配置,不同的硬件设备有不同的Pipeline delay。
假如我们在下图Frame 1的SOF修改了Sesensor的settings,实际生效的可能会在Frame 3,这样的话Sensor的Pipeilne delay就是2。
同理,Frame 2配置的参数要在Frame 4才生效,以此类推。

实际代码中Sensor的Pipeline delay配置:
int cam_sensor_publish_dev_info(struct cam_req_mgr_device_info *info)
{
    info->p_delay = CAM_PIPELINE_DELAY_2;
}
假如我们在下图Frame 1的SOF修改了ISP的settings,实际生效的会在Frame 2,这样的话ISP的Pipeilne delay就是1。

实际代码中ISP的Pipeline delay配置:
static int __cam_isp_ctx_get_dev_info_in_acquired(struct cam_context *ctx, struct cam_req_mgr_device_info *dev_info)
{
    dev_info->p_delay = CAM_PIPELINE_DELAY_1;
}
总结下:
Pipeline delay 1的硬件设备: isp, flash, actuator
Pipeline delay 2的硬件设备: sensor
本文链接:http://so.lmcjl.com/news/17095/