03 视频输入
视频输入是指Pico-G1通过MIPI接口接收视频数据,并将数据存入到指定的内存区域的过程。
1 视频输入系统

1.1.1 视频输入经典场景
- 场景一:真实摄像头输入
摄像头 / sensor → 视频输入设备 解析时序 → 物理 PIPE 做图像处理 → 通道 裁剪/输出 → DDR → VPSS / 编码器 / 显示
- 场景二:多摄拼接 / 宽动态
多个摄像头输入 → 多个设备 / 多个 PIPE → grp 负责组合关系 → stitch / WDR 协同处理 → 通道输出到 DDR
- 场景三:软件送图
程序生成或读取一帧图像 → 虚拟 PIPE 接收 → 图像处理 → 通道输出 → 后续模块使用
2 视频输入相关 API 参考
2.1 API 总览
API参考
• xmedia_vi_init:VI 初始化。
• xmedia_vi_exit:VI 退出。
• xmedia_vi_set_dev_config:设置 VI 设备属性。
• xmedia_vi_get_dev_config:获取 VI 设备属性。
• xmedia_vi_enable_dev_quick_start:能使 VI 设备快启。
• xmedia_vi_set_dev_mipi_phy_config:设置 VI MIPI PHY 手动配置信息。
• xmedia_vi_enable_dev:启用 VI 设备。
• xmedia_vi_disable_dev:禁用 VI 设备。
• xmedia_vi_set_dev_bind_pipe:一对一绑定 dev 和 pipe。
• xmedia_vi_set_dev_unbind_pipe:一对一解绑定 dev 和 pipe。
• xmedia_vi_get_pipe_by_dev:获取 dev 绑定的 pipe。
• xmedia_vi_set_grp_config:设置 VI 合成组的配置信息。
• xmedia_vi_get_grp_config:获取 VI 合成组的配置信息。
• xmedia_vi_create_pipe:创建一个 VI PIPE。
• xmedia_vi_destroy_pipe:销毁一个 VI PIPE。
• xmedia_vi_get_pipe_config:获取 VI PIPE 的配置信息。
• xmedia_vi_start_pipe:启用 VI PIPE。
• xmedia_vi_stop_pipe:禁用 VI PIPE。
• xmedia_vi_set_user_pic: 设置用户图片。
• xmedia_vi_enable_user_pic: 启用 VI PIPE 插入用户图片。
• xmedia_vi_disable_user_pic: 禁用 VI PIPE 插入用户图片。
• xmedia_vi_set_pipe_crop_attr: 设置 VI 物理 PIPE 的裁剪功能属性。
• xmedia_vi_get_pipe_crop_attr: 获取 VI 物理 PIPE 的裁剪功能属性。
• xmedia_vi_set_pipe_frame_dump_attr: 设置 VI 物理 PIPE dump 属性。
• xmedia_vi_get_pipe_frame_dump_attr: 获取 VI 物理 PIPE dump 属性。
• xmedia_vi_acquire_pipe_frame: 获取 VI 物理 PIPE 图像帧。
• xmedia_vi_release_pipe_frame: 释放 VI 物理 PIPE 的图像帧。
• xmedia_vi_set_pipe_frame_source: 设置 VI 物理 PIPE 数据的来源。
• xmedia_vi_get_pipe_frame_source: 获取 VI 物理 PIPE 数据的来源。
• xmedia_vi_send_pipe_frame: 通过 VI PIPE 发送图像帧数据。
• xmedia_vi_set_pipe_compress_mode: 设置 VI 物理 PIPE 的压缩模式。
• xmedia_vi_get_pipe_compress_mode: 获取 VI 物理 PIPE 的压缩模式。
• xmedia_vi_set_pipe_frame_rate: 设置 VI 物理 PIPE 的帧率控制信息。
• xmedia_vi_get_pipe_frame_rate: 获取 VI 物理 PIPE 的帧率控制信息。
• xmedia_vi_set_pipe_low_delay_attr: 设置 VI 物理 PIPE 低延时属性。
• xmedia_vi_get_pipe_low_delay_attr: 获取 VI 物理 PIPE 低延时属性。
• xmedia_vi_query_pipe_status: 查询 VI PIPE 状态。
• xmedia_vi_set_pipe_vc_number: 设置 VI 物理 PIPE 对接前端 sensor 或者 AD的CV号。
• xmedia_vi_get_pipe_vc_number: 获取 VI 物理 PIPE 对接前端 sensor 或者 AD 的 VC 号。
• xmedia_vi_set_pipe_mirror_flip: 设置 VI 物理 PIPE 输出镜像、翻转使能。
• xmedia_vi_get_pipe_mirror_flip: 获取 VI 物理 PIPE 输出镜像、翻转使能。
• xmedia_vi_set_chn_config: 设置 VI 通道配置信息。
• xmedia_vi_get_chn_config: 获取 VI 通道配置信息。
• xmedia_vi_enable_chn: 启用 VI 通道。
• xmedia_vi_disable_chn: 禁用 VI 通道。
• xmedia_vi_set_chn_crop_attr: 设置 VI 通道裁剪功能属性。
• xmedia_vi_get_chn_crop_attr: 获取 VI 通道裁剪功能属性。
• xmedia_vi_set_chn_compress_mode: 设置 VI 通道输出的压缩模式。
• xmedia_vi_get_chn_compress_mode: 获取 VI 通道输出的压缩模式。
• xmedia_vi_set_chn_frame_rate: 设置 VI 通道的帧率控制信息。
• xmedia_vi_get_chn_frame_rate: 获取 VI 通道的帧率控制信息。
• xmedia_vi_set_chn_depth: 设置用户获取 VI 通道图像的队列深度。
• xmedia_vi_get_chn_depth: 获取 VI 通道图像的队列深度。
• xmedia_vi_set_chn_ldc_attr: 设置 VI 镜头畸变校正(LDC)属性。
• xmedia_vi_get_chn_ldc_attr: 获取 VI 镜头畸变校正(LDC)属性。
• xmedia_vi_set_chn_spread_attr: 设置 VI 通道展宽属性。
• xmedia_vi_get_chn_spread_attr: 获取 VI 通道展宽属性。
• xmedia_vi_set_chn_low_delay_attr: 设置 VI 通道低延时属性。
• xmedia_vi_get_chn_low_delay_attr: 获取 VI 通道低延时属性。
• xmedia_vi_set_chn_wrap_attr: 设置 VI 通道卷绕属性。
• xmedia_vi_get_chn_wrap_attr: 获取 VI 通道卷绕属性。
• xmedia_vi_set_chn_dis_config: 设置 VI 通道的 DIS 配置信息。
• xmedia_vi_get_chn_dis_config: 获取 VI 通道的 DIS 配置信息。
• xmedia_vi_set_chn_dis_attr: 设置 VI 通道的 DIS 属性。
• xmedia_vi_get_chn_dis_attr: 获取 VI 通道的 DIS 属性。
• xmedia_vi_set_chn_fov_correction_attr: 设置 VI 通道的视场角矫正属性。
• xmedia_vi_get_chn_fov_correction_attr: 获取 VI 通道的视场角矫正属性。
• xmedia_vi_set_chn_fisheye_attr: 设置 VI 通道的鱼眼属性。
• xmedia_vi_get_chn_fisheye_attr:获取 VI 通道的鱼眼属性。
• xmedia_vi_fisheye_pos_query_dst_to_src:根据鱼眼校正输出图像坐标点查找源图像坐标点。
• xmedia_vi_set_chn_stitch_attr:设置 VI 通道拼接前矫正属性。
• xmedia_vi_get_chn_stitch_attr:获取 VI 通道拼接前矫正属性。
• xmedia_vi_select_chn_frame:监测输出通道队列是否有图像。
• xmedia_vi_acquire_chn_frame:从 VI 通道获取采集的图像。
• xmedia_vi_release_chn_frame:释放一帧从 VI 通道获取的图像。
• xmedia_vi_set_ext_chn_config: 设置 VI 扩展通道属性。
• xmedia_vi_get_ext_chn_config: 获取 VI 扩展通道属性。
• xmedia_vi_attach_pipe_vb_pool: 指定 pipe 绑定内存池。
• xmedia_vi_detach_pipe_vb_pool: 指定 pipe 解绑内存池。
• xmedia_vi_attach_chn_vb_pool: 指定通道绑定内存池。
• xmedia_vi_detach_chn_vb_pool: 指定通道解绑内存池。
• xmedia_vi_attach_ainr_vb_pool: 指定 pipe 绑定 ainr 输出内存池。
• xmedia_vi_detach_ainr_vb_pool: 指定 pipe 解绑 ainr 输出内存池。
• xmedia_vi_get_pipe_fd: 获取 pipe 文件描述符。
• xmedia_vi_get_chn_fd: 获取 chn 文件描述符。
提示
具体应用可参考sample_vio
