V4L2驱动移植与应用(三).docVIP

  • 7
  • 0
  • 约1.53万字
  • 约 17页
  • 2017-08-09 发布于安徽
  • 举报
三、V4L2的demo capture.c是官方示例程序。 capture.c 程序中的 process_image 函数: capture.c 程序主要是用来演示怎样使用 v4l2 接口,并没有对采集到的视频帧数据做任何实际的处理,仅仅用 process_image 函数表示了处理图像的代码位置。 process_image 函数只有一个参数,就是存储视频帧的内存的地址指针,但是在真正的应用中,通常还需要知道该指针指向的数据的大小。 因此可以修改函数,改成 void process_image ( const void * p, int len ) ,但是每次调用 process_image 的时候,第 2 个参数该传递什么值? 考虑到程序中对 buffer 的定义 struct buffer { void * start; size_t length}; 如果将 buffer.length 作为第 2 个参数传递到修改后的 process_image 函数中,这样做是不正确的。 process_image 需要的第二个参数应该是每帧图像的大小,仔细阅读代码后会发现, buffer.length 并不一定就等于图像帧的大小。 (buffer 的大小,还需要考虑其他的一些因素,比如内存对齐等 )。 capture.c只是一个示例程序,仅仅是演示怎样使用v4l2中最基本的

文档评论(0)

1亿VIP精品文档

相关文档