public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* v4l1 compat version 0.5 aka perfect camorama release
@ 2008-06-08 18:07 Hans de Goede
  0 siblings, 0 replies; only message in thread
From: Hans de Goede @ 2008-06-08 18:07 UTC (permalink / raw)
  To: need4weed@gmail.com, Elmar Kleijn, video4linux-list, spca50x-devs

[-- Attachment #1: Type: text/plain, Size: 1944 bytes --]

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


[-- Attachment #2: v4l1-compat-0.5.tar.gz --]
[-- Type: application/x-gzip, Size: 28680 bytes --]

[-- Attachment #3: camorama-0.19-size-may-differ-from-requested.patch --]
[-- Type: text/plain, Size: 1123 bytes --]

--- 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)

[-- Attachment #4: Type: text/plain, Size: 164 bytes --]

--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request@redhat.com?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-06-08 18:08 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-08 18:07 v4l1 compat version 0.5 aka perfect camorama release Hans de Goede

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox