zoukankan      html  css  js  c++  java
  • 29、从零写USB摄像头驱动之通过urb接受数据后上报数据是函数中fid的作用

    原因分析如下:

    视频数据是由一帧一帧数据组成,为了防止数据错乱,会给每一帧数据分配一个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中有数据,要开始接受下一帧了

  • 相关阅读:
    django--orm---006
    django--orm---005
    django--orm---004
    django--orm---003
    jmeter连接数据库
    django--view---001
    django--orm---002
    django--model--orm001-- 增删改查
    java并发编程
    jvm
  • 原文地址:https://www.cnblogs.com/liusiluandzhangkun/p/8783193.html
Copyright © 2011-2022 走看看