Hello, I am trying to use nvv4l2camerasrc
instead of v4l2src
to get GRAY8 data from camera for further processing. As far I understand this would result in one less copy from CPU to NVMM buffer. However I am not able to get pipeline with nvv4l2camerasrc
running.
Camera information:
$ v4l2-ctl -d /dev/video0 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: 'GREY'
Name : 8-bit Greyscale
Size: Discrete 1024x768
Interval: Discrete 0.033s (30.000 fps)
Working v4l2src
pipeline
gst-launch-1.0 \
v4l2src device=/dev/video0 \
! 'video/x-raw,format=GRAY8,width=1024,height=768' \
! nvvidconv \
! 'video/x-raw(memory:NVMM)' \
! nv3dsink sync=false
Attempted nvv4l2camerasrc
pipeline:
gst-launch-1.0 \
nvv4l2camerasrc device=/dev/video0 \
! 'video/x-raw(memory:NVMM),format=GRAY8,width=1024,height=768' \
! nvvidconv \
! 'video/x-raw(memory:NVMM)' \
! nv3dsink sync=false
Error message:
WARNING: erroneous pipeline: could not link nvv4l2camerasrc0 to nvvconv0, nvv4l2camerasrc0 can’t handle caps video/x-raw(memory:NVMM), format=(string)GRAY8, width=(int)1024, height=(int)768