From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mx3.redhat.com (mx3.redhat.com [172.16.48.32]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id m58I83On031903 for ; Sun, 8 Jun 2008 14:08:03 -0400 Received: from smtp2.versatel.nl (smtp2.versatel.nl [62.58.50.89]) by mx3.redhat.com (8.13.8/8.13.8) with ESMTP id m58I7X8b029921 for ; Sun, 8 Jun 2008 14:07:33 -0400 Message-ID: <484C1FDB.8060205@hhs.nl> Date: Sun, 08 Jun 2008 20:07:23 +0200 From: Hans de Goede MIME-Version: 1.0 To: "need4weed@gmail.com" , Elmar Kleijn , video4linux-list@redhat.com, spca50x-devs@lists.sourceforge.net Content-Type: multipart/mixed; boundary="------------060904010505000503020700" Cc: Subject: v4l1 compat version 0.5 aka perfect camorama release List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: video4linux-list-bounces@redhat.com Errors-To: video4linux-list-bounces@redhat.com List-ID: This is a multi-part message in MIME format. --------------060904010505000503020700 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Hi All, Changes since last version: v4l1-compat-0.5 --------------- * Allow changing of format after the buffers have been mapped, by tearing down the entire house, changing the fundament and then rebuilding it. Now changing the capture resolution in camorama works! * Fix jpeg decoding error reporting * Allow jpeg's with a height which is a multiple of 8 (was 16) * Remove a number of pretty new VIDIOCXXX -> string mappings from log.c, fixing compiling with somewhat older kernels v4l1-compat 0.4 --------------- * Do not even try to change the format in v4l1_compat_set_format(), unless _really_ necessary. * Cleanup ambigious use of src_format (no functional changes) * Drop the mmap hack for zerocopy access under certain conditions, one of them that the cam can deliver the requested format. Although avoiding the memcpy in this scenarios is a good thing todo, there were several issues with the 0.3 implementation of this, fixing all these means adding lots of special cases all over the code. So instead we just drop support and always do atleast a memcpy (or a conversion). If an application cannot live with the speed penalty this imposes it should be ported to v4l2. * Now that we've gotten rid of the zerocopy mmap hack, we can safely allow mixing read and mmap based IO. * Explictly include linux/ioctl.h, to fix compile with kernel headers where linux/videodev.h doesn't. With this version all apps tried sofar: * spcaview read / mmap mode, yuv420 and bgr24 * ekiga v4l1 read / mmap mode * camorama including changing capture resolution while streaming Work fine, note with some cams camorama might need a small bugfix though, as it assumes that cams have a resolution exactly half of their max resolution available, and as such ignores then width/height returned by VIDEOCSWIN, assuming it got what it asked for, the attached patch against camorama 0.19 fixes this. Regards, Hans --------------060904010505000503020700 Content-Type: application/x-gzip; name="v4l1-compat-0.5.tar.gz" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="v4l1-compat-0.5.tar.gz" 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 vxkACAIA --------------060904010505000503020700 Content-Type: text/plain; name="camorama-0.19-size-may-differ-from-requested.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="camorama-0.19-size-may-differ-from-requested.patch" --- camorama-0.19/src/callbacks.c 2007-09-16 15:36:55.000000000 +0200 +++ camorama-0.19.new/src/callbacks.c 2008-06-08 16:24:00.000000000 +0200 @@ -387,9 +387,6 @@ } } - cam->pixmap = gdk_pixmap_new (NULL, cam->x, cam->y, cam->desk_depth); - gtk_widget_set_size_request (glade_xml_get_widget (cam->xml, "da"), - cam->x, cam->y); /* * if(cam->read == FALSE) { @@ -441,6 +438,11 @@ * * } */ get_win_info (cam); + + cam->pixmap = gdk_pixmap_new (NULL, cam->x, cam->y, cam->desk_depth); + gtk_widget_set_size_request (glade_xml_get_widget (cam->xml, "da"), + cam->x, cam->y); + frame = 0; gtk_window_resize (GTK_WINDOW (glade_xml_get_widget (cam->xml, "main_window")), 320, --- camorama-0.19/src/v4l.c 2007-09-16 14:48:05.000000000 +0200 +++ camorama-0.19.new/src/v4l.c 2008-06-08 14:15:21.000000000 +0200 @@ -231,7 +231,8 @@ g_free(msg); exit(0); } - + cam->x = cam->vid_win.width; + cam->y = cam->vid_win.height; } void set_buffer(cam * cam) --------------060904010505000503020700 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline -- video4linux-list mailing list Unsubscribe mailto:video4linux-list-request@redhat.com?subject=unsubscribe https://www.redhat.com/mailman/listinfo/video4linux-list --------------060904010505000503020700--