首页 > 其他 > 详细

29、从零写USB摄像头驱动之通过urb接受数据后上报数据是函数中fid的作用

时间:2018-04-10 23:06:52      阅读:311      评论:0      收藏:0      [点我收藏+]

原因分析如下:

视频数据是由一帧一帧数据组成,为了防止数据错乱,会给每一帧数据分配一个frameid,从第0帧开始,接着是第1帧,接着又是第0帧这样交错进行的,对usb摄像头来说每一帧数据来源于多个包,每个包来源于urb里面的iso_frame(一帧数据都存在一个urb的buf中,这个buf分为多个包),这些数据里也含有fid值,如果这些fid值都是0,那么这些包的数据属于第0帧,如果接着的包fid值是1,那么着包数据就是第1帧的,并且前面那帧数据已经完了,开始处理下一帧了

 

if (fid != last_fid && buf->buf.bytesused != 0)表示上一帧已经结束了且buf中有数据,要开始接受下一帧了

29、从零写USB摄像头驱动之通过urb接受数据后上报数据是函数中fid的作用

原文:https://www.cnblogs.com/liusiluandzhangkun/p/8783193.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!