From sbertin@mindspring.com Tue, 31 Aug 1999 23:20:40 -0400 (EDT) Date: Tue, 31 Aug 1999 23:20:40 -0400 (EDT) From: sbertin@mindspring.com sbertin@mindspring.com Subject: new interface_pp_overhaul+timer patch --0-1804289383-936156046=:1986 Content-Type: TEXT/plain; CHARSET=US-ASCII Here is another combined patch against cpia-0.2. It has my first patch, Peter's latest timer patch, and some new improvements. New features: Module parameter parport to specify which parallel port(s) to use. This overrides the auto probing and is the same as lp's parport option. MAXCAMS increased to PARPORT_MAX (8) No more explicit dependence on parport_pc, might work with other parallel port hardware (untested). Some changes to support compiling into the kernel instead of as a module. It is likely that more changes are needed for this. Change to the parameters to if_Init in interface.h to allow parameters to be passed to the low level driver when compiled into the kernel. camera entries are dynamically allocated again instead of the static array I used in my last patch. Still to do (for interface_pp.c): Better detection of cameras when parport_probe is not available. I haven't even looked at the camera docs yet, so I would appreciate it if someone else could do this. BTW: Has anybody tested the autodetection with any camera other than the Creative Labs WebCamII yet? Allow arbitrary minor numbers rather than just [0..MAXCAMS-1]. I believe this is needed for v4l2. I've been thinking about this and can probably put it together pretty quickly. Anything else? Scott J. Bertin sbertin@mindspring.com --0-1804289383-936156046=:1986 Content-Type: TEXT/plain; CHARSET=US-ASCII Content-Description: interface_pp_overhaul2+timer-1.patch diff -c -r cpia.old/client/x11.c cpia/client/x11.c *** cpia.old/client/x11.c Thu May 13 16:59:16 1999 --- cpia/client/x11.c Sat Aug 28 18:50:19 1999 *************** *** 63,69 **** return -1; }; ! display_bits = info->bits_per_rgb * 3; display_bytes = (display_bits+7) >> 3; //round up ... printf("x11: color depth: %d bits, %d bytes\n",display_bits,display_bytes); --- 63,69 ---- return -1; }; ! display_bits = info->depth; display_bytes = (display_bits+7) >> 3; //round up ... printf("x11: color depth: %d bits, %d bytes\n",display_bits,display_bytes); diff -c -r cpia.old/module/Makefile cpia/module/Makefile *** cpia.old/module/Makefile Sat May 15 07:56:37 1999 --- cpia/module/Makefile Tue Aug 31 22:00:14 1999 *************** *** 3,9 **** WARN = -Wall -Wstrict-prototypes OPTIMIZE = -O2 -pipe CODESTYL = -fomit-frame-pointer -fno-strength-reduce ! INCLUDES = -I../include DEFINES = -D__KERNEL__ -DMODULE CFLAGS = $(DEBUG) $(WARN) $(OPTIMIZE) $(CODESTYL) $(INCLUDES) $(DEFINES) LIBS = --- 3,9 ---- WARN = -Wall -Wstrict-prototypes OPTIMIZE = -O2 -pipe CODESTYL = -fomit-frame-pointer -fno-strength-reduce ! INCLUDES = -I../include -I/usr/src/linux/include DEFINES = -D__KERNEL__ -DMODULE CFLAGS = $(DEBUG) $(WARN) $(OPTIMIZE) $(CODESTYL) $(INCLUDES) $(DEFINES) LIBS = *************** *** 18,27 **** $(CC) -c $(CFLAGS) $< ppcuscpia.o: $(PPCUS) ! $(LD) -s -r -o $@ $^ ../shared/procs.o ppv4l2cpia.o: $(PPV4L2) ! $(LD) -s -r -o $@ $^ ../shared/procs.o clean: rm -f *.o *~ core .depend DEADJOE --- 18,27 ---- $(CC) -c $(CFLAGS) $< ppcuscpia.o: $(PPCUS) ! $(LD) -r -o $@ $^ ../shared/procs.o ppv4l2cpia.o: $(PPV4L2) ! $(LD) -r -o $@ $^ ../shared/procs.o clean: rm -f *.o *~ core .depend DEADJOE diff -c -r cpia.old/module/cpia_entry.h cpia/module/cpia_entry.h *** cpia.old/module/cpia_entry.h Sun May 16 13:59:56 1999 --- cpia/module/cpia_entry.h Mon Aug 30 18:59:01 1999 *************** *** 19,24 **** --- 19,27 ---- struct parport *port; enum comstates state; enum camstates camstate; + struct wait_queue *q_wait; + struct timer_list q_timer; + int open_count; }; #endif diff -c -r cpia.old/module/interface.h cpia/module/interface.h *** cpia.old/module/interface.h Thu May 13 14:32:19 1999 --- cpia/module/interface.h Tue Aug 31 21:15:21 1999 *************** *** 7,13 **** int if_StreamRead (int minor,unsigned char*,int); int if_Open(int minor); int if_Close(int minor); ! int if_Init(void); int if_Cleanup(void); #endif --- 7,13 ---- int if_StreamRead (int minor,unsigned char*,int); int if_Open(int minor); int if_Close(int minor); ! int if_Init(char *str, int *ints); int if_Cleanup(void); #endif diff -c -r cpia.old/module/interface_pp.c cpia/module/interface_pp.c *** cpia.old/module/interface_pp.c Sun May 16 16:04:39 1999 --- cpia/module/interface_pp.c Tue Aug 31 22:00:18 1999 *************** *** 1,5 **** --- 1,13 ---- // (C) 1999 Bas Huisman + // and Scott J. Bertin + + #define __NO_VERSION__ + #include + #undef __NO_VERSION__ + #include + + #include #include *************** *** 9,20 **** #include "procs.h" #include "debug.h" ! #define MAXCAMS 4 #define PACKET_LENGTH 8 ! struct cpia_entry *camera[MAXCAMS]; ! char camstatesstr[12][40] = { "CPIA_PHASE_idle", "CPIA_PHASE_neg2s", "CPIA_PHASE_setup", --- 17,65 ---- #include "procs.h" #include "debug.h" ! #ifdef CONFIG_KMOD ! #include ! #endif ! ! #define MAXCAMS PARPORT_MAX #define PACKET_LENGTH 8 ! /* These should be defined in linux/parport.h, but aren't. The #ifndef ! * parport_enable_irq is in case they are at some future time. ! */ ! #ifdef PARPORT_NEED_GENERIC_OPS ! #ifndef parport_enable_irq ! #define parport_enable_irq(p) (p)->ops->enable_irq(p) ! #define parport_disable_irq(p) (p)->ops->disable_irq(p) ! #endif /* parport_enable_irq */ ! #else /* !PARPORT_NEED_GENERIC_OPS */ ! #ifndef parport_enable_irq ! #define parport_enable_irq(p) parport_pc_enable_irq(p) ! #define parport_disable_irq(p) parport_pc_disable_irq(p) ! #endif /* parport_enable_irq */ ! #endif /* !PARPORT_NEED_GENERIC_OPS */ ! ! static struct cpia_entry *camera[MAXCAMS] = ! { [0 ... MAXCAMS-1] = NULL }; ! ! /* Magic numbers for defining port-device mappings */ ! #define PPCPIA_PARPORT_UNSPEC -4 ! #define PPCPIA_PARPORT_AUTO -3 ! #define PPCPIA_PARPORT_OFF -2 ! #define PPCPIA_PARPORT_NONE -1 ! ! #ifdef MODULE ! static int parport_nr[MAXCAMS] = { [0 ... MAXCAMS-1] = PPCPIA_PARPORT_UNSPEC }; ! static char *parport[MAXCAMS] = { NULL, }; ! ! MODULE_PARM(parport, "1-" __MODULE_STRING(MAXCAMS) "s"); ! MODULE_PARM_DESC(parport, "'auto' or a list of parallel port numbers. Just like lp."); ! #else ! static int parport_nr[MAXCAMS] __initdata = { [0 ... MAXCAMS-1] = PPCPIA_PARPORT_UNSPEC }; ! static int parport_ptr = 0; ! #endif ! static char camstatesstr[12][40] = { "CPIA_PHASE_idle", "CPIA_PHASE_neg2s", "CPIA_PHASE_setup", *************** *** 28,72 **** // *************************************************************************** // - // struct cpia_entry stuff - // - // *************************************************************************** - - int newcamera(void) - { - int i; - for (i = 0;i < MAXCAMS;i++) - { - if (camera[i] == NULL) - { - camera[i] = kmalloc(sizeof(struct cpia_entry),GFP_KERNEL); - if (!camera[i]) - { - LOG("kmalloc failed\n"); - return -1; - }; - return i; - }; - }; - LOG("reached MAXCAMS camera's increase MAXCAMS\n"); - return -1; - }; - - int freecam(int camnr) - { - if (camera[camnr]) - { - kfree(camera[camnr]); - camera[camnr] = NULL; - return 0; - }; - LOG("hmm.. trying to free a unkmalloc'ed camera\n"); - return -1; - }; - - - // *************************************************************************** - // // EndTransferMode // // *************************************************************************** --- 73,78 ---- *************** *** 76,82 **** if (!cpia) return; if (cpia->state == CPIA_REVERSE) Reverse2Forward(cpia); Valid1284Termination(cpia); ! parport_pc_enable_irq(cpia->port); }; // *************************************************************************** --- 82,88 ---- if (!cpia) return; if (cpia->state == CPIA_REVERSE) Reverse2Forward(cpia); Valid1284Termination(cpia); ! parport_enable_irq(cpia->port); }; // *************************************************************************** *************** *** 87,93 **** int ForwardSetup(struct cpia_entry *cpia) { ! parport_pc_disable_irq(cpia->port); if (!Negotiate2SetupPhase(cpia,0)) { if (!ECPSetupPhase(cpia)) return 0; --- 93,99 ---- int ForwardSetup(struct cpia_entry *cpia) { ! parport_disable_irq(cpia->port); if (!Negotiate2SetupPhase(cpia,0)) { if (!ECPSetupPhase(cpia)) return 0; *************** *** 106,112 **** int ReverseSetup(struct cpia_entry *cpia,int extensibility) { ! parport_pc_disable_irq(cpia->port); if (!Negotiate2SetupPhase(cpia,extensibility)) { if (!ECPSetupPhase(cpia)) --- 112,118 ---- int ReverseSetup(struct cpia_entry *cpia,int extensibility) { ! parport_disable_irq(cpia->port); if (!Negotiate2SetupPhase(cpia,extensibility)) { if (!ECPSetupPhase(cpia)) *************** *** 121,133 **** return -1; }; ! void pp_irq_handler(int irq,void *a,struct pt_regs *b) { ! int minor = 0; //fixme ! if (camera[minor]) { ! if (camera[minor]->camstate == CPIA_PHASE_idle) LOG("image ready (%ld)\n",jiffies); ! //LOG("(%ld)got IRQ when in %s\n",jiffies,camstatesstr[camera[minor]->camstate]); }; }; --- 127,139 ---- return -1; }; ! void pp_irq_handler(int irq,void *handle,struct pt_regs *b) { ! struct cpia_entry *cam = (struct cpia_entry *)handle; ! if (cam) { ! //if (cam->camstate == CPIA_PHASE_idle) LOG("image ready (%ld)\n",jiffies); ! //LOG("(%ld)got IRQ when in %s\n",jiffies,camstatesstr[cam->camstate]); }; }; *************** *** 146,155 **** int if_StreamRead(int minor,unsigned char *buffer,int length) { int tmp = 0; ! if (!camera[minor]) return -1; ! if (ReverseSetup(camera[minor],1)) return -1; ! tmp = ECPReadBuffer(camera[minor],buffer,length); ! EndTransferMode(camera[minor]); return tmp; }; --- 152,161 ---- int if_StreamRead(int minor,unsigned char *buffer,int length) { int tmp = 0; ! struct cpia_entry *cpia = camera[minor]; ! if (ReverseSetup(cpia,1)) return -1; ! tmp = ECPReadBuffer(cpia,buffer,length); ! EndTransferMode(cpia); return tmp; }; *************** *** 170,177 **** int databytes; struct cpia_entry *cpia = camera[minor]; - if (!camera[minor]) return -1; - if ((ioctlnr<0)||(ioctlnr >= ((sizeof(ioctl2proc))/sizeof(ioctl2proc[0])))) { LOG("illegal ioctlnr %d\n",ioctlnr); --- 176,181 ---- *************** *** 255,318 **** int if_Open(int minor) { ! struct parport *port = NULL; ! struct pardevice *pdev = NULL; ! int camnr; ! ! if (camera[minor]) // if cpia_arr[minor] ! { ! LOG("camera[%d] != NULL already opened this thing ?\n",minor); ! return -EBUSY; ! }; ! ! for (port = parport_enumerate();port;port = port->next) ! { ! if (port->number == minor) break; ! }; ! ! if (!port) ! { ! LOG("can't find parport number %d\n",minor); ! return -ENXIO; ! }; ! ! if (!port->modes & PARPORT_MODE_PCECP) //fixme { ! LOG("port is not ECP capable\n"); return -ENXIO; }; ! pdev = parport_register_device(port,"cpia",NULL,NULL,pp_irq_handler,0,NULL); ! ! if (!pdev) { ! LOG("failed to parport_register_device\n"); ! return -ENXIO; } ! if (parport_claim(pdev)) { LOG("failed to claim the port\n"); - parport_unregister_device(pdev); - return -EBUSY; - }; - - if ((camnr = newcamera()) < 0) - { - parport_release(pdev); - parport_unregister_device(pdev); return -EBUSY; }; ! camera[camnr]->pdev = pdev; ! camera[camnr]->port = port; ! camera[camnr]->state = CPIA_FORWARD; ! camera[camnr]->camstate = CPIA_PHASE_idle; ! /* detect the thing */ ! parport_write_econtrol(port,PARPORT_MODE_PCECR); ! parport_pc_disable_irq(port); return 0; // success }; --- 259,286 ---- int if_Open(int minor) { ! if(minor >= MAXCAMS || camera[minor] == NULL) { ! LOG("Trying to open non-existent camera[%d]\n",minor); return -ENXIO; }; ! if(camera[minor]->open_count > 0) { ! return -EBUSY; } ! if (parport_claim(camera[minor]->pdev)) { LOG("failed to claim the port\n"); return -EBUSY; }; ! ++camera[minor]->open_count; /* detect the thing */ ! parport_write_econtrol(camera[minor]->port,PARPORT_MODE_PCECR); ! parport_disable_irq(camera[minor]->port); return 0; // success }; *************** *** 325,358 **** int if_Close(int minor) { ! if (camera[minor]) { ! if (camera[minor]->port->irq > 0) parport_pc_disable_irq(camera[minor]->port); parport_release(camera[minor]->pdev); - parport_unregister_device(camera[minor]->pdev); - freecam(minor); } ! else LOG("strange ... camera[%d] already NULL\n",minor); return 0; }; ! int if_Init(void) { ! int i; ! for (i = 0;i < MAXCAMS;i++) camera[i] = NULL; return 0; }; int if_Cleanup(void) { int i; ! for (i = 0;i < MAXCAMS;i++) { ! if (camera[i]) { LOG("You forgot to close minor %d, will do it for you\n",i); if_Close(i); }; }; return 0; }; --- 293,454 ---- int if_Close(int minor) { ! if(--camera[minor]->open_count == 0) { ! del_timer(&camera[minor]->q_timer); ! if (camera[minor]->port->irq > 0) parport_disable_irq(camera[minor]->port); parport_release(camera[minor]->pdev); } ! else LOG("Multiply opened camera[%d]\n", minor); return 0; }; ! int ppcpia_register(int minor, struct parport *port) { ! struct pardevice *pdev = NULL; ! ! if (!(port->modes & PARPORT_MODE_PCECP)) ! { ! LOG("port is not ECP capable\n"); ! return -ENXIO; ! }; ! ! pdev = parport_register_device(port,"ppcpia",NULL,NULL,pp_irq_handler,0,camera[minor]); ! ! if (!pdev) ! { ! LOG("failed to parport_register_device\n"); ! return -ENXIO; ! } ! ! camera[minor] = kmalloc(sizeof(struct cpia_entry),GFP_KERNEL); ! if(camera[minor] == NULL) { ! LOG("kmalloc failed\n"); ! return -ENOMEM; ! } ! camera[minor]->pdev = pdev; ! camera[minor]->port = port; ! camera[minor]->state = CPIA_FORWARD; ! camera[minor]->camstate = CPIA_PHASE_idle; ! camera[minor]->q_wait = NULL; ! init_timer(&camera[minor]->q_timer); ! camera[minor]->open_count = 0; ! ! return 0; // success ! } ! ! int if_Init(char *str, int *ints) ! { ! struct parport *port; ! int i, count=0; ! ! #ifdef MODULE ! if (parport[0]) { ! /* The user gave some parameters. Let's see what they were. */ ! if (!strncmp(parport[0], "auto", 4)) ! parport_nr[0] = PPCPIA_PARPORT_AUTO; ! else { ! int n; ! for (n = 0; n < MAXCAMS && parport[n]; n++) { ! if (!strncmp(parport[n], "none", 4)) ! parport_nr[n] = PPCPIA_PARPORT_NONE; ! else { ! char *ep; ! unsigned long r = simple_strtoul(parport[n], &ep, 0); ! if (ep != parport[n]) ! parport_nr[n] = r; ! else { ! LOG("bad port specifier `%s'\n", parport[n]); ! return -ENODEV; ! } ! } ! } ! } ! } ! ! #if defined(CONFIG_KMOD) && defined(CONFIG_PNP_PARPORT_MODULE) ! request_module("parport_probe"); ! #endif /* CONFIG_KMOD */ ! ! #else /* !MODULE */ ! ! if (!str) { ! if (ints[0] == 0 || ints[1] == 0) { ! /* disable driver on "ppcpia=" or "ppcpia=0" */ ! parport_nr[0] = PPCPIA_PARPORT_OFF; ! } ! } else if (!strncmp(str, "parport", 7)) { ! int n = simple_strtoul(str+7, NULL, 10); ! if (parport_ptr < MAXCAMS) ! parport_nr[parport_ptr++] = n; ! else ! LOG("too many ports, %s ignored.\n", str); ! } else if (!strcmp(str, "auto")) { ! parport_nr[0] = PPCPIA_PARPORT_AUTO; ! } else if (!strcmp(str, "none")) { ! parport_nr[parport_ptr++] = PPCPIA_PARPORT_NONE; ! } ! ! #endif /* !MODULE */ ! ! switch (parport_nr[0]) ! { ! case PPCPIA_PARPORT_OFF: ! return 0; ! ! case PPCPIA_PARPORT_UNSPEC: ! case PPCPIA_PARPORT_AUTO: ! for (port = parport_enumerate(); port; port = port->next) { ! ! #if defined(CONFIG_PNP_PARPORT) || \ ! (defined(MODULE) && defined(CONFIG_PNP_PARPORT_MODULE)) ! if(port->probe_info.class != PARPORT_CLASS_MEDIA || ! port->probe_info.cmdset == NULL || ! strncmp(port->probe_info.cmdset, "CPIA_1", 6) != 0) ! { ! continue; ! } ! #endif /* CONFIG_PNP_PARPORT || CONFIG_PNP_PARPORT_MODULE */ ! ! if (!ppcpia_register(count, port)) ! if (++count == MAXCAMS) ! break; ! } ! break; ! ! default: ! for (i = 0; i < MAXCAMS; i++) { ! for (port = parport_enumerate(); port; ! port = port->next) { ! if (port->number == parport_nr[i]) { ! if (!ppcpia_register(i, port)) ! count++; ! break; ! } ! } ! } ! break; ! } ! ! if(count == 0) { ! LOG("No cameras found\n"); ! return -ENODEV; ! } return 0; }; int if_Cleanup(void) { int i; ! for (i = 0;camera[i] != NULL && i < MAXCAMS;i++) { ! if (camera[i]->open_count > 0) { LOG("You forgot to close minor %d, will do it for you\n",i); if_Close(i); }; + parport_unregister_device(camera[i]->pdev); + kfree(camera[i]); }; return 0; }; diff -c -r cpia.old/module/interface_pp_low.c cpia/module/interface_pp_low.c *** cpia.old/module/interface_pp_low.c Tue Jun 29 03:13:14 1999 --- cpia/module/interface_pp_low.c Tue Aug 31 15:54:25 1999 *************** *** 26,42 **** #define WHILE_OUT_TIMEOUT 10 ! #define WHILE_OUT(thisthing)\ ! {\ ! if (thisthing)\ ! {\ ! unsigned long startjif = jiffies;\ ! while ((thisthing)&&((jiffies-startjif)q_wait != NULL ) ! { ! wake_up_interruptible(&cpia->q_wait); ! } ! return; ! } ! ! int ! while_out(struct cpia_entry *cpia) ! { ! struct parport *port = cpia->port; ! unsigned long endjif; ! int i, j, is_sig=0; ! ! if( GetECRMasked(port,ECR_full) ) return 1; ! ! cpia->q_timer.function=do_nothing; ! cpia->q_timer.data=(unsigned long)cpia; ! ! cpia->q_wait=NULL; ! for( j=0; jq_timer.expires=endjif; ! add_timer(&cpia->q_timer); ! interruptible_sleep_on(&cpia->q_wait); ! for ( i=0; i<_NSIG_WORDS && !is_sig; i++) /* ??? */ ! is_sig = current->signal.sig[i] & ! ~current->blocked.sig[i]; ! if (is_sig) ! { ! return 0; ! } ! if( GetECRMasked(port,ECR_full) ) ! { ! return 1; ! } ! } ! LOG("WhileoutError at line waited %d\n",WHILE_OUT_TIMEOUT); ! return 0; ! } int my_wait_peripheral(struct parport *port,int mask,int result) { *************** *** 327,333 **** while((((bytes-readbytes)/ECP_FIFO_SIZE) > 0)&&(endseen<4)) //at least 1 full fifo to do ? { ! WHILE_OUT(!GetECRMasked(port,ECR_full)); //wait for FIFO to be full for(j = 0;j < ECP_FIFO_SIZE;j++ ) { *buf = parport_read_fifo(port); --- 361,370 ---- while((((bytes-readbytes)/ECP_FIFO_SIZE) > 0)&&(endseen<4)) //at least 1 full fifo to do ? { ! if( while_out(cpia)==0 ) ! { ! goto WhileoutError; ! } for(j = 0;j < ECP_FIFO_SIZE;j++ ) { *buf = parport_read_fifo(port); diff -c -r cpia.old/module/module.c cpia/module/module.c *** cpia.old/module/module.c Thu May 13 14:14:33 1999 --- cpia/module/module.c Tue Aug 31 21:54:13 1999 *************** *** 1,12 **** --- 1,17 ---- // (C) 1999 Bas Huisman #include + #include #include #include #include "interface.h" #include "debug.h" + MODULE_AUTHOR("Bas Huisman "); + MODULE_DESCRIPTION("Driver for Vision CPiA based parallel port cameras"); + MODULE_SUPPORTED_DEVICE("cpia"); + #define CPIA_MAJOR 63 #define CPIA_MODULE_NAME "ppcpia" *************** *** 19,48 **** int pp_cpia_open(struct inode *inode, struct file *file) // open() { if (if_Open(MINOR(inode->i_rdev))) return -1; MOD_INC_USE_COUNT; return 0; }; int pp_cpia_close(struct inode *inode, struct file *file) // close() must never fail { MOD_DEC_USE_COUNT; return if_Close(MINOR(inode->i_rdev)); }; ssize_t pp_cpia_read(struct file *file,char *buffer,size_t length, loff_t *lofft) { - int minor = 0; //fixme if (!buffer) return -EINVAL; ! return if_StreamRead(minor,buffer,length); }; int pp_cpia_ioctl(struct inode *inode,struct file *file,unsigned int ioctlnr,unsigned long arg) { ! int minor = 0; //fixme ! return if_TransferMsg(minor,ioctlnr,(struct ioctlstruct *)arg); }; ! struct file_operations cpia_fops = { NULL, /* llseek */ pp_cpia_read, /* read */ --- 24,56 ---- int pp_cpia_open(struct inode *inode, struct file *file) // open() { if (if_Open(MINOR(inode->i_rdev))) return -1; + file->private_data = (void *)MINOR(inode->i_rdev); + #ifdef MODULE MOD_INC_USE_COUNT; + #endif return 0; }; int pp_cpia_close(struct inode *inode, struct file *file) // close() must never fail { + #ifdef MODULE MOD_DEC_USE_COUNT; + #endif return if_Close(MINOR(inode->i_rdev)); }; ssize_t pp_cpia_read(struct file *file,char *buffer,size_t length, loff_t *lofft) { if (!buffer) return -EINVAL; ! return if_StreamRead((int)file->private_data,buffer,length); }; int pp_cpia_ioctl(struct inode *inode,struct file *file,unsigned int ioctlnr,unsigned long arg) { ! return if_TransferMsg(MINOR(inode->i_rdev),ioctlnr,(struct ioctlstruct *)arg); }; ! static struct file_operations cpia_fops = { NULL, /* llseek */ pp_cpia_read, /* read */ *************** *** 67,75 **** // // *************************************************************************** int init_module(void) { ! if (if_Init()) return -1; if (module_register_chrdev(CPIA_MAJOR,CPIA_MODULE_NAME,&cpia_fops)) { LOG("unable to get major %d\n",CPIA_MAJOR); --- 75,84 ---- // // *************************************************************************** + #ifdef MODULE int init_module(void) { ! if (if_Init(NULL, NULL)) return -1; if (module_register_chrdev(CPIA_MAJOR,CPIA_MODULE_NAME,&cpia_fops)) { LOG("unable to get major %d\n",CPIA_MAJOR); *************** *** 85,87 **** --- 94,105 ---- if (module_unregister_chrdev(CPIA_MAJOR,CPIA_MODULE_NAME) < 0) LOG("module_unregister_chrdev failed\n"); }; + + #else + + __initfunc(void cpia_setup(char *str, int *ints)) + { + if_Init(str, ints)); + }; + + #endif --0-1804289383-936156046=:1986-- ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From bas@brijn.nu Wed, 01 Sep 1999 09:12:29 +0200 Date: Wed, 01 Sep 1999 09:12:29 +0200 From: Bas Rijniersce bas@brijn.nu Subject: new interface_pp_overhaul+timer patch Hi, sbertin@mindspring.com wrote: > Here is another combined patch against cpia-0.2. It has my first patch, > Peter's latest timer patch, and some new improvements. > New features: > No more explicit dependence on parport_pc, might work with other > parallel port hardware (untested). I have a DEC Alpha here, but the parport code is not compiled as a module. And I hate to kille the over 200 days of uptime of the machine ;-) If the driver is working with kernel-parport code, I can try it.. > Some changes to support compiling into the kernel instead of as > a module. It is likely that more changes are needed for this. Would be a good thing to get this working. The driver is now producing something like 1-12 fps with 30-50% CPU load. I'll let it run for a while, see what happens. But it's working OK! Probably you have seen the other message, I put up a patched cpia-0.2 at my ftp server. > Scott J. Bertin > sbertin@mindspring.com Bas ---- Bas Rijniersce Phone +31 341 550545 Oude Telgterweg 81 Fax +31 341 562940 3851 EA Ermelo http://www.brijn.nu The Netherlands bas@brijn.nu ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From bas@brijn.nu Wed, 01 Sep 1999 09:05:36 +0200 Date: Wed, 01 Sep 1999 09:05:36 +0200 From: Bas Rijniersce bas@brijn.nu Subject: Patching v0-2 with two patches Hi, Jacob Nikom wrote: > I tried to apply the combined patch agaist Bas' cpia-0.2 few times but > failed. The size of the patch I got is 14,423 bytes. Is it correct > value? > May it is simplier to place the patched (full) version into tar, zip it > and > send to archive? It's better not to send binary-archives over the list, not eveybody might want them. I have put an patched version up at ftp://brijn.nu/vision. This one is patched with Scott's latest combined patch (the parport_overhaul and timer patches). I'll try to keep the latest patched version online. > Regards, > Jacob Bas ---- Bas Rijniersce Phone +31 341 550545 Oude Telgterweg 81 Fax +31 341 562940 3851 EA Ermelo http://www.brijn.nu The Netherlands bas@brijn.nu ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From sbertin@mindspring.com Wed, 1 Sep 1999 17:37:12 -0400 (EDT) Date: Wed, 1 Sep 1999 17:37:12 -0400 (EDT) From: sbertin@mindspring.com sbertin@mindspring.com Subject: new interface_pp_overhaul+timer patch On 1 Sep, Bas Rijniersce wrote: >> No more explicit dependence on parport_pc, might work with other >> parallel port hardware (untested). > > I have a DEC Alpha here, but the parport code is not compiled as a > module. And I hate to kille the over 200 days of uptime of the machine > ;-) If the driver is working with kernel-parport code, I can try it.. It shouldn't matter if the parport code is a module or in the kernel. Scott J. Bertin sbertin@mindspring.com ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From vyskocil@math.unice.fr Thu, 2 Sep 1999 15:51:40 +0200 Date: Thu, 2 Sep 1999 15:51:40 +0200 From: Vyskocil Vladimir vyskocil@math.unice.fr Subject: Slim fast for wcIIcam0.2 This is a multi-part message in MIME format. ------=_NextPart_000_0009_01BEF55B.0C4F3860 Content-Type: multipart/alternative; boundary="----=_NextPart_001_000A_01BEF55B.0C4F3860" ------=_NextPart_001_000A_01BEF55B.0C4F3860 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi ! I have modified a patch for b&w quickcam that do a realtime bilinear = warp of the incoming image to remove the geometric distortion of the lens. This patch add the = option=20 in wcIIcam0.2 to use the warp or not (very funny with compression on :-) I tried some value for the ALPHA parameter in wcIIcam_warp.c and -0.06 = seems good but prehaps someone can guess the exact value (and BETA also ?). This patch is for you if you think the cam make your nose too big and = your head too fat ;-) I also noticed that with the new patch for cpia0.2, the compression is = not working very good, the video stream often stop with error : EOL not found giving up after = ... bytes. With unpatched cpia0.2 it's never happen. ------=_NextPart_001_000A_01BEF55B.0C4F3860 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi !
 
I have modified a patch for b&w = quickcam=20 that do a realtime bilinear warp of the incoming
image to remove the geometric = distortion of the=20 lens. This patch add the option
in wcIIcam0.2 to use the warp or not = (very funny=20 with compression on :-)
I tried some value for the ALPHA = parameter in=20 wcIIcam_warp.c and -0.06 seems good but
prehaps someone can guess the exact = value (and=20 BETA also ?).
This patch is for you if you think = the cam make=20 your nose too big and your head too fat ;-)
 
I also noticed that with the new patch for cpia0.2, = the=20 compression is not working very good,
the video stream often stop with error : EOL not = found giving=20 up after ... bytes. With unpatched
cpia0.2 it's never = happen.
------=_NextPart_001_000A_01BEF55B.0C4F3860-- ------=_NextPart_000_0009_01BEF55B.0C4F3860 Content-Type: application/octet-stream; name="wcIIcam_warp.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="wcIIcam_warp.patch" ZGlmZiAtciAtVSA0IC0tbmV3LWZpbGUgd2NJSWNhbTAuMi9NYWtlZmlsZSB3Y0lJY2FtMC4yX25l dy9NYWtlZmlsZQotLS0gd2NJSWNhbTAuMi9NYWtlZmlsZQlGcmkgSnVsIDIzIDIwOjA4OjAxIDE5 OTkKKysrIHdjSUljYW0wLjJfbmV3L01ha2VmaWxlCVRodSBTZXAgIDIgMTM6MDk6NDEgMTk5OQpA QCAtMzIsMTAgKzMyLDEwIEBACiAKIGNsZWFuOgogCXJtIC1mICQoUFJPRykgKi5vIGdudS1nZXRv cHQvKi5vICouY29yZSBjb3JlICouYmFrICp+ICouZmxjCiAKLSQoUFJPRyk6IHdjSUljYW0ubyB3 Y0lJX2h3Lm8gd2NJSV9jb252ZXJ0Lm8gd2NJSV9wcm9jcy5vICQoT0JKUykgJChJTkNMVURFUykK LQkkKExEKSAtbyAkKFBST0cpIHdjSUljYW0ubyB3Y0lJX2h3Lm8gd2NJSV9wcm9jcy5vIHdjSUlf Y29udmVydC5vICQoT0JKUykgJChMREZMQUdTKSAKKyQoUFJPRyk6IHdjSUljYW0ubyB3Y0lJX2h3 Lm8gd2NJSV9jb252ZXJ0Lm8gd2NJSV9wcm9jcy5vIHdjSUlfd2FycC5vICQoT0JKUykgJChJTkNM VURFUykKKwkkKExEKSAtbyAkKFBST0cpIHdjSUljYW0ubyB3Y0lJX2h3Lm8gd2NJSV9wcm9jcy5v IHdjSUlfY29udmVydC5vIHdjSUlfd2FycC5vICQoT0JKUykgJChMREZMQUdTKSAKIAkjc3RyaXAg JChQUk9HKQogCiB3Y0lJY2FtLm86IHdjSUljYW0uYyAkKElOQ0xVREVTKQogCSQoQ0MpICQoQ0ZM QUdTKSAtYyB3Y0lJY2FtLmMKQEAgLTQ4LDQgKzQ4LDYgQEAKIAogd2NJSV9wcm9jcy5vOiB3Y0lJ X3Byb2NzLmMgJChJTkNMVURFUykKIAkkKENDKSAkKENGTEFHUykgLWMgd2NJSV9wcm9jcy5jCiAK K3djSUlfd2FycC5vOiB3Y0lJX3dhcnAuYyAkKElOQ0xVREVTKQorCSQoQ0MpICQoQ0ZMQUdTKSAt YyB3Y0lJX3dhcnAuYwpkaWZmIC1yIC1VIDQgLS1uZXctZmlsZSB3Y0lJY2FtMC4yL01ha2VmaWxl X2Qgd2NJSWNhbTAuMl9uZXcvTWFrZWZpbGVfZAotLS0gd2NJSWNhbTAuMi9NYWtlZmlsZV9kCVdl ZCBKdWwgMjEgMjE6NDU6NTIgMTk5OQorKysgd2NJSWNhbTAuMl9uZXcvTWFrZWZpbGVfZAlUaHUg U2VwICAyIDE1OjA5OjQyIDE5OTkKQEAgLTMyLDEwICszMiwxMCBAQAogCiBjbGVhbjoKIAlybSAt ZiAkKFBST0cpICoubyBnbnUtZ2V0b3B0LyoubyAqLmNvcmUgY29yZSAqLmJhayAqfiAqLmZsYwog Ci0kKFBST0cpOiB3Y0lJY2FtLm8gd2NJSV9ody5vIHdjSUlfY29udmVydC5vIHdjSUlfcHJvY3Mu byAkKE9CSlMpICQoSU5DTFVERVMpCi0JJChMRCkgJChMREZMQUdTKSAtbyAkKFBST0cpIHdjSUlj YW0ubyB3Y0lJX2h3Lm8gd2NJSV9wcm9jcy5vIHdjSUlfY29udmVydC5vICQoT0JKUykgCiskKFBS T0cpOiB3Y0lJY2FtLm8gd2NJSV9ody5vIHdjSUlfY29udmVydC5vIHdjSUlfcHJvY3MubyB3Y0lJ X3dhcnAubyAkKE9CSlMpICQoSU5DTFVERVMpCisJJChMRCkgJChMREZMQUdTKSAtbyAkKFBST0cp IHdjSUljYW0ubyB3Y0lJX2h3Lm8gd2NJSV9wcm9jcy5vIHdjSUlfY29udmVydC5vIHdjSUlfd2Fy cC5vICQoT0JKUykgCiAJc3RyaXAgJChQUk9HKSAKIAogd2NJSWNhbS5vOiB3Y0lJY2FtLmMgJChJ TkNMVURFUykKIAkkKENDKSAkKENGTEFHUykgLWMgd2NJSWNhbS5jCkBAIC00OCw0ICs0OCw2IEBA CiAKIHdjSUlfcHJvY3Mubzogd2NJSV9wcm9jcy5jICQoSU5DTFVERVMpCiAJJChDQykgJChDRkxB R1MpIC1jIHdjSUlfcHJvY3MuYwogCit3Y0lJX3dhcnAubzogd2NJSV93YXJwLmMgJChJTkNMVURF UykKKwkkKENDKSAkKENGTEFHUykgLWMgd2NJSV93YXJwLmMKZGlmZiAtciAtVSA0IC0tbmV3LWZp bGUgd2NJSWNhbTAuMi93Y0lJX2NvbnZlcnQuYyB3Y0lJY2FtMC4yX25ldy93Y0lJX2NvbnZlcnQu YwotLS0gd2NJSWNhbTAuMi93Y0lJX2NvbnZlcnQuYwlTYXQgSnVsIDI0IDAxOjEzOjE5IDE5OTkK KysrIHdjSUljYW0wLjJfbmV3L3djSUlfY29udmVydC5jCVRodSBTZXAgIDIgMTQ6NTE6MzYgMTk5 OQpAQCAtMSw5ICsxLDE0IEBACiAjaW5jbHVkZSA8c3RkaW8uaD4KIAogI2luY2x1ZGUgImNwaWEu aCIKKyNpbmNsdWRlICJ3Y0lJX3dhcnAuaCIKIAogZXh0ZXJuIGludCBWSURFT1NJWkU7CitleHRl cm4gaW50IFdBUlA7CisKK2ludCBnZXRXaWR0aCh2b2lkKTsKK2ludCBnZXRIZWlnaHQodm9pZCk7 CiAKIHVuc2lnbmVkIGNoYXIgKmxhc3RidWYodm9pZCk7CiB1bnNpZ25lZCBjaGFyICpleHBhbmRs aW5lcyhpbnQgLHVuc2lnbmVkIGNoYXIgKmR1YWxbXSx1bnNpZ25lZCBjaGFyICopOwogaW5saW5l IHVuc2lnbmVkIGNoYXIgKmV4cGFuZChpbnQgdGxpbmUsdW5zaWduZWQgY2hhciAqZHVhbDAsdW5z aWduZWQgY2hhciAqZHVhbDEsdW5zaWduZWQgY2hhciAqb2J1ZikgOwpAQCAtMzQxLDE5ICszNDYs MjUgQEAKIHJldHVybiBvYnVmLW9yaWdvYnVmOwogfQogCiBpbnQgc3RyZWFtMnJnYjMyKHVuc2ln bmVkIGNoYXIgKmlidWYsdW5zaWduZWQgY2hhciAqb2J1ZixpbnQgc2l6ZSkgewotCWlmICggVklE RU9TSVpFID09IFZJREVPU0laRV9YQ0lGICkgCi0JCXJldHVybiBzdHJlYW0ycmdiMzJfZXhwYW5k KGlidWYsb2J1ZixzaXplKTsKLQllbHNlCi0JCXJldHVybiBzdHJlYW0ycmdiMzJfbm9ybWFsKGli dWYsb2J1ZixzaXplKTsKKyAgaW50IHJldDsKKyAgaWYgKCBWSURFT1NJWkUgPT0gVklERU9TSVpF X1hDSUYgKSAKKyAgICByZXQgPSBzdHJlYW0ycmdiMzJfZXhwYW5kKGlidWYsb2J1ZixzaXplKTsK KyAgZWxzZQorICAgIHJldCA9IHN0cmVhbTJyZ2IzMl9ub3JtYWwoaWJ1ZixvYnVmLHNpemUpOwor ICBpZihXQVJQKSB3YXJwKG9idWYsIGdldFdpZHRoKCksIGdldEhlaWdodCgpKTsKKyAgcmV0dXJu IHJldDsKIH0KIAogaW50IHN0cmVhbTJyZ2IzMmModW5zaWduZWQgY2hhciAqaWJ1Zix1bnNpZ25l ZCBjaGFyICpvYnVmLGludCBzaXplKSB7Ci0JaWYgKCBWSURFT1NJWkUgPT0gVklERU9TSVpFX1hD SUYgKSAKLQkJcmV0dXJuIHN0cmVhbTJyZ2IzMmNfZXhwYW5kKGlidWYsb2J1ZixzaXplKTsKLQll bHNlCi0JCXJldHVybiBzdHJlYW0ycmdiMzJjX25vcm1hbChpYnVmLG9idWYsc2l6ZSk7CisgIGlu dCByZXQ7CisgIGlmICggVklERU9TSVpFID09IFZJREVPU0laRV9YQ0lGICkgCisgICAgcmV0ID0g c3RyZWFtMnJnYjMyY19leHBhbmQoaWJ1ZixvYnVmLHNpemUpOworICBlbHNlCisgICAgcmV0ID0g c3RyZWFtMnJnYjMyY19ub3JtYWwoaWJ1ZixvYnVmLHNpemUpOworICBpZihXQVJQKSB3YXJwKG9i dWYsIGdldFdpZHRoKCksIGdldEhlaWdodCgpKTsKKyAgcmV0dXJuIHJldDsKIH0KIAogdW5zaWdu ZWQgY2hhciAqZXhwYW5kbGluZXMoaW50IGxlbix1bnNpZ25lZCBjaGFyICpkdWFsW10sdW5zaWdu ZWQgY2hhciAqb2J1ZikgewogCmRpZmYgLXIgLVUgNCAtLW5ldy1maWxlIHdjSUljYW0wLjIvd2NJ SV93YXJwLmMgd2NJSWNhbTAuMl9uZXcvd2NJSV93YXJwLmMKLS0tIHdjSUljYW0wLjIvd2NJSV93 YXJwLmMJVGh1IEphbiAgMSAwMTowMDowMCAxOTcwCisrKyB3Y0lJY2FtMC4yX25ldy93Y0lJX3dh cnAuYwlUaHUgU2VwICAyIDE1OjA4OjE1IDE5OTkKQEAgLTAsMCArMSwyNzEgQEAKKy8qKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKgorTW9kaWZpZWQgdmVyc2lvbiBvZiB0aGUgcXVpY2t3YXJwIGZvciBRdWlja2NhbQorCisq IENvbG9yIGJpbGllYXIgd2FycCBpbnN0ZWFkIG9mIEImVworKiBEb24ndCB1c2UgZmlsZSBhbnlt b3JlIGZvciB0aGUgbWFwCisKKzA5LzE5OTkKK1Z5c2tvY2lsIFZsYWRpbWlyCit2eXNrb2NpbEB1 bmljZS5mcgorCitPcmlnaW5hbCBDb3B5cmlnaHQgZm9sbG93IDoKKworUXVpY2tXYXJwIHZlcnNp b24gMC4xIGltYWdlIHdhcnBpbmcgbW9kdWxlIGZvciBRdWlja0NhbS4KKworQ29weXJpZ2h0IChD KSAxOTk2IE1pY2hhZWwgSGVyZiAoaGVyZkBjbXUuZWR1KS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu CisKK1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5CitpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyhhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCisKK1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKK01FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKK0dOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RoaXMgaW1hZ2Ugd2FycGluZyBtb2R1 bGUgaXMgYmVpbmcgcmVsZWFzZWQgaW50byB0aGUgTGludXgvQlNECitjb21tdW5pdHkgdW5kZXIg dGhlIEdQTC4gIFNlZSBDT1BZSU5HIGZvciBkZXRhaWxzLiAgSWYgeW91J3JlIGEKK2NvbW1lcmNp YWwgaW50ZXJlc3QgYW5kIHdpc2ggdG8gdXNlIHRoZSBjb2RlIGZvciBhbnkgcHJvcHJpZXRhcnkK K3NvZnR3YXJlIHdoaWNoIHdvdWxkIHZpb2xhdGUgdGhlIHRlcm1zIG9mIHRoZSBHUEwsIGxpY2Vu c2luZyBvcHRpb25zCithcmUgYXZhaWxhYmxlLCBhbmQgeW91IG11c3QgY29udGFjdCBtZSBmb3Ig ZnVydGhlciB0ZXJtcy4KKworVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVy bWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUKK2luY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3Rh bnRpYWwgcG9ydGlvbnMgb2YgdGhlIHByb2dyYW0uCisKKyoqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiBmaWx0 ZXIgbW9kdWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8q IGhhcyB0aGUgaXJyaXRhdGluZ2x5IHVucm9sbGVkIGZ1bmN0aW9ucyB0byB3YXJwIGltYWdlcyAq LworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxt YXRoLmg+CisKKyNpbmNsdWRlICJjcGlhLmgiCisKK3N0YXRpYyB1bnNpZ25lZCBjaGFyIG5ld19z Y2FuW01BWF9SR0JBX0lNQUdFX1NJWkVdOworc3RhdGljIGludCAqZGVsdCA9IE5VTEw7CisKKy8q IGRvZXMgZmFzdCBiaWxpbmVhciBpbnRlcnBvbGF0aW9uLiAgSSBkb24ndCBrb253IG1hbnkgd2F5 cyAgICAgICAgKi8KKy8qIHRvIHNwZWVkIHRoaXMgdXAsIGJ1dCBpZiB5b3Uga25vdyBvZiBhbnkg c2hvcnQgb2YgaGFuZGNvZGVkIGFzbSwgKi8KKy8qIGxldCBtZSBrbm93LiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKworc3RhdGljIHZvaWQg YmlsaW5lYXJfaW50ICh1bnNpZ25lZCBjaGFyICpwaXhlbHMsIGludCB4c2l6ZSwgaW50IHlzaXpl LCBpbnQgeCwgaW50IHksIHVuc2lnbmVkIGNoYXIgKm91dHBpeGVscykgeworICAgIGludCBmeCwg ZnksIGl4eSwgcHgwLCBweDEsIHRlbXAsIHRlbXAyLCBpeHk0LCB4c2l6ZTQ7CisKKyAgICAvKiB3 YXJwIHNob3VsZCBndWFyYW50ZWUgdGhhdCB0aGVzZSBhcmUgbm90IG5lY2Vzc2FyeSAqLworICAg IC8qIEZvciBzcGVlZCByZWFzb25zIHdlIGxlYXZlIHRoZW0gb3V0ICAgICAgICAgICAgICAgICov CisgICAgLyogSW4gZ2VuZXJhbCwgaG93ZXZlciwgaW5jbHVkZSB0aGVtICAgICAgICAgICAgICAg ICAgKi8KKyAgICAvKiAgICBpZiAoIHgrMSA+PSAoeHNpemU8PDYpKSB4ID0gKHhzaXplIC0gMik8 PDY7ICAgICAqLworICAgIC8qICAgIGlmICggeSsxID49ICh5c2l6ZTw8NikpIHkgPSAoeXNpemUg LSAyKTw8NjsgICAgICovCisgICAgLyogICAgaWYgKCB4IDwgMCApIHggPSAwOyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKi8KKyAgICAvKiAgICBpZiAoIHkgPCAwICkgeSA9IDA7ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAqLworCisgICAgaXh5ID0gKHg+PjYpKyh5Pj42KSp4c2l6 ZTsgLyogaW50ZWdlciBwYXJ0cyBvZiB4LCB5ICAgICAgICAgICAgICAgKi8KKyAgICBmeCA9IHgg JiAweDNGOyAgICAgICAgICAgICAvKiAwLi42NCAoc2l4IGJpdHMgLS0gZmxvYXQgcGFydCBvZiB4 KSAqLworICAgIGZ5ID0geSAmIDB4M0Y7CisgICAgCisgICAgaXh5NCA9IGl4eTw8MjsgICAgICAg ICAgICAgLyogaXh5ICogNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICB4c2l6 ZTQgPSB4c2l6ZTw8MjsgICAgICAgICAvKiB4c2l6ZSAqIDQgICAgICAgICAgICAgICAgICAgICAg ICAgICAqLworCisgICAgLyogZG8gdGhlIGludGVycG9sYXRpb24gKi8KKyAgICAvKiBSICovCisg ICAgdGVtcCA9IHBpeGVsc1tpeHk0XTsKKyAgICBweDAgPSAodGVtcDw8NikgKyBmeCAqIChwaXhl bHNbaXh5NCArIDRdIC0gdGVtcCk7CisgICAgdGVtcDIgPSBwaXhlbHNbaXh5NCt4c2l6ZTRdOwor ICAgIHB4MSA9ICh0ZW1wMjw8NikgKyBmeCAqIChwaXhlbHNbaXh5NCArIHhzaXplNCArIDRdIC0g dGVtcDIpOworICAgIC8qIHB4MCBhbmQgcHgxIGFyZSAyNi42ICovCisgICAgCisgICAgKm91dHBp eGVscyA9IChweDAgKyAoZnkqKHB4MSAtIHB4MCkgPj4gNikpID4+IDY7CisgICAgCisgICAgLyog RyAqLworICAgIHRlbXAgPSBwaXhlbHNbaXh5NCsxXTsKKyAgICBweDAgPSAodGVtcDw8NikgKyBm eCAqIChwaXhlbHNbaXh5NCArIDVdIC0gdGVtcCk7CisgICAgdGVtcDIgPSBwaXhlbHNbaXh5NCt4 c2l6ZTQrMV07CisgICAgcHgxID0gKHRlbXAyPDw2KSArIGZ4ICogKHBpeGVsc1tpeHk0ICsgeHNp emU0ICsgNV0gLSB0ZW1wMik7CisgICAgLyogcHgwIGFuZCBweDEgYXJlIDI2LjYgKi8KKyAgICAK KyAgICAqKG91dHBpeGVscysxKSA9IChweDAgKyAoZnkqKHB4MSAtIHB4MCkgPj4gNikpID4+IDY7 CisgICAgCisgICAgLyogQiAqLworICAgIHRlbXAgPSBwaXhlbHNbaXh5NCsyXTsKKyAgICBweDAg PSAodGVtcDw8NikgKyBmeCAqIChwaXhlbHNbaXh5NCArIDZdIC0gdGVtcCk7CisgICAgdGVtcDIg PSBwaXhlbHNbaXh5NCt4c2l6ZTQrMl07CisgICAgcHgxID0gKHRlbXAyPDw2KSArIGZ4ICogKHBp eGVsc1tpeHk0ICsgeHNpemU0ICsgNl0gLSB0ZW1wMik7CisgICAgLyogcHgwIGFuZCBweDEgYXJl IDI2LjYgKi8KKyAgICAKKyAgICAqKG91dHBpeGVscysyKSA9IChweDAgKyAoZnkqKHB4MSAtIHB4 MCkgPj4gNikpID4+IDY7CisgICAgCit9CisKK3ZvaWQgd2FycCh1bnNpZ25lZCBjaGFyICpzY2Fu LCBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKKyAgICBmbG9hdCBjZW50X3gsIGNlbnRfeTsKKyAg ICBpbnQgaGFsZngsIGhhbGZ5LCBoYWxmeDQsIGhhbGZ5NDsKKyAgICBpbnQgY2VudF94NiwgY2Vu dF95NjsKKyAgICBpbnQgKnRlbXA7CisgICAgdW5zaWduZWQgY2hhciAqcHRlbXA7CisgICAgaW50 IHgsIHksIGZ4LCBmeTsKKyAgICAKKyAgICBjZW50X3ggPSB3aWR0aC8yLTAuNTsKKyAgICBjZW50 X3kgPSBoZWlnaHQvMi0wLjU7CisgICAgaGFsZnggPSB3aWR0aC8yOworICAgIGhhbGZ5ID0gaGVp Z2h0LzI7CisgICAgaGFsZng0ID0gaGFsZngqNDsKKyAgICBoYWxmeTQgPSBoYWxmeSo0OworICAg IGNlbnRfeDYgPSAoaW50KShjZW50X3ggKiA2NCk7CisgICAgY2VudF95NiA9IChpbnQpKGNlbnRf eSAqIDY0KTsKKyAgICAKKyAgICAvKiBpbiBhIHJhZGlhbCB3YXJwLCB0aGUgc2NyZWVuIGNhbiBi ZSBicm9rZW4gaW50byBmb3VyICAgICAgICAgICAgICAgICAgKi8KKyAgICAvKiBzeW1tZXRyaWMg cXVhZHJhbnRzLiAgb3VyIGRlbHRhZmlsZSBoYXMgaW5mb3JtYXRpb24gZm9yIG9uZSBvZiB0aGVz ZS4gKi8KKyAgICAvKiBTbywgd2UgdXNlIGZvdXIgbG9vcHMgdG8gYXZvaWQgYnJhbmNoZXMgaW4g aW5uZXIgbG9vcC4gIHRoaW5ncyAgICAgICAgKi8KKyAgICAvKiB3aWxsIGJlIHNsb3cgaWYgd2Ug aGF2ZSAiaWZzIiBpbiB0aGUgaW5uZXIgbG9vcCB0byBkZXRlcm1pbmUgcXVhZHJhbnQgKi8KKwor ICAgIC8qIHVwcGVyIGxlZnQgcXVhZHJhbnQgKi8KKyAgICB0ZW1wPWRlbHQ7CisgICAgcHRlbXA9 bmV3X3NjYW47CisgICAgZm9yICh5PTA7IHk8aGFsZnk7IHkrKykgeworCWZvciAoeD0wOyB4PGhh bGZ4OyB4KyspIHsKKwkgICAgZnggPSAqKHRlbXArKykgKyBjZW50X3g2OworCSAgICBmeSA9ICoo dGVtcCsrKSArIGNlbnRfeTY7CisJICAgIGJpbGluZWFyX2ludChzY2FuLCB3aWR0aCwgaGVpZ2h0 LCBmeCwgZnksIHB0ZW1wKTsKKwkgICAgcHRlbXArPTQ7CisgICAgICAgIH0KKyAgICAgICAgLyog c2tpcCB0aGUgc2Vjb25kIGhhbGYgb2YgdGhlIHNjYW5saW5lICovCisJcHRlbXAgKz0gaGFsZng0 OworICAgIH0KKworICAgIC8qIHVwcGVyIHJpZ2h0IHF1YWRyYW50ICAgICAgICAgKi8KKyAgICAv KiB3b3JraW5nIGJhY2sgYWxvbmcgc2NhbmxpbmVzICovCisgICAgdGVtcCA9IGRlbHQtd2lkdGgt MTsKKyAgICBwdGVtcCA9IG5ld19zY2FuK2hhbGZ4NDsKKyAgICBmb3IgKHk9MDsgeTxoYWxmeTsg eSsrKSB7CisJdGVtcCArPSAyKndpZHRoOworCWZvciAoeD1oYWxmeDsgeDx3aWR0aDsgeCsrKSB7 CisgICAgICAgICAgICAvKiBkb24ndCBjaGFuZ2UgdGhlIG9yZGVyOyB3ZSdyZSBzY2FubmluZyBi YWNrd2FyZHMgKi8KKwkgICAgZnkgPSAqKHRlbXAtLSkgKyBjZW50X3k2OworCSAgICBmeCA9IC0q KHRlbXAtLSkgKyBjZW50X3g2OworCSAgICBiaWxpbmVhcl9pbnQoc2Nhbiwgd2lkdGgsIGhlaWdo dCwgZngsIGZ5LCBwdGVtcCk7CisJICAgIHB0ZW1wKz00OworCX0KKwlwdGVtcCArPSBoYWxmeDQ7 CisgICAgfQorCisgICAgLyogYm90dG9tIGxlZnQgcXVhZHJhbnQgKi8KKyAgICB0ZW1wID0gZGVs dCt3aWR0aCpoZWlnaHQvMit3aWR0aDsKKyAgICBwdGVtcCA9IG5ld19zY2FuK3dpZHRoKmhhbGZ5 NDsKKyAgICBmb3IgKHk9aGFsZnk7IHk8aGVpZ2h0OyB5KyspIHsKKwl0ZW1wIC09IDIqd2lkdGg7 CisJZm9yICh4PTA7IHg8aGFsZng7IHgrKykgeworCSAgICBmeCA9ICoodGVtcCsrKSArIGNlbnRf eDY7CisJICAgIGZ5ID0gLSoodGVtcCsrKSArIGNlbnRfeTY7CisJICAgIGJpbGluZWFyX2ludChz Y2FuLCB3aWR0aCwgaGVpZ2h0LCBmeCwgZnksIHB0ZW1wKTsKKwkgICAgcHRlbXArPTQ7CisJfQor CXB0ZW1wICs9IGhhbGZ4NDsKKyAgICB9CisKKyAgICAvKiBib3R0b20gcmlnaHQgcXVhZHJhbnQg Ki8KKyAgICB0ZW1wID0gZGVsdCt3aWR0aCpoZWlnaHQvMi0xOworICAgIHB0ZW1wID0gbmV3X3Nj YW4gKyB3aWR0aCpoYWxmeTQgKyBoYWxmeDQ7CisgICAgZm9yICh5PWhhbGZ5OyB5PGhlaWdodDsg eSsrKSB7CisJZm9yICh4PWhhbGZ4OyB4PHdpZHRoOyB4KyspIHsKKyAgICAgICAgICAgIC8qIGRv bid0IGNoYW5nZSB0aGUgb3JkZXIgKi8KKwkgICAgZnkgPSAtKih0ZW1wLS0pICsgY2VudF95NjsK KwkgICAgZnggPSAtKih0ZW1wLS0pICsgY2VudF94NjsKKwkgICAgYmlsaW5lYXJfaW50KHNjYW4s IHdpZHRoLCBoZWlnaHQsIGZ4LCBmeSwgcHRlbXApOworICAgICAgICAgICAgcHRlbXArPTQ7CisJ fQorCXB0ZW1wICs9IGhhbGZ4NDsKKyAgICB9CisKKyAgICBtZW1jcHkoc2NhbiwgbmV3X3NjYW4s IHdpZHRoKmhlaWdodCo0KTsKKworICAgIC8qIGFsbCBkb25lLiAqLworICAgIHJldHVybjsKK30K KworLyogKi8KKworLyogVGhpcyBjb2RlIGlzIGEgcHJlY29tcHV0YXRpb24gbW9kdWxlLiAgSXQg ZG9lc24ndCBuZWVkIHRvIGJlICAgICAgICovCisvKiBvcHRpbWl6ZWQuICBJIGZpZ3VyZSB0aGF0 IHJ1bm5pbmcgaXQgZXZlcnkgZnJhbWUgd291bGQgYXQgbGVhc3QgICAgKi8KKy8qIHRha2Ugc29t ZSB0aW1lLiAgSSd2ZSBjaG9zZW4gYWNjdXJhY3kgb3ZlciBzcGVlZCBpbiBzZXZlcmFsIGNhc2Vz LiAqLworCisvKiB0aGlzIGlzIGEgR1VFU1MgLS0gSSBmb3VuZCBpdCBieSBleHBlcmltZW50YXRp b24sIHNpbmNlIEkgZG9uJ3QgaGF2ZSAqLworLyogYW55IHJlYWwgZGF0YSBhYm91dCB0aGUgbGVu cy4gIElmIENvbm5lY3RpeCByZWxlYXNlcyB0aGUgcmVhbCAgICAgICAgKi8KKy8qIG51bWJlcnMg d2UgY291bGQgZXZlbiBoYXZlIGEgc2Vjb25kLW9yZGVyIGFwcHJveGltYXRpb24uICAgICAgICAg ICAgICovCisvKiNkZWZpbmUgQUxQSEEgLTAuMDcyKi8KKyNkZWZpbmUgQUxQSEEgLTAuMDYKKwor LyogdHJhbnMgcHV0cyB0aGUgc2lnbmVkIGRpc3RhbmNlIGZyb20gdGhlIGNlbnRlciBvZiB0aGUg c2NyZWVuIGluICppbi4gKi8KKy8qIHRoaXMgd2FzIHRoZSBiZXN0IHdheSBJIGNvdWxkIHRoaW5r IHRvIG1ha2UgcXVpY2tseSB1c2FibGUgZGF0YS4gICAgICovCisKK3N0YXRpYyB2b2lkIHRyYW5z IChmbG9hdCAqaW4sIGZsb2F0IGNlbnRfeCwgZmxvYXQgY2VudF95KSAKK3sKKyAgICBmbG9hdCBk ZWx0eDsKKyAgICBmbG9hdCBkZWx0eTsKKyAgICBmbG9hdCByLCBycHJpbWU7CisKKyAgICBkZWx0 eCA9IChpbnQpaW5bMF0gLSBjZW50X3g7CisgICAgZGVsdHkgPSAoaW50KWluWzFdIC0gY2VudF95 OworCisgICAgLyogciBpcyB0aGUgbm9ybWFsaXplZCByYWRpdXMgKGkuZS4gcj0xIGF0IDAsIGhh bGZ5KSAgICAgICAgICAgICAgICovCisgICAgLyogaWYgeW91IHdhbnQgdG8gbWFrZSB0aGlzIHdv cmsgZm9yICJ6b29tZWQiIHZpZXdzICh0aGF0ICAgICAgICAgICovCisgICAgLyogZG9uJ3QgdXNl IHRoZSBmdWxsIGxlbnMpLCBjaGFuZ2UgdGhpcyBsaW5lICAgICAgICAgICAgICAgICAgICAgICov CisgICAgLyogb3B0OiB0aGlzIHdhcyBhIHRhYmxlIGxvb2t1cCBidXQgSSBkZWNpZGVkIGZvciBh Y2N1cmFjeSBpbnN0ZWFkICovCisgICAgciA9IHNxcnQoZGVsdHgqZGVsdHgrZGVsdHkqZGVsdHkp LyhmbG9hdCkoY2VudF94KzAuNSk7IAorICAgICAgICAKKyAgICAvKiBqdXN0IGRvIHRoZSBmaXJz dC1vcmRlciBhcHByb3hpbWF0aW9uIG5vdy4gICAgICAgKi8KKyAgICAvKiBJIGRvbid0IGhhdmUg dGhlIHJlc29sdXRpb24gb3IgZGF0YSB0byBkbyBiZXR0ZXIgKi8KKyAgICAvKiB3ZSByZWFsbHkg d2FudCByICsgYWxwaGEqcl4zICsgYmV0YSpyXjUgKyAuLi4gICAgKi8KKyAgICAvKiBpZiBhbnlv bmUgY2FuIHNvbHZlIGZvciBiZXRhIHBsZWFzZSBsZXQgbWUga25vdy4gKi8KKyAgICBycHJpbWUg PSByICsgQUxQSEEqcipyKnI7CisKKyAgICAvKiBzY2FsZSB0aGUgaW1hZ2Ugc28gd2Ugc2VlIGFs bCBvZiBpdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgLyogd2UgcmVhbGx5 IHNob3VsZCBkbyB0aGlzIGFuYWx5dGljYWxseSAgICAgICAgICAgICAgICAgICAgICAgICAgICAq LworICAgIC8qIGkuZS4gc29sdmUgdHJhbnMoMCxjZW50X3kpIC0+ICgwLGNlbnRfeSkgYW5kIHNj YWxlIHNvIGl0IGhhcHBlbnMgKi8KKyAgICAvKiBidXQsIGZvciBub3c6ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgcnByaW1lICo9IDEu MDU7CisgICAgCisgICAgaWYgKHIgIT0gMCkgeworCS8qIHNpbWlsYXIgdHJpYW5nbGUgY29uc3Ry dWN0aW9uICovCisJaW5bMF0gPSBycHJpbWUgKiBkZWx0eCAvIHI7CisJaW5bMV0gPSBycHJpbWUg KiBkZWx0eSAvIHI7CisgICAgfSBlbHNlIHsKKwlpblswXSA9IDA7CisJaW5bMV0gPSAwOworICAg IH0KKyAgICByZXR1cm47Cit9CisKK3ZvaWQgaW5pdF93YXJwKGludCB4c2l6ZSwgaW50IHlzaXpl KXsKKworICAgIGZsb2F0IGFbMl07CisgICAgZmxvYXQgY2VudF94LCBjZW50X3k7CisgICAgaW50 IHgseTsKKyAgICBpbnQgKnB0ZW1wOworICAgIAorICAgIGlmKGRlbHQpeworICAgICAgZnJlZShk ZWx0KTsKKyAgICB9CisgICAgZGVsdCA9IChpbnQgKiltYWxsb2Moc2l6ZW9mKGludCkqeHNpemUq eXNpemUvMik7CisgICAgcHRlbXAgPSBkZWx0OworICAgIC8qIG5vdGU6IHRoZSAiY2VudGVyIiBv ZiBhICgyYSB4IDJiKSBpbWFnZSBpcyBoYWxmd2F5IGJldHdlZW4gKi8KKyAgICAvKiAgICAgICB0 d28gcGl4ZWxzLCBoZW5jZSB0aGUgLTAuNSAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisg ICAgY2VudF94ID0geHNpemUvMi0wLjU7CisgICAgY2VudF95ID0geXNpemUvMi0wLjU7CisKKyAg ICBmb3IgKHk9MDsgeTx5c2l6ZS8yOyB5KyspIHsKKwlmb3IgKHg9MDsgeDx4c2l6ZS8yOyB4Kysp IHsKKwkgICAgYVswXSA9IHg7CisJICAgIGFbMV0gPSB5OworCSAgICB0cmFucyhhLCBjZW50X3gs IGNlbnRfeSk7CisJICAgIC8qIGNvbnZlcnQgZmxvYXQgdG8gMjYuNiBmaXhlZCBwb2ludCAqLwor CSAgICBpZiAoY2VudF94K2FbMF0gPCAyKSBhWzBdID0gLWNlbnRfeCsyOworCSAgICBpZiAoY2Vu dF95K2FbMV0gPCAyKSBhWzFdID0gLWNlbnRfeSsyOworCSAgICAqKHB0ZW1wKyspID0gKGludCko YVswXSo2NCk7CisJICAgICoocHRlbXArKykgPSAoaW50KShhWzFdKjY0KTsKKwl9CisgICAgfQor ICAgIHJldHVybjsKK30KZGlmZiAtciAtVSA0IC0tbmV3LWZpbGUgd2NJSWNhbTAuMi93Y0lJX3dh cnAuaCB3Y0lJY2FtMC4yX25ldy93Y0lJX3dhcnAuaAotLS0gd2NJSWNhbTAuMi93Y0lJX3dhcnAu aAlUaHUgSmFuICAxIDAxOjAwOjAwIDE5NzAKKysrIHdjSUljYW0wLjJfbmV3L3djSUlfd2FycC5o CVRodSBTZXAgIDIgMTM6MDg6MjcgMTk5OQpAQCAtMCwwICsxLDUgQEAKKyNpZm5kZWYgV0FSUF9I CisjZGVmaW5lIFdBUlBfSAordm9pZCBpbml0X3dhcnAoaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsK K3ZvaWQgd2FycCh1bnNpZ25lZCBjaGFyICpzY2FuLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpOwor I2VuZGlmCmRpZmYgLXIgLVUgNCAtLW5ldy1maWxlIHdjSUljYW0wLjIvd2NJSWNhbS5jIHdjSUlj YW0wLjJfbmV3L3djSUljYW0uYwotLS0gd2NJSWNhbTAuMi93Y0lJY2FtLmMJU2F0IEp1bCAyNCAw MTowMzo1OCAxOTk5CisrKyB3Y0lJY2FtMC4yX25ldy93Y0lJY2FtLmMJVGh1IFNlcCAgMiAxNTow MzoxNSAxOTk5CkBAIC00NSw4ICs0NSwxMCBAQAogCiAjaW5jbHVkZSAiY3BpYS5oIgogI2luY2x1 ZGUgIndjSUlfcHJvY3MuaCIKIAorI2luY2x1ZGUgIndjSUlfd2FycC5oIgorCiBpbnQgZGV2Owog CiBndWludCB0aW1lb3V0aWQ7CiBHdGtXaWRnZXQgKmRyYXdpbmdfYXJlYTsKQEAgLTYxLDggKzYz LDkgQEAKIAogaW50IFZJREVPU0laRSA9IFZJREVPU0laRV9YQ0lGOwogaW50IENPTVBSRVNTSU9O ID0gU1RBVEVfT047CiBpbnQgSU5JVF9XQ0lJID0gMTsKK2ludCBXQVJQID0gU1RBVEVfT0ZGOwog CiBpbnQgZ2V0RGVwdGgodm9pZCk7CiBpbnQgZ2V0V2lkdGgodm9pZCk7CiBpbnQgZ2V0SGVpZ2h0 KHZvaWQpOwpAQCAtODQsOCArODcsOSBAQAogdm9pZCBkZWxldGVfZXZlbnQoIEd0a1dpZGdldCAq d2lkZ2V0LAogCQkgICBHZGtFdmVudCAgKmV2ZW50LAogCQkgICBncG9pbnRlciAgIGRhdGEgKQog eworCSAgZ3RrX3RpbWVvdXRfcmVtb3ZlKHRpbWVvdXRpZCk7CiAJICBjbG9zZV93Y0lJKCk7CiAJ ICBndGtfbWFpbl9xdWl0ICgpOwogCX0KIAkvKi0tLS0tLS0tLS0tLS0gQmFja2luZyBjaGFuZ2Vz IC0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtMjU4LDggKzI2Miw5IEBACiAJCVZJREVPU0laRSA9IFZJ REVPU0laRV9YQ0lGOwogCQlJTklUX1dDSUkgPSAxOwogCQlyZWZyZXNoID0gU1RBVEVfT0ZGOwog ICAgICAgICAJYWRqY29sb3VyID0gU1RBVEVfT047CisJCWluaXRfd2FycCg3MDQsIDU3Nik7CiAg ICAgICAgICAgICAgICAgdGltZW91dGlkID0gZ3RrX3RpbWVvdXRfYWRkIChUSU1FT1VUX0xFTiwg Z3JhYiwgKGdwb2ludGVyKSBkcmF3aW5nX2FyZWEpOwogCX0KIAogCXZvaWQgc2V0c2l6ZWZ1bGwo IEd0a1dpZGdldCAqd2lkZ2V0LCBHZGtFdmVudCAqZXZlbnQsIGdwb2ludGVyIGRhdGEgKSB7CkBA IC0yNzAsOCArMjc1LDkgQEAKIAkJVklERU9TSVpFID0gVklERU9TSVpFX0NJRjsKIAkJSU5JVF9X Q0lJID0gMTsKIAkJcmVmcmVzaCA9IFNUQVRFX09GRjsKICAgICAgICAgCWFkamNvbG91ciA9IFNU QVRFX09OOworCQlpbml0X3dhcnAoMzUyLCAyODgpOwogICAgICAgICAgICAgICAgIHRpbWVvdXRp ZCA9IGd0a190aW1lb3V0X2FkZCAoVElNRU9VVF9MRU4sIGdyYWIsIChncG9pbnRlcikgZHJhd2lu Z19hcmVhKTsKIAl9CiAKIAl2b2lkIHNldHNpemVoYWxmKCBHdGtXaWRnZXQgKndpZGdldCwgR2Rr RXZlbnQgKmV2ZW50LCBncG9pbnRlciBkYXRhICkgewpAQCAtMjgyLDggKzI4OCw5IEBACiAJCVZJ REVPU0laRSA9IFZJREVPU0laRV9RQ0lGOwogCQlyZWZyZXNoID0gU1RBVEVfT047CiAJCUlOSVRf V0NJSSA9IDE7CiAgICAgICAgIAlhZGpjb2xvdXIgPSBTVEFURV9PTjsKKwkJaW5pdF93YXJwKDE3 NiwgMTQ0KTsKICAgICAgICAgICAgICAgICB0aW1lb3V0aWQgPSBndGtfdGltZW91dF9hZGQgKFRJ TUVPVVRfTEVOLCBncmFiLCAoZ3BvaW50ZXIpIGRyYXdpbmdfYXJlYSk7CiAJfQogCiAJdm9pZCBz ZXRjb21wcmVzc2lvbihHdGtXaWRnZXQgKndpZGdldCwgR2RrRXZlbnQgKmV2ZW50LCBncG9pbnRl ciBkYXRhKSB7CkBAIC0zMjAsOCArMzI3LDE2IEBACiAgICAgICAgICAgICAgICAgdGltZW91dGlk ID0gZ3RrX3RpbWVvdXRfYWRkIChUSU1FT1VUX0xFTiwgZ3JhYiwgKGdwb2ludGVyKSBkcmF3aW5n X2FyZWEpOwogCQogCX0KIAorCXZvaWQgc2V0d2FycChHdGtXaWRnZXQgKndpZGdldCwgR2RrRXZl bnQgKmV2ZW50LCBncG9pbnRlciBkYXRhKSB7CisJICAgCSBXQVJQID0gU1RBVEVfT047CisJfQor CisJdm9pZCBzZXRub3dhcnAoR3RrV2lkZ2V0ICp3aWRnZXQsIEdka0V2ZW50ICpldmVudCwgZ3Bv aW50ZXIgZGF0YSkgeworCSAgIAkgV0FSUCA9IFNUQVRFX09GRjsKKwl9CisKIAl2b2lkIHNhdmVj YW5jZWwoR3RrV2lkZ2V0ICp3aWRnZXQsIEdka0V2ZW50ICpldmVudCwgZ3BvaW50ZXIgZGF0YSkK IAl7CiAJICBndGtfd2lkZ2V0X2Rlc3Ryb3koR1RLX1dJREdFVCh3aWRnZXQpKTsKIAkgIHRpbWVv dXRpZCA9IGd0a190aW1lb3V0X2FkZCAoVElNRU9VVF9MRU4sIGdyYWIsIChncG9pbnRlcikgZGF0 YSk7CkBAIC01MzgsOCArNTUzLDMyIEBACiAgICAgIGd0a190b2dnbGVfYnV0dG9uX3NldF9hY3Rp dmUgKEdUS19UT0dHTEVfQlVUVE9OIChyYWRpb2J1dHRvbiksIFRSVUUpOwogICBndGtfc2lnbmFs X2Nvbm5lY3Rfb2JqZWN0IChHVEtfT0JKRUNUIChyYWRpb2J1dHRvbiksICJwcmVzc2VkIiwgR1RL X1NJR05BTF9GVU5DKHNldG5vY29tcHJlc3Npb24pLCBOVUxMKTsKICAgZ3RrX3dpZGdldF9zaG93 IChyYWRpb2J1dHRvbik7CiAKKworICBmcmFtZSA9IGd0a19mcmFtZV9uZXcoIldhcnAiKTsKKyAg Z3RrX2JveF9wYWNrX3N0YXJ0KCBHVEtfQk9YIChzaXplY29tcHJlc3Npb25ib3gpLCBmcmFtZSwg MSwgMSwgMCk7CisgIGd0a193aWRnZXRfc2hvdyAoZnJhbWUpOworCisgIGlubmVyYm94ID0gZ3Rr X3Zib3hfbmV3IChUUlVFLCAwKTsKKyAgZ3RrX2NvbnRhaW5lcl9hZGQgKEdUS19DT05UQUlORVIg KGZyYW1lKSwgaW5uZXJib3gpOworICBndGtfd2lkZ2V0X3Nob3cgKGlubmVyYm94KTsKKworICBy YWRpb2J1dHRvbiA9IGd0a19yYWRpb19idXR0b25fbmV3X3dpdGhfbGFiZWwgKE5VTEwsICJPbiIp OworICBndGtfYm94X3BhY2tfc3RhcnQgKEdUS19CT1ggKGlubmVyYm94KSwgcmFkaW9idXR0b24s IFRSVUUsIFRSVUUsIDApOworICBpZiAoIFdBUlAgPT0gU1RBVEVfT04gKQorICAgICBndGtfdG9n Z2xlX2J1dHRvbl9zZXRfYWN0aXZlIChHVEtfVE9HR0xFX0JVVFRPTiAocmFkaW9idXR0b24pLCBU UlVFKTsKKyAgZ3RrX3NpZ25hbF9jb25uZWN0X29iamVjdCAoR1RLX09CSkVDVCAocmFkaW9idXR0 b24pLCAicHJlc3NlZCIsIEdUS19TSUdOQUxfRlVOQyhzZXR3YXJwKSwgTlVMTCk7CisgIGd0a193 aWRnZXRfc2hvdyAocmFkaW9idXR0b24pOworCisgIHJhZGlvZ3JvdXAgPSBndGtfcmFkaW9fYnV0 dG9uX2dyb3VwIChHVEtfUkFESU9fQlVUVE9OIChyYWRpb2J1dHRvbikpOworICByYWRpb2J1dHRv biA9IGd0a19yYWRpb19idXR0b25fbmV3X3dpdGhfbGFiZWwgKHJhZGlvZ3JvdXAsICJPZmYiKTsK KyAgZ3RrX2JveF9wYWNrX3N0YXJ0IChHVEtfQk9YIChpbm5lcmJveCksIHJhZGlvYnV0dG9uLCBU UlVFLCBUUlVFLCAwKTsKKyAgaWYgKCBXQVJQICE9IFNUQVRFX09OICkKKyAgICAgZ3RrX3RvZ2ds ZV9idXR0b25fc2V0X2FjdGl2ZSAoR1RLX1RPR0dMRV9CVVRUT04gKHJhZGlvYnV0dG9uKSwgVFJV RSk7CisgIGd0a19zaWduYWxfY29ubmVjdF9vYmplY3QgKEdUS19PQkpFQ1QgKHJhZGlvYnV0dG9u KSwgInByZXNzZWQiLCBHVEtfU0lHTkFMX0ZVTkMoc2V0bm93YXJwKSwgTlVMTCk7CisgIGd0a193 aWRnZXRfc2hvdyAocmFkaW9idXR0b24pOworCiAgIC8qIENyZWF0ZSBhIGNvdXBsZSBidXR0b25z ICovCiAgIC8vaW5uZXJib3ggPSBndGtfdmJveF9uZXcgKFRSVUUsIDApOwogICAvL2d0a19ib3hf cGFja19zdGFydCggR1RLX0JPWCAodG9wYm94KSwgaW5uZXJib3gsIDEsIDEsIDApOwogICAvL2d0 a193aWRnZXRfc2hvdyAoaW5uZXJib3gpOwpAQCAtNTY1LDggKzYwNCwxMCBAQAogICBndGtfd2lk Z2V0X3Nob3cgKG91dGVyYm94KTsKICAgZ3RrX3dpZGdldF9zaG93ICh0b3Bib3gpOwogICBndGtf d2lkZ2V0X3Nob3cgKHdpbmRvdyk7CiAKKyAgaW5pdF93YXJwKDcwNCwgNTc2KTsKKyAgCiAgIHRp bWVvdXRpZCA9ICBndGtfdGltZW91dF9hZGQgKFRJTUVPVVRfTEVOLCBncmFiLCAoZ3BvaW50ZXIp IGRyYXdpbmdfYXJlYSk7CiAKIAogLyogIGdyYWIoKGdwb2ludGVyKWRyYXdpbmdfYXJlYSk7Ki8K QmluYXJ5IGZpbGVzIHdjSUljYW0wLjIvd2NJSWNhbV9kIGFuZCB3Y0lJY2FtMC4yX25ldy93Y0lJ Y2FtX2QgZGlmZmVyCg== ------=_NextPart_000_0009_01BEF55B.0C4F3860-- ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From nikom@merl.com Thu, 02 Sep 1999 18:08:10 -0400 Date: Thu, 02 Sep 1999 18:08:10 -0400 From: Jacob Nikom nikom@merl.com Subject: Slim fast for wcIIcam0.2 I think compression did not work very well for cpia0.2 from the first version. It is interesting that in the Jean Merliot version (wcIIcam0.2) the compression works pretty well. Are there different compression algorithms? Is it possible to replace the bad one with the good one? Jacob Nikom > Vyskocil Vladimir wrote: > > Hi ! > > I have modified a patch for b&w quickcam that do a realtime bilinear > warp of the incoming > image to remove the geometric distortion of the lens. This patch add > the option > in wcIIcam0.2 to use the warp or not (very funny with compression on > :-) > I tried some value for the ALPHA parameter in wcIIcam_warp.c and -0.06 > seems good but > prehaps someone can guess the exact value (and BETA also ?). > This patch is for you if you think the cam make your nose too big and > your head too fat ;-) > > I also noticed that with the new patch for cpia0.2, the compression is > not working very good, > the video stream often stop with error : EOL not found giving up after > ... bytes. With unpatched > cpia0.2 it's never happen. > > Name: wcIIcam_warp.patch > wcIIcam_warp.patch Type: unspecified type > (application/octet-stream) > Encoding: base64 ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From nikom@merl.com Thu, 02 Sep 1999 19:00:28 -0400 Date: Thu, 02 Sep 1999 19:00:28 -0400 From: Jacob Nikom nikom@merl.com Subject: How many bytes per pixel wcIIcam returns? Hi, I have question: how many bytes per pixel wcIIcam returns? I printed the number of bytes read and found 70273 for CIF image(352x288). How it could be? Jacob Nikom ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From mfreytes@gtwing.efn.uncor.edu Fri, 3 Sep 1999 15:20:51 -0300 (ART) Date: Fri, 3 Sep 1999 15:20:51 -0300 (ART) From: Matias Freytes mfreytes@gtwing.efn.uncor.edu Subject: digital video camera Hello, My name is Matias Freytes and I'm working at the Laboratorio de Comunicaciones Digitales (Universidad Nacional de Cordoba, Argentina) on a project involving video transmission and wireless networking. We need to buy 3 digital video cameras for our experiments. This is quite expensive for us and we want to make the correct choice. There's not much information around here (in Argentina), so I started looking around and found the mailing list. I hope this is the correct place to ask. Could you suggest some brands and models for digital video cameras? We are looking for 20 to 30 fps (at least QCIF). We need to get both, raw and encoded video. We have just one USB port on a Compaq Presario 1255 laptop. We have 1 Pentium 350MHz, 1 Pentium 166MHz and 1 K6 2/3D 333MHz laptop, all of them running Linux (Redhat 6). Thank you very much, Matias. ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From nikom@merl.com Fri, 03 Sep 1999 15:23:56 -0400 Date: Fri, 03 Sep 1999 15:23:56 -0400 From: Jacob Nikom nikom@merl.com Subject: digital video camera Hi Matias, I think you don't have too many choices. You run Linux - so you need the camera which has Linux driver unless you want to go to Windows. There are not too many cameras with Linux drivers. Here is URL for Linux drivers: http://atlantek.com.au/USERS/wes/linux/frame.html#about If you have only 150 bucks, go with Creative Blaster WebCam II and buy three of them - you cannot get anything cheaper regardless of what you are trying to do. If you have more money, you have to select the camera based on your task. Here is the interesing information about latest WebCams with price comparison: http://www.zdnet.com/anchordesk/story/story_3812.html None of those cameras have a Linux driver (IMHO) Jacob Nikom Matias Freytes wrote: > > Hello, > My name is Matias Freytes and I'm working at the Laboratorio de > Comunicaciones Digitales (Universidad Nacional de Cordoba, Argentina) on a > project involving video transmission and wireless networking. We need to > buy 3 digital video cameras for our experiments. This is quite expensive > for us and we want to make the correct choice. There's not much > information around here (in Argentina), so I started looking around and > found the mailing list. I hope this is the correct place to ask. Could > you suggest some brands and models for digital video cameras? We are > looking for 20 to 30 fps (at least QCIF). We need to get both, raw and > encoded video. We have just one USB port on a Compaq Presario 1255 laptop. > > We have 1 Pentium 350MHz, 1 Pentium 166MHz and 1 K6 2/3D 333MHz laptop, > all of them running Linux (Redhat 6). > > Thank you very much, > Matias. > > ----------------------------------------------------------------------------- > To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the > body of a message to "majordomo@errors.no". ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From kev@soton.ac.uk Sat, 4 Sep 1999 16:59:03 +0100 (BST) Date: Sat, 4 Sep 1999 16:59:03 +0100 (BST) From: Kevin Page kev@soton.ac.uk Subject: Creative Webcam III Hi, I've been looking at buying a webcam and linux support would be very useful. I'm currently looking at the Creative Webcam II because a) it's cheaper than the webcam II b) it has better specs c) the webcam II is becoming harder to buy as it's replced by the webcam III Does anyone know if the webcam III uses the same VLSI CPiA chipset as the webcam II or some derivative (and will therefore be supported by your project?) cheers, k. -- Kevin Page - kev@soton.ac.uk It wasn't my fault, the big boy did it and ran away.... ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From bas@brijn.nu Sun, 05 Sep 1999 22:44:55 +0200 Date: Sun, 05 Sep 1999 22:44:55 +0200 From: Bas Rijniersce bas@brijn.nu Subject: Slim fast for wcIIcam0.2 Hi, Jacob Nikom wrote: > I think compression did not work very well for cpia0.2 from the first > version. It is interesting that in the Jean Merliot version (wcIIcam0.2) > the compression works pretty well. Are there different compression > algorithms? Is it possible to replace the bad one with the good one? I thought that Jean had used the reference routines provided by VLSI (at the bottom of the webcam page is a link "Vision Sample Decompression (decode.zip, 23Kb) - Sample decompression source". > Jacob Nikom Bas ---- Bas Rijniersce Phone +31 341 550545 Oude Telgterweg 81 Fax +31 341 562940 3851 EA Ermelo http://www.brijn.nu The Netherlands bas@brijn.nu ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From bas@brijn.nu Sun, 05 Sep 1999 23:26:49 +0200 Date: Sun, 05 Sep 1999 23:26:49 +0200 From: Bas Rijniersce bas@brijn.nu Subject: How many bytes per pixel wcIIcam returns? Hi, Jacob Nikom wrote: > I have question: how many bytes per pixel wcIIcam returns? > I printed the number of bytes read and found 70273 for CIF > image(352x288). How it could be? Hmm, that is obviously with compression on :-) ??? In one of the two VLSI docs (it says "Notes on the use of the CPiA Command Set" in the header) in paragraph 3.9 is an explanation of format: - 64 byte header - 0xFD at EOL - 4 * 0xFF at EOF Numbers of databytes in compression mode depends on the change between this image and the image before. > Jacob Nikom Bas ---- Bas Rijniersce Phone +31 341 550545 Oude Telgterweg 81 Fax +31 341 562940 3851 EA Ermelo http://www.brijn.nu The Netherlands bas@brijn.nu ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From Jarl.Totland@bdc.no Mon, 06 Sep 1999 08:06:50 +0200 Date: Mon, 06 Sep 1999 08:06:50 +0200 From: Jarl Totland Jarl.Totland@bdc.no Subject: Creative Webcam III At 04.09.1999 16:59 +0100, Kevin Page wrote: >Does anyone know if the webcam III uses the same VLSI CPiA chipset as >the webcam II or some derivative (and will therefore be supported by >your project?) According to Takano Naoki : > I bought WebCam3 which is selled by Creative. But this cannot use CPiA chip. > This uses OV7610 and OV511 chips. So I want to try to develop the driver. > > I find OV511 pdf Manual on the OminiVision(Chip Vendor company). > But I didn't get informations to develop the driver (for example, USB Vendor > Command, Compression algorithm ) in this Manual. > > I send the e-mail to this Campany to get develepment resources. > But the reply disappointed me. The reply is blew. > >> I'm sorry but the OV511 software was designed to operate in Windows 98 and >> Windows 2000 when Win2000 is released. Currently, OmniVison has no plans to >> provide Linux support for the OV511. As OmniVision is principally a CMOS >> camera chip manufacturer, we are very limited in software development >> resources. > > Then how do I get the resources about OV511? Must I give up development? > I'd like to hear your opinion. Please help me!! Obviously this is a completely different design, meaning no spinoff from the wc2 driver. The company takes roughly the same position Vision did a year ago, so I guess there is hope yet. Feel free to bother OmniVision for documentation etc, remember to always be polite and try to play off their advantages etc. See any Linux Advocacy guide for more on this. Vyrdsamt, Jarl Totland http://home.eunet.no/~jtotland ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From martikka@stybba.ntc.nokia.com Mon, 6 Sep 1999 10:00:29 +0300 (EETDST) Date: Mon, 6 Sep 1999 10:00:29 +0300 (EETDST) From: Hannu Martikka martikka@stybba.ntc.nokia.com Subject: Creative Webcam II and Get* Hi! I have bough Creative WebCamII. Am I doing something wrong or why can't I get any results with Get* calls. I have tried all the Get* functions (Get*Version,etc) and they all return all256... The interface_pp.c seems to send correct commands to camera and the testprogram (client/main) works reasonable well. - Goodi "The linuX Files -- The Source is Out There." ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø¤º°`°º¤ø,¸¸,ø¤º° ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From bhuism@cs.utwente.nl Mon, 06 Sep 1999 10:17:40 +0200 Date: Mon, 06 Sep 1999 10:17:40 +0200 From: Bas Huisman bhuism@cs.utwente.nl Subject: Creative Webcam II and Get* You've hit the jackpot! It has come to my attention that (very) little people actually read the accompanying docs (BUGS, README etc.) but then again so do I, but it's all there. but you're right I could'nt get that to work, some other folks are looking into this but it's a rather tricky thing. As far as I know I've handled the protocol as it's specified in the pdf files. Feel free to have a go and fixing this ... some more TODO thingies for people who like to contribute: - make it v4l(2) (you don't need any technical stuff done here, I've made the code modular enough to do this) - make the "GET" command's work - make it use DMA/IRQ (I could find a DMA_READ call in the 2.3.16 kernel , only DMA_WRITE) - try to get it to work with the IEEE1284 setup-phases in the kernel instead of my custom ones. - lot's more I've seen some patches on the list and I'm very happy that people spend some time working on the code, BUT nobody actually did structual protocol updates. (only the replacement of the WHILE_OUT macro) The low level protocol things are in interface_pp_low.c which is (IMHO) is what this driver is all about, let's not spend to many time on decoding and colordepth (read: client) issues. I've made this (I agree not so great) client program just to test the thing, not for real-world use, and I have a feeling a lot of people are using it for production stuff. (I have some thing in the near future, and I believe a cpia-0.3.tgz version will be coming soon, but don't expect to much) keep up the good work, Bas Huisman Hannu Martikka wrote: > > Hi! > > I have bough Creative WebCamII. Am I doing something wrong or why can't I > get any results with Get* calls. I have tried all the Get* functions > (Get*Version,etc) and they all return all256... > > The interface_pp.c seems to send correct commands to camera and the > testprogram (client/main) works reasonable well. > > - Goodi > "The linuX Files -- The Source is Out There." > ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø¤º°`°º¤ø,¸¸,ø¤º° > > ----------------------------------------------------------------------------- > To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the > body of a message to "majordomo@errors.no". -- .eeree$$ eee .d$" e$" z$$ J$" . $$" $$% $$ 4 $$F $$P $$..P$$P .ePb... z$$$. J$$ .. """d$$ $$" $$$ .$$ $$%.$$d $$ 4$$".$$P 4$$ .$$% .$$$e$" $$$P $$ .$$%z"$$ e3$$ $$$. ..e="$$$ "$$"*$@ "$$d".$$ *$$" e$P .$$ $$ .$$ bhuism@cs.utwente.nl *$. z$" ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From bas@brijn.nu Mon, 06 Sep 1999 12:48:59 +0200 Date: Mon, 06 Sep 1999 12:48:59 +0200 From: Bas Rijniersce bas@brijn.nu Subject: Funny, maybe useful Hi, I'm a registered user of VMware (www.vmware.com, a x86 emulator under linux, and a good one!!), this gives me access to beta's vmware. The latest included bi-directional parport support. And ofcourse I tried to run the Webcam II software that cam with it... and guess what... it worked !!! It's a real funny to see this, i put up a screencap at http://www.brijn.nu/vmware-cam.jpg (a bit big!) But maybe there is something useful to this.. Would it be possible to snif the command the windows driver sends? Whould that be useful for the GET* problems? Bas ---- Bas Rijniersce Phone +31 341 550545 Oude Telgterweg 81 Fax +31 341 562940 3851 EA Ermelo http://www.brijn.nu The Netherlands bas@brijn.nu ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From sbertin@mindspring.com Tue, 7 Sep 1999 21:51:16 -0400 (EDT) Date: Tue, 7 Sep 1999 21:51:16 -0400 (EDT) From: sbertin@mindspring.com sbertin@mindspring.com Subject: new ioctl --0-1804289383-936755486=:1241 Content-Type: TEXT/plain; CHARSET=US-ASCII I've been at it again! This is a major patch that breaks all source/binary compatibility with existing clients. The following has been changed: Completely new ioctl handling Module can now load when parport_pc is compiled into the kernel Fixed a jiffies checking problem in interface_pp_low.c that could lead to an infinite loop when jiffies rolls over. This is a patch against 0.2 that includes the changes Peter Pregler and I have previously made. Due to the size of the patch (67k), I have gzipped it. Is anyone actively working on V4L/V4L2 support? If not, I think I'll tackle that next, but I don't want to duplicate someone else's work. Scott J. Bertin sbertin@mindspring.com --0-1804289383-936755486=:1241 Content-Type: APPLICATION/octet-stream Content-Transfer-Encoding: BASE64 Content-Description: new_ioctl.patch.gz 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 lMN6gypiSqr7g0MAhRqSRmjIn9AhT6wpmKC7oylvLZNX/NL0TgHomVIcsRAY PUPjC0WB6Rkad5RQSD3Fm7ojDgtXTxO5w8AC19NUjjQowp6Z8P1hIHD2DIU/ AE6PD0yyr/oETUu3xdd9D3hP0/rD4Lc3b6eIvmeq9RnugXjpAh3G7ycars+s atYUtQ9HvGoZ2gvqCUH1M4U4cqHYfobIHyQK4c/QuFKxcf5UxxquaBywP03X CLSLkFgGkmISwdRavpU0arFmKsg9nO9z867eJHc75rjCKPSO9ctksVcsg0Ms gy8sgxssgwcsg/Mrg98rg8srq7crk6Mrk48rk3srk2crk1Mrkz8rkysrkxcr kwMrk+8qk9sqk8cqs7Mqm58qm4sqm3cqm2Mqm08qmzsqmycqmxMqm/8pm+sp m9cpm8Mpm68pm5spm4fJcy6leZayOZWy+ZOyuZKyeZGyOZCy+Y6yuY2yeYyy OYuy+YmyuYiyeYeyOYYy+oSyuIOyeIKyOIGy+H+yuH6yeH1uF/h7fKDAjarj 9/m6HPbpGKeO584x/pwUT45x5bhOHGqWLLvuG2qQLLuOG2qKLKe4bIzPJt1b Qy2R5YAbxvhhAh4Y44JxnS+W78X1ulhOF9fdYnlbPD+L5WaZ52CZ61pxnSq2 T2WON0WAb4b8KBJ8M+RBEeCbId8JaoztFLF8Igu9Ia4fxHKDLHaAeK4Py/Ox wOcxx9uxyM/hejgsB0eKa8PybCz2abjeDMuZsdCNMdeBMdd1Md9pwds1xxvh +iEsN4TrgLD9D/M9Dwt8Dou8DZ6fwXIzzHMwpLoWFjkV0twJljfB8yNYboQ0 B4LlP3A9B87quew6BSyfgOcNsJwBrhvA8gIs3P8v3vm7e35ry29v9iNrs/91 WQL7GldBy4jaxuXVeY2qaVxfnX2jbNg5cfMLiopekxfeDLoOXOa5nnMz6Nq9 GVR93mjOuxl0HbgZVJv7+EHfC/qv5Eq8aYaCOtfkrr358mSJ3hOSd0Gt+Lc5 cW1rC7gnXz94JJBXEMBPcQ/8nHnAK+rFf8R9uB65NupdFcRl8BwBHt+CLMNJ Mk3+iHlajyv4NLbjNLMSG8TvuzZF14pnDMh/Oay+e8VnYOVaBUCyCTdBdLUi vvkWECYDKGcCV9vEV4Q7IIZY/JmXNCD2WE6ES7VO4LZcQsJLGZ1LX7qSN2Dl lTP5NKVmHrvfRVbUNHxsmaWwJNCSnOdS8/gjGZlq2tpM+j+FsgtQLAYBAA== --0-1804289383-936755486=:1241-- ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From Jarl.Totland@bdc.no Wed, 08 Sep 1999 11:35:14 +0200 Date: Wed, 08 Sep 1999 11:35:14 +0200 From: Jarl Totland Jarl.Totland@bdc.no Subject: PPC update [Re: new ioctl] The patch has been applied to cpia-0.2 and is available from http://home.eunet.no/~jtotland/vision/cpia-0.2.1.tgz. Scott and Peter, thanks for spending time on this project. At 07.09.1999 21:51 -0400, Scott wrote: >Is anyone actively working on V4L/V4L2 support? If not, I think I'll >tackle that next, but I don't want to duplicate someone else's work. AFAIK nobody is actively working on the parport driver module except you two, you should be pretty safe. Vyrdsamt, Jarl Totland http://home.eunet.no/~jtotland ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From nikom@merl.com Wed, 08 Sep 1999 09:39:24 -0400 Date: Wed, 08 Sep 1999 09:39:24 -0400 From: Jacob Nikom nikom@merl.com Subject: new ioctl Did you try to replace the decompression code? It does not work properly. Jacob sbertin@mindspring.com wrote: > > I've been at it again! This is a major patch that breaks all > source/binary compatibility with existing clients. The following has > been changed: > > Completely new ioctl handling > > Module can now load when parport_pc is compiled into the kernel > > Fixed a jiffies checking problem in interface_pp_low.c that could lead > to an infinite loop when jiffies rolls over. > > This is a patch against 0.2 that includes the changes Peter Pregler and > I have previously made. Due to the size of the patch (67k), I have > gzipped it. > > Is anyone actively working on V4L/V4L2 support? If not, I think I'll > tackle that next, but I don't want to duplicate someone else's work. > > Scott J. Bertin > sbertin@mindspring.com > > ------------------------------------------------------------------------ > Type: unspecified type (APPLICATION/octet-stream) > Part 1.2 Encoding: BASE64 > Description: new_ioctl.patch.gz ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From Peter.Pregler@risc.uni-linz.ac.at Wed, 08 Sep 1999 20:59:16 +0200 (CEST) Date: Wed, 08 Sep 1999 20:59:16 +0200 (CEST) From: Peter Pregler Peter.Pregler@risc.uni-linz.ac.at Subject: new ioctl On 08-Sep-99 sbertin@mindspring.com wrote: > > Is anyone actively working on V4L/V4L2 support? If not, I think I'll > tackle that next, but I don't want to duplicate someone else's work. I have started a framework. But all reasonable v4l-modes do need some interrupt-driven mode (IMHO). So I have a look into that first. I plan to do that until the end of this week, i.e. until Sunday. After that feel free to implement it yourself. ;) Greetings, Peter ------------------------------- Even the thought that a ship was waiting to take him back to Earth did not wipe out the sense of loss he felt at that moment. ------------------------------- Email: Peter.Pregler@risc.uni-linz.ac.at Peter Pregler / RISC, University of Linz, Austria ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From sbertin@mindspring.com Wed, 8 Sep 1999 18:29:43 -0400 (EDT) Date: Wed, 8 Sep 1999 18:29:43 -0400 (EDT) From: sbertin@mindspring.com sbertin@mindspring.com Subject: new ioctl On 8 Sep, Jacob Nikom wrote: > Did you try to replace the decompression code? It does not work > properly. I haven't touched the decompression code. It seems to be working fine for me. Scott J. Bertin sbertin@mindspring.com ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From nikom@merl.com Wed, 08 Sep 1999 18:48:14 -0400 Date: Wed, 08 Sep 1999 18:48:14 -0400 From: Jacob Nikom nikom@merl.com Subject: new ioctl With cpia0.2 at the beginning of the video sometimes you see black pixels in the image. Also if you compare it with wcIIcam0.2 version by Jean-Michel Merliot (ftp://brijn.nu/vision) you will that wcIIcam0.2 has less grain and shadows. Jacob Nikom sbertin@mindspring.com wrote: > > On 8 Sep, Jacob Nikom wrote: > > Did you try to replace the decompression code? It does not work > > properly. > > I haven't touched the decompression code. It seems to be working fine > for me. > > Scott J. Bertin > sbertin@mindspring.com ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From sbertin@mindspring.com Wed, 8 Sep 1999 20:02:05 -0400 (EDT) Date: Wed, 8 Sep 1999 20:02:05 -0400 (EDT) From: sbertin@mindspring.com sbertin@mindspring.com Subject: new ioctl On 8 Sep, Jacob Nikom wrote: > With cpia0.2 at the beginning of the video sometimes you see > black pixels in the image. Also if you compare it with wcIIcam0.2 > version by Jean-Michel Merliot (ftp://brijn.nu/vision) you will > that wcIIcam0.2 has less grain and shadows. By default, the cpia client uses manual compression, and the wcIIcam client uses automatic compression. What you are seeing is the difference in compression parameters. Scott J. Bertin sbertin@mindspring.com ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From sbertin@mindspring.com Thu, 9 Sep 1999 02:09:08 -0400 (EDT) Date: Thu, 9 Sep 1999 02:09:08 -0400 (EDT) From: sbertin@mindspring.com sbertin@mindspring.com Subject: Proposal for changes to interface.h Here is a proposal for changes to interface.h. For each function I've listed a prototype, a description of what is changed, and a description of how it should be used. I think this will provide a cleaner separation between the hardware access and the code that interfaces with the program. I'm interested in any feedback anyone has, particularly anybody working on the USB driver. I view this as a step toward what the final driver will look like (see my Future direction of driver e-mail), and it will probably change at least once more before this driver becomes part of the kernel. Scott J. Bertin sbertin@mindspring.com - All pointer should point to memory in kernel space, not user space. int if_Init(char *str, int *ints); - No change from current int if_Open(int minor, void **privdata, void (*cb)(void *cbdata), void *cbdata); - Sets file->private_data (or equivalent) to point to structure for this camera. This is then used in the following functions instead of the minor number. This is a cleaner implementation for when the driver supports arbitrary minor numbers. - Registers callback function cb to be called with cbdata when an image is ready while streaming. If cb is NULL, only single image grabs are allowed. cb should immediately call if_StreamRead to read the data or data may be lost. - Returns negative value on error, otherwise 0. int if_TransferMsg(void *privdata, u8 *command, u8 *data); - privdata instead of minor number - ioctl handling is moved higher up in the driver, this just sends messages to the camera. command MUST be 8 bytes. If no extra data is needed, then data can be NULL. The size of data and its read/write status can be determined from command. - Returns negative value on error, otherwise 0. int if_StreamRead (void *privdata, u8 *frame); - privdata instead of minor number - frame should be a buffer of MAX_IMAGE_SIZE bytes. The driver higher up is responsible for handling partial reads. Right now I think data will be lost on a partial read. Ideally, this would be buffered by the higher level driver until the programs asks for it. - Returns the number of bytes read, or negative value on error. int if_Close(void *privdata); - privdata instead of minor number void if_Cleanup(void); - return type changed to void ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From sbertin@mindspring.com Thu, 9 Sep 1999 02:09:16 -0400 (EDT) Date: Thu, 9 Sep 1999 02:09:16 -0400 (EDT) From: sbertin@mindspring.com sbertin@mindspring.com Subject: Future direction of driver I'd like to see some discussion of what we want this driver to eventually look like. Right now, I envision 3 modules: cpia High level driver that handles translation on v4l requests into CPiA commands. This is also the place to handle differences in CPiA firmware versions. cpia_pp cpia_usb Low level drivers for interacting with the hardware. Both PP and USB cameras should be usable at the same time. The interface between these modules could be modelled after the parport code, and use a variant of interface.h. These modules would exist in 4 source code files: cpia.h cpia.c cpia_pp.c cpia_usb.c The parallel port module should handle nibble mode and operation without IRQs in addition to the full ECP ports. This should take full advantage of the parport ieee1284 code in the kernel. I expect hardware support will be somewhat easier for the USB module. This should be doable by the time the 2.4 kernel is released, although this driver may not go into the kernel until 2.5 unless the development progresses very rapidly. Question for the USB developers: Do you agree that it is a good idea to merge the two efforts, or do you have a different vision of how things should work? Scott J. Bertin sbertin@mindspring.com ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From bhuism@cs.utwente.nl Thu, 09 Sep 1999 10:45:30 +0200 Date: Thu, 09 Sep 1999 10:45:30 +0200 From: Bas Huisman bhuism@cs.utwente.nl Subject: new ioctl I've taken a small look at wcIIcam0.2, but it's my driver code so I guess it should give the same performance/quality unless maybe he changed some settings (like FPS) Bas Jacob Nikom wrote: > > With cpia0.2 at the beginning of the video sometimes you see > black pixels in the image. Also if you compare it with wcIIcam0.2 > version by Jean-Michel Merliot (ftp://brijn.nu/vision) you will > that wcIIcam0.2 has less grain and shadows. > > Jacob Nikom > > sbertin@mindspring.com wrote: > > > > On 8 Sep, Jacob Nikom wrote: > > > Did you try to replace the decompression code? It does not work > > > properly. > > > > I haven't touched the decompression code. It seems to be working fine > > for me. > > > > Scott J. Bertin > > sbertin@mindspring.com > ----------------------------------------------------------------------------- > To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the > body of a message to "majordomo@errors.no". -- .eeree$$ eee .d$" e$" z$$ J$" . $$" $$% $$ 4 $$F $$P $$..P$$P .ePb... z$$$. J$$ .. """d$$ $$" $$$ .$$ $$%.$$d $$ 4$$".$$P 4$$ .$$% .$$$e$" $$$P $$ .$$%z"$$ e3$$ $$$. ..e="$$$ "$$"*$@ "$$d".$$ *$$" e$P .$$ $$ .$$ bhuism@cs.utwente.nl *$. z$" ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From sbertin@mindspring.com Thu, 9 Sep 1999 08:45:28 -0400 (EDT) Date: Thu, 9 Sep 1999 08:45:28 -0400 (EDT) From: sbertin@mindspring.com sbertin@mindspring.com Subject: new ioctl On 9 Sep, Bas Huisman wrote: > I've taken a small look at wcIIcam0.2, but it's my driver code > so I guess it should give the same performance/quality > unless maybe he changed some settings (like FPS) You can get the same quality by changing #define COMPRESSION 2 /* 2 for manual, 1 for automatic, 0 for none */ to #define COMPRESSION 1 /* 2 for manual, 1 for automatic, 0 for none */ in main.cc I think the performance is the same. At any rate, I wouldn't spend much time on it. Hopefully the proprietary module will go away as soon as we get a v4l module. That should happen within a couple of weeks. Scott J. Bertin sbertin@mindspring.com ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From Jarl.Totland@bdc.no Thu, 09 Sep 1999 15:42:16 +0200 Date: Thu, 09 Sep 1999 15:42:16 +0200 From: Jarl Totland Jarl.Totland@bdc.no Subject: Future direction of driver I'll just like to say I admire your concentrated effort in this. Wish I had the time to spend on doing this; however the important thing is getting it done. Seems like you're good at it. :-) Your writeup is perfectly in line with my visions of the cpia driver. Most of the major work should be pretty straightforward. I suggest these priorities: 1) Adopt the new filestructure and modulestructure, make the cpia_pp right. This includes the hard stuff (IRQ/DMA). Don't bother too much with pre-ECP capabilities for now, or tuning, or avoiding duplicating kernel code, delegate that to the rest of us. 2) Port the USB driver to cpia_usb. This is relatively straightforward, basically just removing the V4L already in place there. The pp clients should accept cpia_usb as a dropin replacement for cpia_pp. 3) Start doing the V4L layer. There is some code for this in the USB driver. Personally, I'd prefer V4L2, maybe simply basing it on V4L2's excellent sample capture driver source. Though as V4L2 is obviously not getting into 2.4, we're probably best off doing a V4L layer. Thanks for the great work. Vyrdsamt, -Jarl Totland Business Data Consulting AS, Sandslimarka 35, 5254 Sandsli, Norway Tel 47 55984400, Fax 47 55984450, Cell 47 95961735, http://www.bdc.no ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From nikom@merl.com Thu, 09 Sep 1999 12:03:55 -0400 Date: Thu, 09 Sep 1999 12:03:55 -0400 From: Jacob Nikom nikom@merl.com Subject: Future direction of driver I think it could be useful to see how the drivers for other web cameras are designed. For example for QuickCam, which has excellent Linux support pages: ftp://ftp.cs.unm.edu/pub/chris/quickcam/ http://www.cs.virginia.edu/~patrick/quickcam/ (IMHO I think that cpia is rather strange name. I think the name should reflect that it is a driver for WebCam II camera, not for something more generic.) Jacob Nikom sbertin@mindspring.com wrote: > > I'd like to see some discussion of what we want this driver to > eventually look like. > > Right now, I envision 3 modules: > > cpia > High level driver that handles translation on v4l requests into > CPiA commands. This is also the place to handle differences in > CPiA firmware versions. > > cpia_pp > cpia_usb > Low level drivers for interacting with the hardware. Both PP > and USB cameras should be usable at the same time. > > The interface between these modules could be modelled after the parport > code, and use a variant of interface.h. > > These modules would exist in 4 source code files: > cpia.h cpia.c cpia_pp.c cpia_usb.c > > The parallel port module should handle nibble mode and operation without > IRQs in addition to the full ECP ports. This should take full > advantage of the parport ieee1284 code in the kernel. > > I expect hardware support will be somewhat easier for the USB module. > > This should be doable by the time the 2.4 kernel is released, although > this driver may not go into the kernel until 2.5 unless the development > progresses very rapidly. > > Question for the USB developers: Do you agree that it is a good idea to > merge the two efforts, or do you have a different vision of how things > should work? > > Scott J. Bertin > sbertin@mindspring.com > > ----------------------------------------------------------------------------- > To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the > body of a message to "majordomo@errors.no". ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From nikom@merl.com Thu, 09 Sep 1999 12:20:28 -0400 Date: Thu, 09 Sep 1999 12:20:28 -0400 From: Jacob Nikom nikom@merl.com Subject: new ioctl Yes, I changed the compression to 1 and I got the same quality. However, when I changed it to 0, I got error message: "line length was not 1 but 0 ...." Jacob Nikom sbertin@mindspring.com wrote: > > On 9 Sep, Bas Huisman wrote: > > I've taken a small look at wcIIcam0.2, but it's my driver code > > so I guess it should give the same performance/quality > > unless maybe he changed some settings (like FPS) > > You can get the same quality by changing > #define COMPRESSION 2 /* 2 for manual, 1 for automatic, 0 for none */ > to > #define COMPRESSION 1 /* 2 for manual, 1 for automatic, 0 for none */ > in main.cc > > I think the performance is the same. At any rate, I wouldn't spend > much time on it. Hopefully the proprietary module will go away as soon > as we get a v4l module. That should happen within a couple of weeks. > > Scott J. Bertin > sbertin@mindspring.com > > ----------------------------------------------------------------------------- > To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the > body of a message to "majordomo@errors.no". ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From bas@brijn.nu Thu, 09 Sep 1999 18:32:25 +0200 Date: Thu, 09 Sep 1999 18:32:25 +0200 From: Bas Rijniersce bas@brijn.nu Subject: Future direction of driver Hi, Jacob Nikom wrote: > (IMHO I think that cpia is rather strange name. I think the name should > reflect that it is a driver for WebCam II camera, not for something more > generic.) As you may have see on the webpage the driver isn't just for the WebCam II. The common thing is the used chipset, Vision's CPiA (Colour Processor Interface ASIC). > Jacob Nikom BasR ---- Bas Rijniersce Phone +31 341 550545 Oude Telgterweg 81 Fax +31 341 562940 3851 EA Ermelo http://www.brijn.nu The Netherlands bas@brijn.nu ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From srainwater@ncc.com Thu, 09 Sep 1999 11:56:09 -0500 Date: Thu, 09 Sep 1999 11:56:09 -0500 From: R. Steven Rainwater srainwater@ncc.com Subject: Future direction of driver On Thu, 09 Sep 1999 12:03:55 -0400, Jacob Nikom wrote: >(IMHO I think that cpia is rather strange name. I think the name should >reflect that it is a driver for WebCam II camera, not for something more >generic.) I'm using the CPiA driver with my Zoom Telephonics ZoomCam, which is another CPiA-based camera. If the driver is named for only one seller's trade name of the camera, people might think the driver only worked with the WebCam II instead of with all CPiA cameras. My vote is to stick with a generic name. Either CPiA for the chipset being used or something related to VLSI Vision Ltd., the company that makes the cameras. It might even be a good idea to make the name more specific, like "CPiA-VV0670", just in case VLSI Vision releases a different camera chipset next year. -Steve _____________________________________________________________________ R. Steven Rainwater * http://www.ncc.com/humans/srainwater/index.html "As you struggle to save humanity be sure to avoid electrodes in your path" -- Robotron 2084 ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From nikom@merl.com Thu, 09 Sep 1999 12:54:30 -0400 Date: Thu, 09 Sep 1999 12:54:30 -0400 From: Jacob Nikom nikom@merl.com Subject: Printing command names I have noticed that during execution the cpia0.2 program automatically prints the name of the driver's command which it executes, like those: IOCTL_GotoHiPower IOCTL_SetVPDefaults IOCTL_SetApcor IOCTL_SetFormat IOCTL_SetGrabMode IOCTL_SetSensorFPS IOCTL_SetCompression IOCTL_SetYUVthresh IOCTL_SetCompressionTarget IOCTL_DicardFrame IOCTL_InitStreamCap IOCTL_StartStreamCap sleeping ... 0 seconds to go IOCTL_SetCompression However, I could not find the place where it is doing the printing. Do you know where it happens? Thank you, Jacob Nikom ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From bas@brijn.nu Thu, 09 Sep 1999 19:18:41 +0200 Date: Thu, 09 Sep 1999 19:18:41 +0200 From: Bas Rijniersce bas@brijn.nu Subject: Printing command names Jacob Nikom wrote: > > I have noticed that during execution the cpia0.2 program automatically > prints the name of the driver's command which it executes, like those: > However, I could not find the place where it is doing the printing. > Do you know where it happens? Line 100 in main.cc in Scott's latest version: printf("%s\n",cpia_commandnames[_IOC_NR(ioctlnr)]); > Thank you, > Jacob Nikom ---- Bas Rijniersce Phone +31 341 550545 Oude Telgterweg 81 Fax +31 341 562940 3851 EA Ermelo http://www.brijn.nu The Netherlands bas@brijn.nu ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From whb@vvl.co.uk Thu, 9 Sep 1999 18:16:37 +0100 (BST) Date: Thu, 9 Sep 1999 18:16:37 +0100 (BST) From: Henry Bruce whb@vvl.co.uk Subject: Future direction of driver > I'm using the CPiA driver with my Zoom Telephonics ZoomCam, which > is another CPiA-based camera. If the driver is named for only one > seller's trade name of the camera, people might think the driver > only worked with the WebCam II instead of with all CPiA cameras. As you can see on Jarl's web page, there are a number of cameras that use the CPiA chipset, however the Creative and Zoom versions are likely to be the most common. There are even more coming out out Taiwan - I'll keep you informed of product names as they appear. > My vote is to stick with a generic name. Either CPiA for the > chipset being used or something related to VLSI Vision Ltd., the > company that makes the cameras. It might even be a good idea to > make the name more specific, like "CPiA-VV0670", just in case > VLSI Vision releases a different camera chipset next year. I would agree with this approach. There are two issues to note 1. Vision WILL be releasing more camera chipsets next year 2. We have been taken over by STMicroElectronics. This means that device numbering will be prefixed by STV rather than VV. All chips also have a codename or acronym. Keep up the god work. Henry Bruce Software Development Manager Vision and Imaging Business Unit STMicroelectronics ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From nikom@merl.com Thu, 09 Sep 1999 16:58:10 -0400 Date: Thu, 09 Sep 1999 16:58:10 -0400 From: Jacob Nikom nikom@merl.com Subject: Future direction of driver Hi Bas, You mentioned that cpia driver isn't just for the WebCam II. I am interested what other cameras it could be used with? Do you mean WebCam II USB? Jacob Bas Rijniersce wrote: > > Hi, > > Jacob Nikom wrote: > > > (IMHO I think that cpia is rather strange name. I think the name should > > reflect that it is a driver for WebCam II camera, not for something more > > generic.) > > As you may have see on the webpage the driver isn't just for the WebCam > II. The common thing is the used chipset, Vision's CPiA (Colour > Processor Interface ASIC). > > > Jacob Nikom > > BasR > > ---- > Bas Rijniersce Phone +31 341 550545 > Oude Telgterweg 81 Fax +31 341 562940 > 3851 EA Ermelo http://www.brijn.nu > The Netherlands bas@brijn.nu > ----------------------------------------------------------------------------- > To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the > body of a message to "majordomo@errors.no". ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From bas@brijn.nu Thu, 09 Sep 1999 23:42:24 +0200 Date: Thu, 09 Sep 1999 23:42:24 +0200 From: Bas Rijniersce bas@brijn.nu Subject: Future direction of driver Hi, >You mentioned that cpia driver isn't just for the WebCam II. >I am interested what other cameras it could be used with? Do >you mean WebCam II USB? RTFWP (Read The F Web Page) http://home.eunet.no/~jtotland/vision/ >Jacob ---- Bas Rijniersce bas@brijn.nu Tel. +31 (0)341-550545 http://www.brijn.nu Fax. +31 (0)341-562940 ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From nikom@merl.com Thu, 09 Sep 1999 18:33:25 -0400 Date: Thu, 09 Sep 1999 18:33:25 -0400 From: Jacob Nikom nikom@merl.com Subject: Future direction of driver Hi, Yes, working with the code I did not read the webcam page for a while:-) When I did it today, I downloaded the latest cpia0.2.1 driver and tested it a bit. I found that it works not faster than cpia0.2. Namely for manual compression (I think the highest level of compression) I got 10 - 12 fps, for automatic one - 7 - 8 fps and for uncompressed video - 2 - 3 fps (I have PIII, 500MGz, RedHat 6.0, kernel 2.2.5). Are those typical numbers? Thank you for pointing me to the hidden print in commandnames variable. Jacob Bas Rijniersce wrote: > > Hi, > > >You mentioned that cpia driver isn't just for the WebCam II. > >I am interested what other cameras it could be used with? Do > >you mean WebCam II USB? > > RTFWP (Read The F Web Page) http://home.eunet.no/~jtotland/vision/ > > >Jacob > > ---- > Bas Rijniersce > bas@brijn.nu Tel. +31 (0)341-550545 > http://www.brijn.nu Fax. +31 (0)341-562940 > ----------------------------------------------------------------------------- > To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the > body of a message to "majordomo@errors.no". ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From sbertin@mindspring.com Fri, 10 Sep 1999 00:03:19 -0400 (EDT) Date: Fri, 10 Sep 1999 00:03:19 -0400 (EDT) From: sbertin@mindspring.com sbertin@mindspring.com Subject: Future direction of driver On 9 Sep, Henry Bruce wrote: > On 9 Sep, R. Steven Rainwater wrote: >> My vote is to stick with a generic name. Either CPiA for the >> chipset being used or something related to VLSI Vision Ltd., the >> company that makes the cameras. It might even be a good idea to >> make the name more specific, like "CPiA-VV0670", just in case >> VLSI Vision releases a different camera chipset next year. > > I would agree with this approach. There are two issues to note > 1. Vision WILL be releasing more camera chipsets next year > 2. We have been taken over by STMicroElectronics. This means that device > numbering will be prefixed by STV rather than VV. All chips also have a > codename or acronym. I would be wary of making the name too specific. It may be possible to handle multiple versions of the command set in the same module if they aren't too different. > Henry Bruce > Software Development Manager > Vision and Imaging Business Unit > STMicroelectronics It's good to see a representative of the manufacturer participating in these discussions. Scott J. Bertin sbertin@mindspring.com ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From sbertin@mindspring.com Fri, 10 Sep 1999 00:03:26 -0400 (EDT) Date: Fri, 10 Sep 1999 00:03:26 -0400 (EDT) From: sbertin@mindspring.com sbertin@mindspring.com Subject: Future direction of driver I'm going to renumber your priorities a little bit to better address them below. On 9 Sep, Jarl Totland wrote: 1A > 1) Adopt the new filestructure and modulestructure, 1B > make the cpia_pp right. > This includes the hard stuff (IRQ/DMA). Don't bother too much with pre-ECP > capabilities for now, or tuning, or avoiding duplicating kernel code, > delegate that to the rest of us. > 2) Port the USB driver to cpia_usb. This is relatively straightforward, > basically just removing the V4L already in place there. The pp clients > should accept cpia_usb as a dropin replacement for cpia_pp. > 3) Start doing the V4L layer. There is some code for this in the USB > driver. Personally, I'd prefer V4L2, maybe simply basing it on V4L2's > excellent sample capture driver source. Though as V4L2 is obviously not > getting into 2.4, we're probably best off doing a V4L layer. About 3: I personally think this should be #1. All the lower stuff is working, maybe not optimally, but working anyway. The v4l layer is the only one with zero functionality yet. I've looked briefly at v4l and v4l2, and I also prefer v4l2, but the reality is that v4l is what people will have in the kernel during the next 6 months. If we have a complete driver in 3 months, requiring users to patch the kernel to get v4l2 is unrealistic. About 1A: I was thinking of a more incremental approach, but if you think it's that important, I'm willing to take responsibility for this and put together the new structure now. There are some design issues I haven't fully thought out yet. For example, it may be useful to make the pp and usb modules even more generic and usable by multiple higher level modules simultaneously. This would be useful, for example, when new cameras come out that use the same communication methods, but different message sets. I should be able to have an initial implementation available in about 2-3 weeks. Please, nobody put off doing some work on the driver for this. I'll incorporate all changes in the new structure before I release it. About 1B: You didn't think I was volunteering to do all the work myself, did you? :) I agree that the highest performance mode is where effort should be spent right now, but I also think it is important to eventually support other modes of operation. Some of the "hard stuff" won't really be that hard. Looking at the new ieee1284 code in the 2.3 kernels should be helpful. This actually brings up another point. More standard kernel routines are available in the 2.3 kernels that could make the low level code easier. I would expect a low level pp module for the 2.3 kernel would be significantly different from the same module for the 2.2 kernel. How much effort should be devoted to 2.2 vs 2.3? I don't have a strong opinion about this, but it should be addressed. About 2: Are you volunteering? This should probably wait until after 1A is done. Scott J. Bertin sbertin@mindspring.com ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From bas@brijn.nu Fri, 10 Sep 1999 08:35:12 +0200 Date: Fri, 10 Sep 1999 08:35:12 +0200 From: Bas Rijniersce bas@brijn.nu Subject: Future direction of driver Hi, Jacob Nikom wrote: > Yes, working with the code I did not read the webcam page for a while:-) > When I did it today, I downloaded the latest cpia0.2.1 driver and tested > it a bit. > I found that it works not faster than cpia0.2. Namely for manual > compression > (I think the highest level of compression) I got 10 - 12 fps, for > automatic > one - 7 - 8 fps and for uncompressed video - 2 - 3 fps (I have PIII, > 500MGz, > RedHat 6.0, kernel 2.2.5). Are those typical numbers? Yes, I get the same numbers. And I think Scott also mentioned numbers in the same range. > Jacob Bas ---- Bas Rijniersce Phone +31 341 550545 Oude Telgterweg 81 Fax +31 341 562940 3851 EA Ermelo http://www.brijn.nu The Netherlands bas@brijn.nu ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From martikka@stybba.ntc.nokia.com Fri, 10 Sep 1999 10:35:01 +0300 (EETDST) Date: Fri, 10 Sep 1999 10:35:01 +0300 (EETDST) From: Hannu Martikka martikka@stybba.ntc.nokia.com Subject: Parport monitorin/debug? Hi! I was wondering if there are any good ways to monitor/debug what goes in/out in paraller port? If I add some extra printf's on interface_pp.c does it show what REALLY goes in/out or should this monitoring happen on lower level? Or are there any other external progams that could clone /dev/lpt0 input/output (without disturbing the data)? Also if possible the status of statuslines would be nice to see... - Goodi "The linuX Files -- The Source is Out There." ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø¤º°`°º¤ø,¸¸,ø¤º° ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From Peter.Pregler@risc.uni-linz.ac.at Fri, 10 Sep 1999 10:16:02 +0200 (CEST) Date: Fri, 10 Sep 1999 10:16:02 +0200 (CEST) From: Peter Pregler Peter.Pregler@risc.uni-linz.ac.at Subject: Parport monitorin/debug? On 10-Sep-99 Hannu Martikka wrote: > Hi! > > I was wondering if there are any good ways to monitor/debug what goes > in/out in paraller port? Have a look at interface_pp_low.c. You will find a macro DBG(). That is about as close as you can get to the status of the parport regarding the cpia-module. > If I add some extra printf's on interface_pp.c does it show what REALLY > goes in/out or should this monitoring happen on lower level? It really depends what you print. ;) From the linux-point of view all you can monitor is some inb/outb commands (in the case of i386). > Or are there any other external progams that could clone /dev/lpt0 > input/output (without disturbing the data)? Also if possible the status of > statuslines would be nice to see... Note that /dev/lpt0 is _not_ involved here. But there is a single point of access. You can patch the parport-module to do a sys-logging of the respective data. It will really kill performance though. May I ask what the purpose of this exercise is? -Peter ------------------------------- Even the thought that a ship was waiting to take him back to Earth did not wipe out the sense of loss he felt at that moment. ------------------------------- Email: Peter.Pregler@risc.uni-linz.ac.at Peter Pregler / RISC, University of Linz, Austria ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From s_kwan@gps.com.hk Sat, 11 Sep 1999 04:40:37 +0800 Date: Sat, 11 Sep 1999 04:40:37 +0800 From: Simon Kwan s_kwan@gps.com.hk Subject: install WEBCAM Hi, I would like to install web cam II, appreciate some help as I am new to Linux kernel works. a. If the instruction on page still update?. http://bbs1.biz-worms.de/projekte/Netz/WebCam/Creatix.phtml b. Which kernel to download? Where to get download? c. After download, how to re-build kernel? d. How to add in the needed module from your project? What does this meant (from the instruction web page) What to type in and where (which file)? ------------- configure the kernel Enable: Video for Linux, USB and CPiA as a module. ------------- Don't forget to give /dev/video the correct filemode! Presumably, everyone read/write okay? boot the new kernel and insert the modules: /sbin/insmod /lib/modules/2.3.5/misc/usbcore.o /sbin/insmod /lib/modules/2.3.5/misc/usb-uhci.o /sbin/insmod /lib/modules/2.3.5/misc/videodev.o /sbin/insmod /lib/modules/2.3.5/misc/cpia.o where to enter this (presumable in one of the .rc script files) ---- vidcat: a small textbased captureprogram. Try: /usr/local/bin/vidcat > /tmp/test.jpeg where to get this? TIA Simon Kwan From srainwater@ncc.com Sat, 11 Sep 1999 12:10:50 -0500 Date: Sat, 11 Sep 1999 12:10:50 -0500 From: R. Steven Rainwater srainwater@ncc.com Subject: CPiA USB driver results with 2.3.18 (still not working) I just finished compiling kernel 2.3.18 and tried out the CPiA driver. Still no go. This time it bombs off with the following: usb_init_isoc() RET -3 This was using the command "vidcat > test.jpg" as usual. I haven't seen a kernel oops result from it at all after playing with it for a half hour, so at least there's some good news... -Steve _____________________________________________________________________ R. Steven Rainwater * http://www.ncc.com/humans/srainwater/index.html "As you struggle to save humanity be sure to avoid electrodes in your path" -- Robotron 2084 ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From jerdfelt@sventech.com Sat, 11 Sep 1999 13:16:55 -0400 Date: Sat, 11 Sep 1999 13:16:55 -0400 From: Johannes Erdfelt jerdfelt@sventech.com Subject: CPiA USB driver results with 2.3.18 (still not working) On Sat, Sep 11, 1999, R. Steven Rainwater wrote: > I just finished compiling kernel 2.3.18 and tried out > the CPiA driver. Still no go. This time it bombs off > with the following: > > usb_init_isoc() RET -3 > > This was using the command "vidcat > test.jpg" as usual. > I haven't seen a kernel oops result from it at all after > playing with it for a half hour, so at least there's > some good news... Heh, the driver in 2.3.18 is old. I've worked on it and I've got color, CIF frames and compression working, but I can't seem to get it to send me a frame reliably tho. I'm working on getting a new release out probably today. JE ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From Peter.Pregler@risc.uni-linz.ac.at Sun, 12 Sep 1999 11:38:46 +0200 (CEST) Date: Sun, 12 Sep 1999 11:38:46 +0200 (CEST) From: Peter Pregler Peter.Pregler@risc.uni-linz.ac.at Subject: Get* - success! This message is in MIME format --_=XFMail.1.3.p0.Linux:990912113846:706=_ Content-Type: text/plain; charset=iso-8859-1 On 06-Sep-99 Bas Huisman wrote: > - make it v4l(2) (you don't need any technical stuff done here, > I've made the code modular enough to do this) Soon to come, i.e. I would like to finish a first draft today. Just one thing, I do not plan to do any v4l2 port unless I personally need that. > - make the "GET" command's work I have attached a crude patch!!! :) The problem was that you have to specifiy the numbers of bytes to read back in the command-structure as a multiple of 8. There is a small and unclear explanation somewhere in the specification. I have set it to 8 in my patch which works for all commands I tested (GetCPIAVersion, GetColourParameters, ...). Someone should make it a cleaner though. > - make it use DMA/IRQ (I could find a DMA_READ call in the 2.3.16 kernel > , only DMA_WRITE) I have a working interrupt driven if_StreamRead here that allows to implement a blocking read. It does not yield a visible performance gain. But I do need it for the v4l-layer. About DMA: how does one use DMA with the parport. I have no programming documentation for the DMA-controller. Furthermore I don't see how DMA-transfer should work without polling. We don't know how much data to transfer (compressed images are arbitrary length) and we don't have any interrupt driven notification (afaik about parport-dma, but I might be wrong here) for read. Has anyone any info on this? Is anyone in contact with the parport-developers for the 2.3-kernels? Greetings, Peter ------------------------------- Even the thought that a ship was waiting to take him back to Earth did not wipe out the sense of loss he felt at that moment. ------------------------------- Email: Peter.Pregler@risc.uni-linz.ac.at Peter Pregler / RISC, University of Linz, Austria --_=XFMail.1.3.p0.Linux:990912113846:706=_ Content-Disposition: attachment; filename="readback.patch" Content-Transfer-Encoding: base64 Content-Description: readback.patch Content-Type: application/octet-stream; name=readback.patch; SizeOnDisk=1265 KioqIC4uLy4uL2NwaWEtMC4yLjEtb3JpZy9tb2R1bGUvaW50ZXJmYWNlX3BwLmMJV2VkIFNlcCAg OCAxMDoxOToxOSAxOTk5Ci0tLSBpbnRlcmZhY2VfcHAuYwlTdW4gU2VwIDEyIDExOjA0OjM5IDE5 OTkKKioqKioqKioqKioqKioqCioqKiAyMzUsMjQwICoqKioKLS0tIDI3NiwyODIgLS0tLQogIAlj YXNlIENQSUFfSU9DX0dldENvbG91ckJhbGFuY2U6CiAgCWNhc2UgQ1BJQV9JT0NfR2V0RXhwb3N1 cmU6CiAgCQlpZihpb3N0cnUgPT0gTlVMTCkgcmV0dXJuIC1FSU5WQUw7CisgCQlkYXRhYnl0ZXMg PSA4OwogIAkJY21kWzBdID0gREFUQV9JTjsKICAJCWNtZFsxXSA9ICgoY3BpYV9jb21tYW5kc1tw cm9jX25yXS5tb2R1bGUmNyk8PDUpIHwKICAJCSAgICAgICAgIChjcGlhX2NvbW1hbmRzW3Byb2Nf bnJdLnByb2MgJiAweDFmKTsKKioqKioqKioqKioqKioqCioqKiAyNTMsMjU4ICoqKioKLS0tIDI5 NSwzMDEgLS0tLQogIAkJcmV0dXJuIDA7CiAgCWNhc2UgQ1BJQV9JT0NfR2V0UG5QSUQ6CiAgCQlp Zihpb3N0cnUgPT0gTlVMTCkgcmV0dXJuIC1FSU5WQUw7CisgCQlkYXRhYnl0ZXMgPSA4OwogIAkJ Y21kWzBdID0gREFUQV9JTjsKICAJCWNtZFsxXSA9ICgoY3BpYV9jb21tYW5kc1twcm9jX25yXS5t b2R1bGUmNyk8PDUpIHwKICAJCSAgICAgICAgIChjcGlhX2NvbW1hbmRzW3Byb2NfbnJdLnByb2Mg JiAweDFmKTsKKioqKioqKioqKioqKioqCioqKiAyNzcsMjgyICoqKioKLS0tIDMyMCwzMjYgLS0t LQogIAkJcmV0dXJuIDA7CiAgCWNhc2UgQ1BJQV9JT0NfR2V0VlBWZXJzaW9uOgogIAkJaWYoaW9z dHJ1ID09IE5VTEwpIHJldHVybiAtRUlOVkFMOworIAkJZGF0YWJ5dGVzID0gODsKICAJCWNtZFsw XSA9IERBVEFfSU47CiAgCQljbWRbMV0gPSAoKGNwaWFfY29tbWFuZHNbcHJvY19ucl0ubW9kdWxl JjcpPDw1KSB8CiAgCQkgICAgICAgICAoY3BpYV9jb21tYW5kc1twcm9jX25yXS5wcm9jICYgMHgx Zik7CioqKioqKioqKioqKioqKgoqKiogMzAxLDMwNiAqKioqCi0tLSAzNDUsMzUxIC0tLS0KICAJ Y2FzZSBDUElBX0lPQ19SZWFkSURBVEE6CiAgCWNhc2UgQ1BJQV9JT0NfUmVhZFZQUmVnczoKICAJ CWlmKGlvc3RydSA9PSBOVUxMKSByZXR1cm4gLUVJTlZBTDsKKyAJCWRhdGFieXRlcyA9IDg7CiAg CQljbWRbMV0gPSBEQVRBX0lOOwogIAkJY21kWzFdID0gKChjcGlhX2NvbW1hbmRzW3Byb2NfbnJd Lm1vZHVsZSY3KTw8NSkgfAogIAkJICAgICAgICAgKGNwaWFfY29tbWFuZHNbcHJvY19ucl0ucHJv YyAmIDB4MWYpOwo= --_=XFMail.1.3.p0.Linux:990912113846:706=_-- End of MIME message ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From Peter.Pregler@risc.uni-linz.ac.at Sun, 12 Sep 1999 22:48:05 +0200 (CEST) Date: Sun, 12 Sep 1999 22:48:05 +0200 (CEST) From: Peter Pregler Peter.Pregler@risc.uni-linz.ac.at Subject: Proposal for changes to interface.h On 09-Sep-99 sbertin@mindspring.com wrote: > > - All pointer should point to memory in kernel space, not user space. Agree, but this means that there should be no copy_to|from_user in interface_pp.c. I had to remove that to write the v4l-layer. All that checking should be done in the module-layer itself (i.e. right now in module.c). Could you remove the checks again? > - Registers callback function cb to be called with cbdata when an image is > ready > while streaming. If cb is NULL, only single image grabs are allowed. > cb should immediately call if_StreamRead to read the data or data may be > lost. > - Returns negative value on error, otherwise 0. I have added a function if_RegisterCallback in order to implement the v4l-module. I did this mainly because I did not want to change the interface for all my test-programs right now. But such a function would be a good idea anyway? > int if_StreamRead (void *privdata, u8 *frame); > - frame should be a buffer of MAX_IMAGE_SIZE bytes. The driver higher up is > responsible for handling partial reads. Right now I think data will be > lost on a partial read. Ideally, this would be buffered by the higher level > driver until the programs asks for it. I don't think doing partial reads is worth the effort. What should that be good for? Actually I have added a check such that if_StreamRead reports an error if only a partial image is read. In other words, I would prefer to make a if_StreamFrameRead out of it. This poses another question: do we need a simple if_FrameRead that utilizes grab mode. Right now we assume that the higher level does switch the camera to stream mode for if_StreamRead. As a sideremark: how does now check in what mode the camera is? What exactly do the return values of GetCameraStatus.StreamState/GrabState mean? There is no real explanation in the specification. Just the names. Have fun, Peter PS: Nice cleanup of the code. I was too lazy to do that stuff. :) ------------------------------- Even the thought that a ship was waiting to take him back to Earth did not wipe out the sense of loss he felt at that moment. ------------------------------- Email: Peter.Pregler@risc.uni-linz.ac.at Peter Pregler / RISC, University of Linz, Austria ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From Peter.Pregler@risc.uni-linz.ac.at Sun, 12 Sep 1999 22:35:59 +0200 (CEST) Date: Sun, 12 Sep 1999 22:35:59 +0200 (CEST) From: Peter Pregler Peter.Pregler@risc.uni-linz.ac.at Subject: v4l module On 12-Sep-99 Peter Pregler wrote: > > On 06-Sep-99 Bas Huisman wrote: >> - make it v4l(2) (you don't need any technical stuff done here, >> I've made the code modular enough to do this) > > Soon to come, i.e. I would like to finish a first draft today. Just one > thing, I do not plan to do any v4l2 port unless I personally need that. Okay, not that soon. I do have a working draft that runs with xawtv (in memory mapped mode) for a few seconds. So it is quite far from stable. If someone really wants to do code review ;) I could give it away. But I hope I can finish it in some evenings. So better just wait. :) Stay tuned, Peter ------------------------------- Even the thought that a ship was waiting to take him back to Earth did not wipe out the sense of loss he felt at that moment. ------------------------------- Email: Peter.Pregler@risc.uni-linz.ac.at Peter Pregler / RISC, University of Linz, Austria ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From martikka@stybba.ntc.nokia.com Mon, 13 Sep 1999 21:27:13 +0300 (EETDST) Date: Mon, 13 Sep 1999 21:27:13 +0300 (EETDST) From: Hannu Martikka martikka@stybba.ntc.nokia.com Subject: Cablelenght... Hi! Anyone extended webcamII cables? I have the paraller version of WebCamII. I want to extend the cables. Does anyone have any idea how long cables would still work? I plan to have separate powersupply (not from keyboard) so basicly it's the length of the prn cable that is the limiting factor. Is there anything specific on WebCamII implementation of paraller port in this aspect? Btw. Anyone tested cpia cams on "extreme" conditions (eq outdoors)? (obviously protected from water, but the temperatures still vary alot). - Goodi "The linuX Files -- The Source is Out There." ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø¤º°`°º¤ø,¸¸,ø¤º° ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From nikom@merl.com Mon, 13 Sep 1999 15:33:28 -0400 Date: Mon, 13 Sep 1999 15:33:28 -0400 From: Jacob Nikom nikom@merl.com Subject: Cablelenght... I don't know about wcIIcam, but I have internal info about other PPC CMOS camera - maximum 10 feet. If you want REALLY long cable (eg for security applications, outdoor, etc.) you could be better of with QuickCam. It does have Linux drivers, and Microplex company(http://www.microplex.com/microplex/info/networkEye.html) has NetEye solution for your problem: "The NetworkEye Frame Servers are web and FTP servers designed to connect digital cameras directly to Ethernet LANs. The NetworkEye-Colour supports Connectix's Colour QuickCam for WindowsTM; the NetworkEye supports the grayscale QuickCam. Until now, the QuickCam was directly connected to a PC, restricting its uses and limiting image viewing. With the introduction of the NetworkEye, the camera can now be located anywhere on an Ethernet network, allowing anyone on the LAN to access the images using standard browser software." I have never used QuickCam and NetworkEye personally. Jacob Hannu Martikka wrote: > > Hi! > > Anyone extended webcamII cables? > I have the paraller version of WebCamII. I want to extend the cables. > Does anyone have any idea how long cables would still work? > I plan to have separate powersupply (not from keyboard) so basicly it's > the length of the prn cable that is the limiting factor. > Is there anything specific on WebCamII implementation of paraller port in > this aspect? > > Btw. Anyone tested cpia cams on "extreme" conditions (eq outdoors)? > (obviously protected from water, but the temperatures still vary alot). > > - Goodi > "The linuX Files -- The Source is Out There." > ø,££,ø¤ºœ`œº¤ø,££,ø¤ºœ`œº¤ø,££,ø¤ºœ`œº¤ø,££,ø¤ºœ`œº¤ø¤ºœ`œº¤ø,££,ø¤ºœ > > ----------------------------------------------------------------------------- > To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the > body of a message to "majordomo@errors.no". ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From Peter.Pregler@risc.uni-linz.ac.at Thu, 16 Sep 1999 11:31:06 +0200 (CEST) Date: Thu, 16 Sep 1999 11:31:06 +0200 (CEST) From: Peter Pregler Peter.Pregler@risc.uni-linz.ac.at Subject: a better v4l test application needed Hi all, to test my v4l-module I would need a better v4l-application than xawtv. Namely it should be possible to - set brightness, color - grab images - pause - any screen size handling (should be mapped to cif/qcif/...) In other words it should be tailored playing with a camera not for watching television. I have no idea if all listed above is really covered by the v4l-api. But in any case, if your favoritve v4l-camera application supports those please give me a note so I can check things. About the status of my v4l-stuff: it still crashes the kernel, but only after quitting (i.e. it is a throw away application right now ;). Apart from that it seems to run stable. And strange enough it does consume much less cpu, don't have the slightest idea why. One more thing, latency is bad (i.e. the mouse hops). Has anyone an idea about the maximum execution time suggested for any kernel-thread before calling the scheduler? Greetings, Peter ------------------------------- Email: Peter.Pregler@risc.uni-linz.ac.at WWW: http://www.risc.uni-linz.ac.at/people/ppregler ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From sbertin@mindspring.com Sat, 18 Sep 1999 00:17:25 -0400 (EDT) Date: Sat, 18 Sep 1999 00:17:25 -0400 (EDT) From: sbertin@mindspring.com sbertin@mindspring.com Subject: a better v4l test application needed On 16 Sep, Peter Pregler wrote: > to test my v4l-module I would need a better v4l-application than xawtv. > Namely it should be possible to > > - set brightness, color > - grab images > - pause > - any screen size handling (should be mapped to cif/qcif/...) > > In other words it should be tailored playing with a camera not for > watching television. I have no idea if all listed above is really covered > by the v4l-api. But in any case, if your favoritve v4l-camera application > supports those please give me a note so I can check things. Have you had a look at gqcam? http://cse.unl.edu/~cluening/gqcam/ I haven't tried it myself, but it looks like what you are looking for. Scott J. Bertin sbertin@mindspring.com ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From sbertin@mindspring.com Sun, 19 Sep 1999 07:21:12 -0400 (EDT) Date: Sun, 19 Sep 1999 07:21:12 -0400 (EDT) From: sbertin@mindspring.com sbertin@mindspring.com Subject: test Please ignore this message. ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From Peter.Pregler@risc.uni-linz.ac.at Mon, 20 Sep 1999 11:06:14 +0200 (CEST) Date: Mon, 20 Sep 1999 11:06:14 +0200 (CEST) From: Peter Pregler Peter.Pregler@risc.uni-linz.ac.at Subject: a better v4l test application needed On 18-Sep-99 sbertin@mindspring.com wrote: > On 16 Sep, Peter Pregler wrote: >> to test my v4l-module I would need a better v4l-application than xawtv. >> Namely it should be possible to >> >> - set brightness, color >> - grab images >> - pause >> - any screen size handling (should be mapped to cif/qcif/...) >> >> In other words it should be tailored playing with a camera not for >> watching television. I have no idea if all listed above is really >> covered >> by the v4l-api. But in any case, if your favoritve v4l-camera >> application >> supports those please give me a note so I can check things. > > Have you had a look at gqcam? http://cse.unl.edu/~cluening/gqcam/ > > I haven't tried it myself, but it looks like what you are looking for. Yep, that was what I was looking for. Unfortunaly it is B&W only. I am porting it to color. About my v4l-stuff: normal capture already seems to work more or less stable (memory mapped with xawtv, blocking read with gqcam, I'll add a memory mapped mode to gqcam). Even changing brightness etc. seems to work during capture though colors look strange but that might be a porting failure (or the late hour ;). I will have to add some work for the video-mode and size-settings though. This also affects the decompession. So it is not really hard kernel work. After that I will realease a first alpha. This v4l-driver is a bit more work than I expected. :) A comment/question about performance: memory mapped mode seems to be way more efficient than a streaming read. This surprised me a bit since the only real difference is a missing copy_to_user in the case of mmap. Sounds this plausible? In both cases a interrupt driven kernel task does the if_StreamRead/convert. To user-space go only decompressed frames. About v4l2: I had a close look at the specification and I think as soon as there is a reasonable appliation it is really worth to write the driver. The core of my v4l-stuff could be used. But the interface is soo much cleaner (distinction between streaming mode, captuer, read, ...). -Peter ------------------------------- Email: Peter.Pregler@risc.uni-linz.ac.at WWW: http://www.risc.uni-linz.ac.at/people/ppregler ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From sbertin@mindspring.com Sun, 26 Sep 1999 20:25:49 -0400 (EDT) Date: Sun, 26 Sep 1999 20:25:49 -0400 (EDT) From: sbertin@mindspring.com sbertin@mindspring.com Subject: Another driver effort If you haven't seen this post to comp.os.linux.hardware yet, you might want to check it out. I've already sent e-mail to the author to make sure he is aware of our efforts. Scott J. Bertin sbertin@mindspring.com In article <938358321.6655.0.pluto.d4ee0662@news.demon.nl>, jan@panteltje.demon.nl (Jan Panteltje) writes: > This is a first attempt, based on the test program (GPL) from Vision, and the > work done by a lot of other people. > I kind of morphed it together. > > http://www.panteltje.demon.nl/mcam/ > > Since I am addressing the par port directly, it will probably work on a lot of > older PC's, even with Linux 1.2.13 > > You need X, and this is just my test program at the moment. > But it does work, in nibble mode 1 frame / per second. > With thanks to all who provided me with info. > Jan ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From halset@pvv.ntnu.no Mon, 27 Sep 1999 09:26:29 +0100 (MET) Date: Mon, 27 Sep 1999 09:26:29 +0100 (MET) From: Tore Halset halset@pvv.ntnu.no Subject: w3cam Hello. The URL http://www.komm.hdk-berlin.de/~rasca/w3cam/ does not work and I can not find w3cam-0.6.1 anywhere else. I have a Webcam II with USB and followed the instructions on http://bbs1.biz-worms.de/projekte/Netz/WebCam/Creatix.phtml. The driver finds my camerea but what should I do to read a picture from the camerea? - Tore. ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From eiden@biz-worms.de Mon, 27 Sep 1999 10:54:09 +0200 Date: Mon, 27 Sep 1999 10:54:09 +0200 From: Markus Eiden eiden@biz-worms.de Subject: w3cam Tore Halset wrote: > > Hello. > > The URL http://www.komm.hdk-berlin.de/~rasca/w3cam/ does not work and I > can not find w3cam-0.6.1 anywhere else. It works for me. I have just tried it. > > I have a Webcam II with USB and followed the instructions on > http://bbs1.biz-worms.de/projekte/Netz/WebCam/Creatix.phtml. > > The driver finds my camerea but what should I do to read a picture from > the camerea? Download w3cam and use vidcat. If you really can´t get the package I can attach it for you. Markus > > - Tore. > > ----------------------------------------------------------------------------- > To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the > body of a message to "majordomo@errors.no". -- ------------------------------------------------------------------------ Markus Eiden http://www.eiden.de/ Berufsbildende Schule 1, Worms http://bbs1.biz-worms.de/ Bildungsserver Rheinland-Pfalz http://bildung-rp.de/ ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From halset@pvv.ntnu.no Mon, 27 Sep 1999 12:07:27 +0100 (MET) Date: Mon, 27 Sep 1999 12:07:27 +0100 (MET) From: Tore Halset halset@pvv.ntnu.no Subject: stripes Hello. The pictures from my camera has some strange horisontal stripes. My setup: * computer: 486@100 with USB-card * camera: WebCam II USB * kernel: Linux 2.3.5 * modules: from 2.3.5 with patches from Jorg Martens listed on http://bbs1.biz-worms.de/projekte/Netz/WebCam/Creatix.phtml * vidcat from w3cam-0.6.1 I run the command: vidcat -f png -s 352x288 > fil.png vidcat -f jpeg -s 352x288 > fil.jpeg The pictures can be seen on: http://www.samfundet.no/~halset/fil.png http://www.samfundet.no/~halset/fil.jpeg Well, the camera is out of focus, but that is not a problem yet. fil.png and fil.jpeg does not look the same. fil.jpeg has a black area at the bottom. Both of the pictures has horisontal stripes. What have I done wrong? Is the computer to slow? - Tore. ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From Peter.Pregler@risc.uni-linz.ac.at Tue, 28 Sep 1999 11:08:38 +0200 (CEST) Date: Tue, 28 Sep 1999 11:08:38 +0200 (CEST) From: Peter Pregler Peter.Pregler@risc.uni-linz.ac.at Subject: v4l - some comments about interrupt driven operation Hi all, I have thrown away (literally speaking) the old interrupt driven v4l-code I wrote and started to implement a scheme based on polling. The reasons are: - Despite quite some effort I could not get a stable interrupt scheme. The driver constantly misses interrupts which in my scheme would stall capturing which is not acceptable. I see no easy way to debug the interrupt-code (in interface_pp.c/ interface_pp_low.c) without quite some help from the linux parport-people (timeouts, etc.) and quite some more information about the cpia. I simply don't have the time to do that. - I can see no real performance penalty in a polling scheme. Loading an image from the camera can take up to 100ms and cannot be done at interrupt time. Compared to the time needed and loaded needed to read a picture polling if done intelligent is negliable. - My code needed a rewrite anyway. - Polling does seem to work stable with the current module.c code. So there is no reason it should not work stable if done in a kernel-task. If you want to do further work on interrupt-driven operation contanct me. I guess I can give you quite some information now about that. But as I said I do not think it is worth the effort. And my new implementation will prove that anyway. :) Sorry for promising too much, but I guess if one does such a thing for the first time one does follow the wrong paths. :( My plans are to get a stable version as soon as possible (mmap/read, some ioctls to set size cif/qcif, adjust color parameters, compression). After that I will add sif/qsif sizes because I need that for ISABEL, which is why I write the code anyway (http://isabel.dit.upm.es/). Greetings, Peter ------------------------------- Email: Peter.Pregler@risc.uni-linz.ac.at WWW: http://www.risc.uni-linz.ac.at/people/ppregler ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From halset@pvv.ntnu.no Tue, 28 Sep 1999 15:58:24 +0100 (MET) Date: Tue, 28 Sep 1999 15:58:24 +0100 (MET) From: Tore Halset halset@pvv.ntnu.no Subject: stripes On Mon, 27 Sep 1999, Tore Halset wrote: > I run the command: > vidcat -f png -s 352x288 > fil.png > vidcat -f jpeg -s 352x288 > fil.jpeg > > The pictures can be seen on: > http://www.samfundet.no/~halset/fil.png > http://www.samfundet.no/~halset/fil.jpeg > > Well, the camera is out of focus, but that is not a problem yet. > > fil.png and fil.jpeg does not look the same. fil.jpeg has a black area at > the bottom. Both of the pictures has horisontal stripes. Now it is in focus, but some of the colors are wrong as well. On the http://www.samfundet.no/~halset/fil.png there is a yellow tools-box at the bottom of the picture. This box should be blue. The gray computer on the left is in the right shade of gray. The books that are blue at the top middle of the picture should be gold. AAnd then there was the stripes that I do not know how to remove. - Tore. ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From mfreytes@gtwing.efn.uncor.edu Tue, 28 Sep 1999 15:25:38 -0300 (ART) Date: Tue, 28 Sep 1999 15:25:38 -0300 (ART) From: Matias Freytes mfreytes@gtwing.efn.uncor.edu Subject: USB video cams Hi, I'm a bit confused because I've heard there's not usb reliable support under linux. I checked home.eunet.no/jtotland/vision again and found many usb cams supported, but then went to www.linux-usb.org and understood that this driver is almost experimental. After that I received an email explaining that the driver comes with kernels 2.3 and newer. I need to buy three USB video cams for a new project at our lab (don't have money for capture cards) and would like to know which is the fastest and most reliable usb camera/driver available? I'd also like to hear about frame rates (color QCIF). Thank you very much. ------------- Matias Laboratorio de Comunicaciones Digitales Universidad Nacional de Cordoba Argentina ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From nikom@merl.com Tue, 28 Sep 1999 14:37:13 -0400 Date: Tue, 28 Sep 1999 14:37:13 -0400 From: Jacob Nikom nikom@merl.com Subject: Question about parallel port configuration Hi, Could you help me to get my parallel port settings correct? I forgot how to configure PC parallel port in order to be able to run cpia driver. It used to run very well, but after some time I changed my parallel port settings and forgot what I had and now my driver stopped to work. My current settings are: Parallel Port: Enabled Mode: EPP Base I/O address: 378 Interrupt: IRQ 7 Plug & Play: No What else I have to check? Thank you, Jacob Nikom ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From sbertin@mindspring.com Tue, 28 Sep 1999 17:28:21 -0400 (EDT) Date: Tue, 28 Sep 1999 17:28:21 -0400 (EDT) From: sbertin@mindspring.com sbertin@mindspring.com Subject: Question about parallel port configuration On 28 Sep, Jacob Nikom wrote: > Hi, > > Could you help me to get my parallel port settings correct? > My current settings are: > Parallel Port: Enabled > Mode: EPP You need to use ECP mode for the current driver. Scott J. Bertin sbertin@mindspring.com ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From nikom@merl.com Tue, 28 Sep 1999 18:37:42 -0400 Date: Tue, 28 Sep 1999 18:37:42 -0400 From: Jacob Nikom nikom@merl.com Subject: Question about parallel port configuration Does it have to be ECP because it uses DMA? Jacob sbertin@mindspring.com wrote: > > On 28 Sep, Jacob Nikom wrote: > > Hi, > > > > Could you help me to get my parallel port settings correct? > > > My current settings are: > > Parallel Port: Enabled > > Mode: EPP > > You need to use ECP mode for the current driver. > > Scott J. Bertin > sbertin@mindspring.com ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From sbertin@mindspring.com Tue, 28 Sep 1999 22:18:48 -0400 (EDT) Date: Tue, 28 Sep 1999 22:18:48 -0400 (EDT) From: sbertin@mindspring.com sbertin@mindspring.com Subject: Question about parallel port configuration On 28 Sep, Jacob Nikom wrote: > Does it have to be ECP because it uses DMA? No, it has to be ECP because it uses ECP mode to read from the camera. Nibble mode hasn't been implemented yet. Scott J. Bertin sbertin@mindspring.com ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From Peter.Pregler@risc.uni-linz.ac.at Wed, 29 Sep 1999 08:30:01 +0200 (CEST) Date: Wed, 29 Sep 1999 08:30:01 +0200 (CEST) From: Peter Pregler Peter.Pregler@risc.uni-linz.ac.at Subject: Question about parallel port configuration On 29-Sep-99 sbertin@mindspring.com wrote: > On 28 Sep, Jacob Nikom wrote: >> Does it have to be ECP because it uses DMA? > > No, it has to be ECP because it uses ECP mode to read from the camera. > Nibble mode hasn't been implemented yet. Actually since right now I seem to be the only person that sometimes digs down to the parport stuff I see no chance that nibble mode will ever be implemented. Step out and volunteer, you willing kernel hackers! About EPP/ECP: the camera does not speak EPP. And implementing DMA is (IMHO) a waste of time because you don't get much of it. -Peter ------------------------------- Email: Peter.Pregler@risc.uni-linz.ac.at WWW: http://www.risc.uni-linz.ac.at/people/ppregler ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From madsdyd@challenge.dk Wed, 29 Sep 1999 11:44:27 +0200 (CEST) Date: Wed, 29 Sep 1999 11:44:27 +0200 (CEST) From: Mads Bondo Dydensborg madsdyd@challenge.dk Subject: Question about parallel port configuration On Wed, 29 Sep 1999, Peter Pregler wrote: > > No, it has to be ECP because it uses ECP mode to read from the camera. > > Nibble mode hasn't been implemented yet. > > Actually since right now I seem to be the only person that sometimes digs > down to the parport stuff I see no chance that nibble mode will ever be > implemented. Step out and volunteer, you willing kernel hackers! (Alert, newbee coming up) I think, that the software on http://www.panteltje.demon.nl/mcam/ may use some sort of nibble mode. At least it is mentioned on the page? Maybe it could be backported into the driver? (Not that it matters to me, but if it matters to the original poster) Mads -- Mads Bondo Dydensborg. madsdyd@challenge.dk Free your mind and your desktop will follow.... Linux - the choice of a GNU generation ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From madsdyd@challenge.dk Thu, 30 Sep 1999 02:39:59 +0200 (CEST) Date: Thu, 30 Sep 1999 02:39:59 +0200 (CEST) From: Mads Bondo Dydensborg madsdyd@challenge.dk Subject: Problems with CPIA_GetColourParams and CPIA_GetColourBalance Hi there. I am trying to get a grip on the driver. Read through "developer.pdf", and spent some time fidling with Bas H's testclient. I wanted to do something like this: cpia_docommand(fd, CPIA_IOC_GetCameraStatus); while ((cmd.result.GetCameraStatus.CmdError != 0)&&(!quit)) { printf("command error = %d ... resetting it\n",cmd.result.GetCameraStatus.CmdError); cpia_docommand(fd, CPIA_IOC_ModifyCameraStatus,CMDERROR,0,0,0); cpia_docommand(fd, CPIA_IOC_GetCameraStatus); }; cpia_docommand(fd, CPIA_IOC_SetVPDefaults); cpia_docommand(fd, CPIA_IOC_GetColourParameters); cpia_docommand(fd, CPIA_IOC_GetCameraStatus); while ((cmd.result.GetCameraStatus.CmdError != 0)&&(!quit)) { printf("command error = %d ... resetting it\n",cmd.result.GetCameraStatus.CmdError); cpia_docommand(fd, CPIA_IOC_ModifyCameraStatus,CMDERROR,0,0,0); cpia_docommand(fd, CPIA_IOC_GetCameraStatus); }; cpia_docommand(fd, CPIA_IOC_GetColourBalance); cpia_docommand(fd, CPIA_IOC_GetCameraStatus); while ((cmd.result.GetCameraStatus.CmdError != 0)&&(!quit)) { printf("command error = %d ... resetting it\n",cmd.result.GetCameraStatus.CmdError); cpia_docommand(fd, CPIA_IOC_ModifyCameraStatus,CMDERROR,0,0,0); cpia_docommand(fd, CPIA_IOC_GetCameraStatus); }; cpia_docommand(fd, CPIA_IOC_GetExposure); Which is GetCameraStatus SetVPDefaults GetColourParameters (GetCameraStatus) GetColourBalance (GetCameraStatus) GetExpousere The cpia_docommand is the docommand from Bas H's client. The camera is in "high mode" before the above steps are taken. This is the output: GotoHiPower camera now in HIGH power state SetVPDefaults GetColourParameters all 3 bytes 256 GetColourParameters all 3 bytes 256 GetColourParameters all 3 bytes 256 GetColourParameters all 3 bytes 256 GetColourParameters all 3 bytes 256 GetColourBalance all 3 bytes 256 GetColourBalance all 3 bytes 256 GetColourBalance all 3 bytes 256 GetColourBalance all 3 bytes 256 GetColourBalance all 3 bytes 256 Apart from the fact, that I assume 255 is the correct value, not 256, I take this to mean, that the communication with the camera went fine, but the values returned indicate an error (maybe a malformed request?) GetCameraState, and GetExposure seems to work fine. What am I doing wrong? (I noted that both GetCameraState and GetExposure returns 8 byte, whereas the two others only return 3). Thanks, Mads ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From Peter.Pregler@risc.uni-linz.ac.at Thu, 30 Sep 1999 09:57:05 +0200 (CEST) Date: Thu, 30 Sep 1999 09:57:05 +0200 (CEST) From: Peter Pregler Peter.Pregler@risc.uni-linz.ac.at Subject: Problems with CPIA_GetColourParams and CPIA_GetColourBalance On 30-Sep-99 Mads Bondo Dydensborg wrote: > > Apart from the fact, that I assume 255 is the correct value, not 256, I > take this to mean, that the communication with the camera went fine, but > the values returned indicate an error (maybe a malformed request?) > > GetCameraState, and GetExposure seems to work fine. > > What am I doing wrong? (I noted that both GetCameraState and GetExposure > returns 8 byte, whereas the two others only return 3). This is a bug in the driver. Reading back from the camera failed for all commands that do not return 8 bytes. I have sent a crude patch to the list a few days ago (subject: Get* solved). I guess I will stuff toghether some of the other low-level patches I have and send them to Jarl to update the low-level stuff. Greetings, Peter ------------------------------- Email: Peter.Pregler@risc.uni-linz.ac.at WWW: http://www.risc.uni-linz.ac.at/people/ppregler ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From madsdyd@challenge.dk Thu, 30 Sep 1999 10:27:00 +0200 (CEST) Date: Thu, 30 Sep 1999 10:27:00 +0200 (CEST) From: Mads Bondo Dydensborg madsdyd@challenge.dk Subject: Problems with CPIA_GetColourParams and CPIA_GetColourBalance On Thu, 30 Sep 1999, Peter Pregler wrote: > > GetCameraState, and GetExposure seems to work fine. > > > > What am I doing wrong? (I noted that both GetCameraState and GetExposure > > returns 8 byte, whereas the two others only return 3). > > This is a bug in the driver. Reading back from the camera failed for all > commands that do not return 8 bytes. I have sent a crude patch to the list > a few days ago (subject: Get* solved). I guess I will stuff toghether some > of the other low-level patches I have and send them to Jarl to update the > low-level stuff. Ah - sorry, I am new to this list. (Is there an archive, I did not see one on the website?) Can I obtain this patch somehow? Thanks, Mads P.S. I felt silly mentioning the 3 and 8 byte stuff - I feel a little better about it now :-) -- Mads Bondo Dydensborg. madsdyd@challenge.dk The IETF has an interesting enough life as is getting the too simple protocols to work sanely, hardware/software providers and sysadmins have a hard time understanding, implementing and exploiting the too simple stuff today. I.e., imagine MS-mess but on Internet scale, not just desktop-scale. If you can. ... Scary. Real scary. Halloween stuff, definitely. - Dr. Horst H. von Brand ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From Brad.Hards@dao.defence.gov.au Fri, 1 Oct 1999 08:09:15 +1000 Date: Fri, 1 Oct 1999 08:09:15 +1000 From: Brad.Hards@dao.defence.gov.au Brad.Hards@dao.defence.gov.au Subject: Australia - CPiA USB availability Hi, I am having a very hard time finding a CPiA based USB camera in Australia - if anyone knows of additional OEMs that may have exports into SE Asia, could you please le me know. I was working the Creative line, but Creative have dropped the WebCam II. Dammit. Brad ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no". From nikom@merl.com Thu, 30 Sep 1999 19:29:08 -0400 Date: Thu, 30 Sep 1999 19:29:08 -0400 From: Jacob Nikom nikom@merl.com Subject: Question about compression algorithm Hi, I wonder what compression coding is used for WebCamII? Is it JPEG, MJPEG (JPEG for each independent frame) or MPEG? Thank you, Jacob Nikom ----------------------------------------------------------------------------- To unsubscribe from this mailinglist, send the line "unsubscribe vision-webcam" in the body of a message to "majordomo@errors.no".