1.29. 流媒体参数¶
流媒体参数旨在优化视频捕获过程以及 I/O。目前,应用程序可以使用 VIDIOC_S_PARM ioctl 请求高质量的捕获模式。
当前的视频标准决定了每秒的标称帧数。如果要捕获或输出的帧数少于此数字,应用程序可以请求驱动程序端跳帧或重复帧。当使用 read()
或 write()
时,这一点尤其有用,因为这些函数没有时间戳或序列计数器,并且可以避免不必要的数据复制。
最后,这些 ioctl 可用于确定驱动程序在读/写模式下内部使用的缓冲区数量。有关含义,请参见讨论 read()
函数的部分。
要获取和设置流媒体参数,应用程序分别调用 VIDIOC_G_PARM 和 VIDIOC_S_PARM ioctl。它们采用指向 struct v4l2_streamparm
的指针,该结构包含一个联合体,该联合体保存输入和输出设备的单独参数。
这些 ioctl 是可选的,驱动程序不需要实现它们。如果未实现,它们会返回 EINVAL
错误代码。