--- guvcview-0.9.3.orig/debian/copyright +++ guvcview-0.9.3/debian/copyright @@ -0,0 +1,19 @@ +This package was debianized by Nobuhiro Iwamatsu on +Sun, 03 Aug 2008 22:18:16 +0900. + +It was downloaded from http://guvcview.berlios.de/ + +Upstream Author: + + Paulo Assis + +Copyright: + + Copyright (C) 2008 Paulo Assis + +License: + + GPLv3 + +The Debian packaging is (C) 2008, Nobuhiro Iwamatsu and +is licensed under the GPL, see `/usr/share/common-licenses/GPL'. --- guvcview-0.9.3.orig/debian/menu +++ guvcview-0.9.3/debian/menu @@ -0,0 +1,6 @@ +?package(guvcview):\ + needs="X11"\ + section="Applications/Video"\ + title="guvcview"\ + longtitle="GTK UVC Viewer - uvc video viewer and capturer"\ + command="/usr/bin/guvcview" --- guvcview-0.9.3.orig/debian/changelog +++ guvcview-0.9.3/debian/changelog @@ -0,0 +1,7 @@ +guvcview (0.9.3-1) unstable; urgency=low + + * Initial release (Closes: #493533) + * Add support UYVY color + + -- Nobuhiro Iwamatsu Sun, 14 Sep 2008 01:09:51 +0900 + --- guvcview-0.9.3.orig/debian/README.Debian +++ guvcview-0.9.3/debian/README.Debian @@ -0,0 +1,12 @@ +guvcview for Debian +------------------- + +- Check Linux kernel version + -- 2.6.26 + -- UVC module in 2.6.26 debian package + +- Check UVC cam + -- Quickcam netbook + -- Macbook iSight (1st) + + -- Nobuhiro Iwamatsu Sun, 14 Sep 2008 22:18:16 +0900 --- guvcview-0.9.3.orig/debian/manpages +++ guvcview-0.9.3/debian/manpages @@ -0,0 +1 @@ +debian/guvcview.1 --- guvcview-0.9.3.orig/debian/control +++ guvcview-0.9.3/debian/control @@ -0,0 +1,15 @@ +Source: guvcview +Section: graphics +Priority: extra +Maintainer: Nobuhiro Iwamatsu +DM-Upload-Allowed: yes +Build-Depends: debhelper (>= 7), autotools-dev, cdbs, dpatch, libsdl1.2-dev, libgtk2.0-dev, portaudio19-dev, libpng12-dev +Standards-Version: 3.8.0 +Homepage: http://guvcview.berlios.de/ + +Package: guvcview +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: GTK+ base UVC Viewer + guvcview is a simple GTK+ interface for capturing and viewing video from + devices supported by the Linux UVC driver. --- guvcview-0.9.3.orig/debian/dirs +++ guvcview-0.9.3/debian/dirs @@ -0,0 +1 @@ +usr/bin --- guvcview-0.9.3.orig/debian/guvcview.1 +++ guvcview-0.9.3/debian/guvcview.1 @@ -0,0 +1,32 @@ +.TH GUVCVIEW "1" "Sep 2008" +.SH NAME +guvcview \- GTK+ base UVC Viewer +.SH SYNOPSIS +.B guvcview +.SH DESCRIPTION +\fguvcview\fP is a simple GTK+ interface for capturing and viewing video from +devices supported by the Linux UVC driver. + +.SH USAGE +.TP +guvcview [options] + +.SH OPTION + -h, --help : print this message + --verbose : verbose mode, prints a lot of debug related info + -d , --device /dev/videoX : use videoX device + -g : use read method for grab instead mmap + -w enable|disable : SDL hardware accel. + -f [--format] format : video format default jpg others options are yuv jpg + -s [--size] width x height : use specified input size + -i [--image] image_file_name: sets the default image name available image formats: jpg png bmp + -c [--captime] time_in_seconds:time between image captures (sec.) enables auto image capture + -m [--npics] num_pics : max number of image captures defaults to 999 if not set + -n [--avi] avi_file_name : if set, enable avi capture from start + -t [--avitime] capture_time : used with -n option, avi capture time (sec.) + -p enable|disable : fps counter in title bar + -l [--profile] filename : loads the given control profile + +.SH AUTHOR +This manual page was written by Nobuhiro Iwamatsu , +for the Debian GNU/Linux system (but may be used by others). --- guvcview-0.9.3.orig/debian/rules +++ guvcview-0.9.3/debian/rules @@ -0,0 +1,21 @@ +#!/usr/bin/make -f +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/class/autotools.mk +include /usr/share/cdbs/1/rules/dpatch.mk +include /usr/share/dpatch/dpatch.make + +DEB_CONFIGURE_USER_FLAGS= --prefix=/usr --datadir=\$${prefix}/share --docdir=\$${prefix}/share/doc + +install/guvcview:: + rm -rf debian/guvcview/usr/share/doc/guvcview/NEWS \ + debian/guvcview/usr/share/doc/guvcview/COPYING \ + debian/guvcview/usr/share/doc/guvcview/INSTALL + + rm -rf debian/guvcview/usr/share/doc/guvcview/NEWS.gz \ + debian/guvcview/usr/share/doc/guvcview/COPYING.gz \ + debian/guvcview/usr/share/doc/guvcview/INSTALL.gz + +clean:: + rm -rf pixmaps/Makefile + rm -rf pixmaps/guvcview.desktop_ + rm -rf pixmaps/guvcview.menu --- guvcview-0.9.3.orig/debian/compat +++ guvcview-0.9.3/debian/compat @@ -0,0 +1 @@ +7 --- guvcview-0.9.3.orig/debian/patches/01_support_uyvy.dpatch +++ guvcview-0.9.3/debian/patches/01_support_uyvy.dpatch @@ -0,0 +1,140 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 01_support_uyvy.dpatch by Nobuhiro Iwamatsu +## +## DP: UYVY color support + +@DPATCH@ +diff -urNad guvcview-0.9.3~/src/guvcview.c guvcview-0.9.3/src/guvcview.c +--- guvcview-0.9.3~/src/guvcview.c 2008-09-06 19:52:58.000000000 +0900 ++++ guvcview-0.9.3/src/guvcview.c 2008-09-18 21:15:18.000000000 +0900 +@@ -2,6 +2,8 @@ + # guvcview http://guvcview.berlios.de # + # # + # Paulo Assis # ++# Nobuhiro Iwamatsu # ++# Add UYVY color support(Macbook iSight) # + # # + # This program is free software; you can redistribute it and/or modify # + # it under the terms of the GNU General Public License as published by # +@@ -573,7 +575,10 @@ + /*if -n not set reset capture time*/ + if(global->Capture_time>0 && global->avifile==NULL) global->Capture_time=0; + +- if (strncmp(global->mode, "yuv", 3) == 0) { ++ if (strncmp(global->mode, "uyv", 3) == 0) { ++ global->format = V4L2_PIX_FMT_UYVY; ++ global->formind = 2; ++ } else if (strncmp(global->mode, "yuv", 3) == 0) { + global->format = V4L2_PIX_FMT_YUYV; + global->formind = 1; + } else if (strncmp(global->mode, "jpg", 3) == 0) { +@@ -1132,10 +1137,12 @@ + int deffps=0; + int SupRes=0; + +- if (global->formind > 0) { /* is Yuv*/ ++ if (global->formind == 2) { /* is Yuv*/ ++ snprintf(global->mode, 4, "uyv"); ++ SupRes=videoIn->SupYuv; ++ } else if (global->formind == 1) { /* is Yuv*/ + snprintf(global->mode, 4, "yuv"); + SupRes=videoIn->SupYuv; +- + } else { /* is Mjpg */ + snprintf(global->mode, 4, "jpg"); + SupRes=videoIn->SupMjpg; +@@ -2331,10 +2338,20 @@ + pscreen = + SDL_SetVideoMode(videoIn->width, videoIn->height, global->bpp, + SDL_VIDEO_Flags); +- overlay = +- SDL_CreateYUVOverlay(videoIn->width, videoIn->height, ++ switch (global->format) { ++ case V4L2_PIX_FMT_YUYV: ++ overlay = SDL_CreateYUVOverlay(videoIn->width, videoIn->height, + SDL_YUY2_OVERLAY, pscreen); +- ++ break; ++ case V4L2_PIX_FMT_UYVY: ++ overlay = SDL_CreateYUVOverlay(videoIn->width, videoIn->height, ++ SDL_UYVY_OVERLAY, pscreen); ++ break; ++ default: ++ overlay = SDL_CreateYUVOverlay(videoIn->width, videoIn->height, ++ SDL_YUY2_OVERLAY, pscreen); ++ break; ++ } + p = (unsigned char *) overlay->pixels[0]; + + drect.x = 0; +@@ -2791,7 +2808,13 @@ + global->format=V4L2_PIX_FMT_MJPEG; + snprintf(global->mode, 4, "jpg"); + } else { +- if ((global->formind==1) && (videoIn->SupYuv>0)) { /*use yuv mode*/ ++ printf("formaind %d\n", global->formind); ++ printf("SupYuv %d\n", videoIn->SupYuv); ++ if ((global->formind==2) && (videoIn->SupYuv>0)) { /*use uyvy mode*/ ++ global->formind=2; ++ global->format=V4L2_PIX_FMT_UYVY; ++ snprintf(global->mode, 4, "uyv"); ++ } else if ((global->formind==1) && (videoIn->SupYuv>0)) { /*use yuv mode*/ + global->formind=1; + global->format=V4L2_PIX_FMT_YUYV; + snprintf(global->mode, 4, "yuv"); +diff -urNad guvcview-0.9.3~/src/utils.c guvcview-0.9.3/src/utils.c +--- guvcview-0.9.3~/src/utils.c 2008-09-06 19:52:58.000000000 +0900 ++++ guvcview-0.9.3/src/utils.c 2008-09-18 21:15:18.000000000 +0900 +@@ -1817,7 +1817,6 @@ + } + } + +- + /*-------------------------------- YUV Filters -------------------------------*/ + /* Flip YUYV frame horizontal*/ + void +diff -urNad guvcview-0.9.3~/src/v4l2uvc.c guvcview-0.9.3/src/v4l2uvc.c +--- guvcview-0.9.3~/src/v4l2uvc.c 2008-09-06 19:52:58.000000000 +0900 ++++ guvcview-0.9.3/src/v4l2uvc.c 2008-09-18 21:15:18.000000000 +0900 +@@ -337,6 +337,7 @@ + (size_t) vd->width * (vd->height + 8) * 2); + break; + case V4L2_PIX_FMT_YUYV: ++ case V4L2_PIX_FMT_UYVY: + /*YUYV doesn't need a temp buffer but we set if */ + /*video processing disable control is set */ + /* (logitech cameras only) */ +@@ -571,7 +572,8 @@ + goto err; + } + break; +- case V4L2_PIX_FMT_YUYV: ++ case V4L2_PIX_FMT_YUYV: ++ case V4L2_PIX_FMT_UYVY: + if(vd->isbayer>0) { + if (!(vd->tmpbuffer)) { + /* rgb buffer for decoding bayer data*/ +@@ -583,7 +585,10 @@ + } + } + bayer_to_rgb24 (vd->mem[vd->buf.index],vd->tmpbuffer,vd->width,vd->height, vd->pix_order); +- rgb2yuyv (vd->tmpbuffer,vd->framebuffer,vd->width,vd->height); ++ if(vd->formatIn == V4L2_PIX_FMT_YUYV) ++ rgb2yuyv (vd->tmpbuffer,vd->framebuffer,vd->width,vd->height); ++ else if(vd->formatIn == V4L2_PIX_FMT_UYVY) ++ rgb2uyvy (vd->tmpbuffer,vd->framebuffer,vd->width,vd->height); + } else { + if (vd->buf.bytesused > vd->framesizeIn) + memcpy(vd->framebuffer, vd->mem[vd->buf.index], +diff -urNad guvcview-0.9.3~/src/v4l2uvc.h guvcview-0.9.3/src/v4l2uvc.h +--- guvcview-0.9.3~/src/v4l2uvc.h 2008-09-06 19:52:58.000000000 +0900 ++++ guvcview-0.9.3/src/v4l2uvc.h 2008-09-18 21:15:18.000000000 +0900 +@@ -262,7 +262,7 @@ + int available_exp[4]; + /* 2 supported formats 0-MJPG and 1-YUYV */ + /* 20 settings for each format */ +- VidCap listVidCap[2][MAX_LIST_VIDCAP]; ++ VidCap listVidCap[3][MAX_LIST_VIDCAP]; + }; + + --- guvcview-0.9.3.orig/debian/patches/00list +++ guvcview-0.9.3/debian/patches/00list @@ -0,0 +1 @@ +# 01_support_uyvy