Commit 2b455db6 authored by Luc Saillard's avatar Luc Saillard Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (3835): [PATCH] update pwc driver



Add v4l2 compatibility
Include the decompressor (legal problem has been resolv by Alan Cox)
Faster decoder and easier to maintain, optimize, ...
Can export to userland compressed stream
Support more cameras, lot of bugs are fixed.

Signed-off-by: default avatarLuc Saillard <luc@saillard.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent d9e12f25
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ config USB_PWC
	   * Philips PCA645, PCA646
	   * Philips PCVC675, PCVC680, PCVC690
	   * Philips PCVC720/40, PCVC730, PCVC740, PCVC750
	   * Philips SPC900NC
	   * Askey VC010
	   * Logitech QuickCam Pro 3000, 4000, 'Zoom', 'Notebook Pro'
	     and 'Orbit'/'Sphere'
@@ -19,10 +20,18 @@ config USB_PWC
	  and never will be, but the 665 and 720/20 are supported by other
	  drivers.

	  See <file:Documentation/usb/philips.txt> for more information and
	  installation instructions.
	  Some newer logitech webcams are not handled by this driver but by the
	  Usb Video Class driver (linux-uvc).

	  The built-in microphone is enabled by selecting USB Audio support.

	  To compile this driver as a module, choose M here: the
	  module will be called pwc.

config USB_PWC_DEBUG
	bool "USB Philips Cameras verbose debug"
	depends USB_PWC
	help
	  Say Y here in order to have the pwc driver generate verbose debugging
	  messages.
	  A special module options 'trace' is used to control the verbosity.
+10 −1
Original line number Diff line number Diff line
pwc-objs	:= pwc-if.o pwc-misc.o pwc-ctrl.o pwc-uncompress.o pwc-timon.o pwc-kiara.o
pwc-objs	:= pwc-if.o pwc-misc.o pwc-ctrl.o pwc-v4l.o pwc-uncompress.o
pwc-objs	+= pwc-dec1.o pwc-dec23.o pwc-kiara.o pwc-timon.o

obj-$(CONFIG_USB_PWC) += pwc.o

ifeq ($(CONFIG_USB_PWC_DEBUG),y)
EXTRA_CFLAGS += -DCONFIG_PWC_DEBUG=1
else
EXTRA_CFLAGS += -DCONFIG_PWC_DEBUG=0
endif

+387 −312

File changed.

Preview size limit exceeded, changes collapsed.

+50 −0
Original line number Diff line number Diff line
/* Linux driver for Philips webcam
   Decompression for chipset version 1
   (C) 2004-2006 Luc Saillard (luc@saillard.org)

   NOTE: this version of pwc is an unofficial (modified) release of pwc & pcwx
   driver and thus may have bugs that are not present in the original version.
   Please send bug reports and support requests to <luc@saillard.org>.
   The decompression routines have been implemented by reverse-engineering the
   Nemosoft binary pwcx module. Caveat emptor.

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/



#include "pwc-dec1.h"


void pwc_dec1_init(int type, int release, void *buffer, void *table)
{

}

void pwc_dec1_exit(void)
{



}

int pwc_dec1_alloc(struct pwc_device *pwc)
{
	pwc->decompress_data = kmalloc(sizeof(struct pwc_dec1_private), GFP_KERNEL);
	if (pwc->decompress_data == NULL)
		return -ENOMEM;
	return 0;
}
+43 −0
Original line number Diff line number Diff line
/* Linux driver for Philips webcam
   (C) 2004-2006 Luc Saillard (luc@saillard.org)

   NOTE: this version of pwc is an unofficial (modified) release of pwc & pcwx
   driver and thus may have bugs that are not present in the original version.
   Please send bug reports and support requests to <luc@saillard.org>.
   The decompression routines have been implemented by reverse-engineering the
   Nemosoft binary pwcx module. Caveat emptor.

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/



#ifndef PWC_DEC1_H
#define PWC_DEC1_H

#include "pwc.h"

struct pwc_dec1_private
{
	int version;

};

int  pwc_dec1_alloc(struct pwc_device *pwc);
void pwc_dec1_init(int type, int release, void *buffer, void *private_data);
void pwc_dec1_exit(void);

#endif
Loading