这里结合芯片exynos 4412介绍一下V4L2用来视频编解码的驱动结构
内核代码基于3.4.106
linux-3.4.106\drivers\media\video\s5p-mfc
linux-3.4.106\drivers\media\video
1,V4L2结构
主要接口(ioctl下面的一层)
vidioc_qbuf
vidioc_dqbuf
vidioc_reqbufs
vidioc_s_fmt
3,主要数据结构
struct vb2_queue
struct v4l2_buffer
struct s5p_mfc_ctx
struct vb2_buffer
V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE是未解码数据,存放ES流数据
V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE是已经解码数据,存放frame data buffer
v4l2_qbuf流程
vidioc_qbuf--vb2_qbuf