On Fri, Jun 26, 2020 at 10:20:04PM +0000, Laurence Tratt wrote: > This turns out to be a total red herring -- modern FFmpeg deals with the > MJPEG fine and you *can* get it to work for pointlessly small resolutions on > OpenBSD. Using this command: > > ffplay -f v4l2 -input_format mjpeg -video_size 160x90 -i /dev/video0 > > one can quickly map which resolutions work and which don't. There is some > variation from reboot to reboot, but the approximate summary for MJPEG > resolutions is roughly as follows: > > 160x90 Works > 160x120 Works > 176x144 Works > 320x180 Mostly works > 320x240 Sometimes works > 352x288 Sometimes works > 432x240 Breaks up > 640x360 Breaks up > 640x480 Breaks up > 800x448 Breaks up > 800x600 Breaks up > 864x480 Breaks up > 960x720 Breaks up > 1024x576 Breaks up > 1280x720 Breaks up > 1600x896 Breaks up > 1920x1080 Breaks up
Same behavior with an old MS LifeCam NX-6000 (which only supports MJPEG). It works up to 160x120 without problems on USB3 ports and up to the maximum resolution supported by the camera on USB2 ports (i.e., USB3 disabled in the BIOS). By the way nice observation; I always thought that this camera does not work at all with USB3 ... For the higher resolutions with USB3: [mjpeg @ 0xffad3cb2000] Found EOI before any SOF, ignoring [mjpeg @ 0xffad3cb2000] No JPEG data found in image [mjpeg @ 0xffad3cb2000] overread 8aq= 0KB vq= 0KB sq= 0B f=0/0 [mjpeg @ 0xffad3cb2000] mjpeg: unsupported coding type (cb) [mjpeg @ 0xffad3cb2000] unable to decode APP fields: Invalid data found when processing input [mjpeg @ 0xffad3cb2000] Found EOI before any SOF, ignoring= 0B f=0/0