1.29. 流媒体参数

流媒体参数旨在优化视频捕获过程以及 I/O。目前,应用程序可以使用 VIDIOC_S_PARM ioctl 请求高质量的捕获模式。

当前的视频标准决定了每秒的标称帧数。如果要捕获或输出的帧数少于此数字,应用程序可以请求驱动程序端跳帧或重复帧。当使用 read()write() 时,这一点尤其有用,因为这些函数没有时间戳或序列计数器,并且可以避免不必要的数据复制。

最后,这些 ioctl 可用于确定驱动程序在读/写模式下内部使用的缓冲区数量。有关含义,请参见讨论 read() 函数的部分。

要获取和设置流媒体参数,应用程序分别调用 VIDIOC_G_PARMVIDIOC_S_PARM ioctl。它们采用指向 struct v4l2_streamparm 的指针,该结构包含一个联合体,该联合体保存输入和输出设备的单独参数。

这些 ioctl 是可选的,驱动程序不需要实现它们。如果未实现,它们会返回 EINVAL 错误代码。