后面就不再使用缩写形式,改为下面的缩写:
因为--device/dev/video1可以缩写为-d--out-device/dev/video0可以缩写为-e0
按下修改源码,就正常了。这是v4l2-ctl的一个BUG,有向linuxTV提bug的同仁可以向该组织提交这个问题,我发了邮件人家没理我。
又报错,发现输入和输出的mem组合有限制,有3种组合。因为从video1拿内存输出给video0,所以只要一个设备分配内存即可,mmap会在驱动层分配内存,而dmabuf和userptr是引用其他模块的内存,并不会分配。
改为
v4l2-ctl-d1-e0--stream-mmap--stream-out-mmap
yuyv格式没问题,改成mplane为2的NV16格式,又报错了。
但是效果不对,查下源码,make_devname使用了一个静态局部变量的原因,只能有一个缩写。
文章为作者独立观点,不代表股票配资公司观点