diff -ur motion-3.2.10.1/video2.c motion-3.2.10.1.MJPEG/video2.c --- motion-3.2.10.1/video2.c 2008-06-11 00:39:40.000000000 +0200 +++ motion-3.2.10.1.MJPEG/video2.c 2008-07-18 22:03:17.000000000 +0200 @@ -323,7 +323,8 @@ fmt.pixelformat >> 16, fmt.pixelformat >> 24, fmt.description); for (i = 0; supported_formats[i]; i++) - if (supported_formats[i] == fmt.pixelformat && i > index_format) { + if (supported_formats[i] == fmt.pixelformat ) { if (cnt->conf.v4l2_palette == i) { index_format = cnt->conf.v4l2_palette; motion_log(LOG_INFO, 0, "Selected palette %c%c%c%c", fmt.pixelformat >> 0, @@ -378,7 +379,11 @@ struct v4l2_jpegcompression v4l2_jpeg; if (xioctl(s->fd, VIDIOC_G_JPEGCOMP, &v4l2_jpeg) == -1) { - motion_log(LOG_ERR, 0, "VIDIOC_G_JPEGCOMP not supported but it should"); + motion_log(LOG_ERR, 0, "VIDIOC_G_JPEGCOMP not supported but it should be (does your webcam driver support this ioctl?)"); + // uvcvideo doesn't seem to have this, even SVN version ?! + // http://lists.berlios.de/pipermail/linux-uvc-devel/2007-April/001578.html + // kill the thread here? + } else { v4l2_jpeg.jpeg_markers |= V4L2_JPEG_MARKER_DHT; if (xioctl(s->fd, VIDIOC_S_JPEGCOMP, &v4l2_jpeg) == -1)