Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: USB camera on ARM64 RPi3



joelp%sdf.org@localhost (Joel) writes:

>Hello -- I have an RPi3 running GENERIC Aarch64 NetBSD 10-RELEASE. It 
>has generally been good. Recently I'm trying to get an OpenCV 4.x build 
>to work. With some minimal cmake file changes, I've had success on a 
>RockPro64 and Pinebook Pro -- same Rockchip SoC. Motivation is that 
>current pkgsrc OpenCV 3.x doesn't work (ARM64 nor AMD64) with USB 
>cameras (separate thread on that, related to buffer reallocation to 
>change resolution). Okay, plot is set.


For me OpenCV (opencv-3.4.20nb6) itself already fails with:

******************************************************************
* FATAL ERROR:                                                   *
* This OpenCV build doesn't support current CPU/HW configuration *
*                                                                *
* Use OPENCV_DUMP_CONFIG=1 environment variable for details      *
******************************************************************

Required baseline features:
    ID=100 (NEON) - NOT AVAILABLE
    ID=  9 (FP16) - NOT AVAILABLE

But I can use a USB camera with ffmpeg6. E.g.:

ffplay6 -f v4l2 -framerate 30 -video_size 320x240 -i /dev/video0

With a larger frame size, you get tons of errors like this (here from a rpi2):

[video4linux2,v4l2 @ 0x567e2000] Dequeued v4l2 buffer contains 3048 bytes, but 614400 were expected. Flags: 0x00000005.

That comes from the camera trying to send about 150MBit/s through USB2.
While USB2 supports about twice that rate, it seems too be too much for
either the rpi2 USB controller (same as in rpi3) or our driver.

It does work on a system with xhci USB controller (like rpi4).



Home | Main Index | Thread Index | Old Index