⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spca50x.c

📁 广州斯道2410普及版II的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
	{DLinkDSC350, "D-Link DSC-350"},	{CreativePCCam600, "Creative PC-CAM 600"},	{IntelPocketPCCamera, "Intel Pocket PC Camera"},	{IntelEasyPCCamera, "Intel Easy PC Camera"},	{ThreeComHomeConnectLite, "3Com Home Connect Lite"},	{KodakEZ200, "Kodak EZ200"},	{MaxellMaxPocket, "Maxell Max Pocket LEdit. 1.3 MPixels"},	{AiptekMiniPenCam2, "Aiptek Mini PenCam  2 MPixels"},	{AiptekPocketDVII, "Aiptek PocketDVII  1.3 MPixels"},	{AiptekPenCamSD, "Aiptek Pencam SD  2 MPixels"},	{AiptekMiniPenCam13, "Aiptek mini PenCam 1.3 MPixels"},	{MustekGsmartLCD3, "Mustek Gsmart LCD 3"},	{MustekMDC5500Z, "Mustek MDC5500Z"},	{MegapixV4, "Megapix V4"},	{AiptekPocketDV, "Aiptek PocketDV "},	{HamaUSBSightcam, "Hama USB Sightcam 100"},	{Arowana300KCMOSCamera, "Arowana 300K CMOS Camera"},	{MystFromOriUnknownCamera,"Unknow Ori Camera"},	{AiptekPocketDV3100, "Aiptek PocketDV3100+ "},	{AiptekPocketCam3M, "Aiptek PocketCam  3 M "},	{GeniusVideoCAMExpressV2, "Genius VideoCAM Express V2"},	{Flexcam100Camera, "Flexcam 100 Camera"},	{MustekGsmartLCD2, "Mustek Gsmart LCD 2"},	{PureDigitalDakota, "Pure Digital Dakota"},	{PetCam, "PetCam"},	{BenqDC1500, "Benq DC1500"},	{LogitechClickSmart420, "Logitech Inc. ClickSmart 420"},	{LogitechClickSmart510, "Logitech Inc. ClickSmart 510"},	{BenqDC1300, "Benq DC1300"},	{HamaUSBSightcam2, "Hama USB Sightcam 100 (2)"},	{MustekDV3000, "Mustek DV 3000"},	{CreativePccam750, "Creative PCcam750"},	{MaxellCompactPM3, "Maxell Compact PC PM3"},	{BenqDC3410, "Benq DC3410"},	{BenqDC1016, "Benq DC1016"},	{MicroInnovationIC200, "Micro Innovation IC200"},	{LogitechTraveler, "Logitech QuickCam Traveler"},	{Flycam100Camera, "FlyCam Usb 100"},	{UsbGrabberPV321c, "Usb Grabber PV321c"},	{ADSInstantVCD, "ADS Instant VCD"},	{Gsmartmini, "Mustek Gsmart Mini"},	{Jenoptikjdc21lcd,"Jenoptik DC 21 LCD"},	{LogitechClickSmart310,"Logitech ClickSmart 310"},	{Terratec2move13,"Terratec 2 move 1.3"},	{MustekDV4000,"Mustek DV4000 Mpeg4"},	{AiptekDV3500,"Aiptek DV3500 Mpeg4"},	{LogitechClickSmart820,"Logitech ClickSmart 820"},	{Enigma13,"Digital Dream Enigma 1.3"},	{Sonix6025,"Xcam Shanga"},	{Epsilon13,"Digital Dream Epsilon 1.3"},	{Nxultra,"Creative Webcam NX ULTRA"},	{AiptekPocketCam2M,"Aiptek PocketCam 2Mega"},	{DeMonUSBCapture,"3DeMON USB Capture"},	{CreativeVista,"Creative Webcam Vista"},	{PolaroidPDC2030,"Polaroid PDC2030"},	{CreativeNotebook,"Creative Notebook PD1171"},	{CreativeMobile,"Creative Mobile PD1090"},	{LabtecPro,"Labtec Webcam Pro"},	{MustekWcam300A,"Mustek Wcam300A"},	{GeniusVideoCamV2,"Genius Videocam V2"},	{GeniusVideoCamV3,"Genius Videocam V3"},	{GeniusVideoCamExpressV2b, "Genius Videocam Express V2 Firmware 2"},	{CreativeNxPro, "Creative Nx Pro"},	{Sonix6029, "Sonix sn9c10x + Pas106 sensor"},	{Vimicro,"Z-star Vimicro zc0301p"},	{Digitrex2110,"ApexDigital Digitrex2110 spca533"},	{GsmartD30,"Mustek Gsmart D30 spca533"},	{CreativeNxPro2,"Creative NX Pro FW2"},	{Bs888e,"Kowa Bs888e MicroCamera"},	{Zc302,"Z-star Vimicro zc0302"},	{CreativeNoteBook2,"Creative Notebook PD1170"},	{AiptekSlim3200,"Aiptek Slim 3200"},	{LabtecWebcam, "Labtec Webcam"},	{QCExpress, "QC Express"},	{ICM532cam, "ICM532 cam"},	{MustekGsmart300,"Mustek Gsmart 300"},	{CreativeLive,"Creative Live! "},	{MercuryDigital,"Mercury Digital Pro 3.1Mp"},	{Wcam300A,"Mustek Wcamm300A 2"},	{CreativeVista3b,"Creative Webcam Vista 0x403b"},	{VeoStingray1, "Veo Stingray 1"},	{VeoStingray2, "Veo Stingray 2"},	{TyphoonWebshotIIUSB300k," Typhoon Webshot II"},	{-1, NULL}};#if LINUX_VERSION_CODE > KERNEL_VERSION(2,3,0)static __devinitdata struct usb_device_id device_table[] = {	{USB_DEVICE (0x0733, 0x0430)},	/* Intel PC Camera Pro */	{USB_DEVICE (0x0733, 0x0401)},	/* Intel Create and Share */	{USB_DEVICE (0x99FA, 0x8988)},	/* Grandtec V.cap */	{USB_DEVICE (0x0733, 0x0402)},	/* ViewQuest M318B */	{USB_DEVICE (0x0733, 0x0110)},	/* ViewQuest VQ110 */	{USB_DEVICE (0x040A, 0x0002)},	/* Kodak DVC-325 */	{USB_DEVICE (0x055f, 0xc420)},	/* Mustek gSmart Mini 2 */	{USB_DEVICE (0x055f, 0xc520)},	/* Mustek gSmart Mini 3 */	{USB_DEVICE (0x041E, 0x400A)},	/* Creative PC-CAM 300 */	{USB_DEVICE (0x084D, 0x0003)},	/* D-Link DSC-350 */	{USB_DEVICE (0x041E, 0x400B)},	/* Creative PC-CAM 600 */	{USB_DEVICE (0x8086, 0x0630)},	/* Intel Pocket PC Camera */	{USB_DEVICE (0x8086, 0x0110)},	/* Intel Easy PC Camera */	{USB_DEVICE (0x0506, 0x00df)},	/* 3Com HomeConnect Lite */	{USB_DEVICE (0x040a, 0x0300)},	/* Kodak EZ200 */	{USB_DEVICE (0x04fc, 0x504b)},	/* Maxell MaxPocket LE 1.3 */	{USB_DEVICE (0x08ca, 0x2008)},	/* Aiptek Mini PenCam 2 M */	{USB_DEVICE (0x08ca, 0x0104)},	/* Aiptek PocketDVII 1.3 */	{USB_DEVICE (0x08ca, 0x2018)},	/* Aiptek Pencam SD 2M */	{USB_DEVICE (0x04fc, 0x504a)},	/* Aiptek Mini PenCam 1.3 */	{USB_DEVICE (0x055f, 0xc530)},	/* Mustek Gsmart LCD 3 */	{USB_DEVICE (0x055f, 0xc650)},	/* Mustek MDC5500Z */	{USB_DEVICE (0x052b, 0x1513)},	/* Megapix V4 */	{USB_DEVICE (0x08ca, 0x0103)},	/* Aiptek PocketDV */	{USB_DEVICE (0x0af9, 0x0010)},	/* Hama USB Sightcam 100 */	{USB_DEVICE (0x1776, 0x501c)},	/* Arowana 300K CMOS Camera */	{USB_DEVICE (0x08ca, 0x0106)},	/* Aiptek Pocket DV3100+ */	{USB_DEVICE (0x08ca, 0x2010)},	/* Aiptek PocketCam 3M */	{USB_DEVICE (0x0458, 0x7004)},	/* Genius VideoCAM Express V2 */	{USB_DEVICE (0x04fc, 0x0561)},	/* Flexcam 100 */	{USB_DEVICE (0x055f, 0xc430)},	/* Mustek Gsmart LCD 2 */	{USB_DEVICE (0x04fc, 0xffff)},	/* Pure DigitalDakota */	{USB_DEVICE (0xabcd, 0xcdee)},	/* Petcam */	{USB_DEVICE (0x04a5, 0x3008)},	/* Benq DC 1500 */	{USB_DEVICE (0x046d, 0x0960)},	/* Logitech Inc. ClickSmart 420 */	{USB_DEVICE (0x046d, 0x0901)},	/* Logitech Inc. ClickSmart 510 */	{USB_DEVICE (0x04a5, 0x3003)},	/* Benq DC 1300 */	{USB_DEVICE (0x0af9, 0x0011)},	/* Hama USB Sightcam 100 */	{USB_DEVICE (0x055f, 0xc440)},  /* Mustek DV 3000 */	{USB_DEVICE (0x041e, 0x4013)},  /* Creative Pccam750 */	{USB_DEVICE (0x060b, 0xa001)},  /* Maxell Compact Pc PM3 */	{USB_DEVICE (0x04a5, 0x300a)},  /* Benq DC3410 */	{USB_DEVICE (0x04a5, 0x300c)},  /* Benq DC1016 */	{USB_DEVICE (0x0461, 0x0815)},  /* Micro Innovation IC200 */	{USB_DEVICE (0x046d, 0x0890)},  /* Logitech QuickCam traveler */	{USB_DEVICE (0x10fd, 0x7e50)},  /* FlyCam Usb 100 */	{USB_DEVICE (0x06e1, 0xa190)},  /* ADS Instant VCD */	{USB_DEVICE (0x055f, 0xc220)},  /* Gsmart Mini */	{USB_DEVICE (0x0733, 0x2211)},	/* Jenoptik jdc 21 LCD */	{USB_DEVICE (0x046d, 0x0900)},	/* Logitech Inc. ClickSmart 310 */	{USB_DEVICE (0x055f, 0xc360)},	/* Mustek DV4000 Mpeg4  */	{USB_DEVICE (0x08ca, 0x2024)},	/* Aiptek DV3500 Mpeg4  */	{USB_DEVICE (0x046d, 0x0905)},	/* Logitech ClickSmart820  */	{USB_DEVICE (0x05da, 0x1018)},  /* Digital Dream Enigma 1.3 */	{USB_DEVICE (0x0c45, 0x6025)},	/* Xcam Shanga */	{USB_DEVICE (0x0733, 0x1311)},  /* Digital Dream Epsilon 1.3 */	{USB_DEVICE (0x041e, 0x401d)},  /* Creative Webcam NX ULTRA */	{USB_DEVICE (0x08ca, 0x2016)},  /* Aiptek PocketCam 2 Mega */	{USB_DEVICE (0x0734, 0x043b)},	/* 3DeMon USB Capture aka */	{USB_DEVICE (0x041E, 0x4018)},	/* Creative Webcam Vista (PD1100) */	{USB_DEVICE (0x0546, 0x3273)},	/* Polaroid PDC2030*/	{USB_DEVICE (0x041e, 0x401f)},	/* Creative Webcam Notebook PD1171*/	{USB_DEVICE (0x041e, 0x4017)},	/* Creative Webcam Mobile PD1090*/	{USB_DEVICE (0x046d, 0x08a2)},	/* Labtec Webcam Pro*/	{USB_DEVICE (0x055f, 0xd003)},	/* Mustek WCam300A*/	{USB_DEVICE (0x0458, 0x7007)},	/* Genius VideoCam V2*/	{USB_DEVICE (0x0458, 0x700c)},	/* Genius VideoCam V3*/	{USB_DEVICE (0x0458, 0x700f)},	/* Genius VideoCam Web V2*/	{USB_DEVICE (0x041e, 0x401e)},	/* Creative Nx Pro*/	{USB_DEVICE (0x0c45, 0x6029)},	/* spcaCam@150 */	{USB_DEVICE (0x0c45, 0x6009)},	/* spcaCam@120*/	{USB_DEVICE (0x0c45, 0x600d)},	/* spcaCam@120*/	{USB_DEVICE (0x04fc, 0x5330)},	/* Digitrex 2110*/	{USB_DEVICE (0x055f, 0xc540)},	/* Gsmart D30*/	{USB_DEVICE (0x0ac8, 0x301b)},	/* Asam Vimicro*/	{USB_DEVICE (0x041e, 0x403a)},	/* Creative Nx Pro 2*/	{USB_DEVICE (0x055f, 0xc211)},	/* Kowa Bs888e Microcamera*/	{USB_DEVICE (0x0ac8, 0x0302)},	/* Z-star Vimicro zc0302*/	{USB_DEVICE (0x0572, 0x0041)},	/* Creative Notebook cx11646*/	{USB_DEVICE (0x08ca, 0x2022)},	/* Aiptek Slim 3200*/		{USB_DEVICE (0x046d, 0x0921)},  /* Labtec Webcam */	{USB_DEVICE (0x046d, 0x0920)},  /* QC Express */	{USB_DEVICE (0x0923, 0x010f)},  /* ICM532 cams */	{USB_DEVICE (0x055f, 0xc200)},	/* Mustek Gsmart 300 */	{USB_DEVICE (0x0733, 0x2221)},  /* Mercury Digital Pro 3.1p*/	{USB_DEVICE (0x041e, 0x4036)},  /* Creative Live ! */	{USB_DEVICE (0x055f, 0xc005)},	/* Mustek Wcam300A */	{USB_DEVICE (0x041E, 0x403b)},	/* Creative Webcam Vista (VF0010) */	{USB_DEVICE (0x0545, 0x8333)},  /* Veo Stingray */	{USB_DEVICE (0x0545, 0x808b)},  /* Veo Stingray */	{USB_DEVICE (0x10fd, 0x8050)},  /* Typhoon Webshot II USB 300k */	{USB_DEVICE (0x0000, 0x0000)},	/* MystFromOri Unknow Camera */	{}			/* Terminating entry */};MODULE_DEVICE_TABLE (usb, device_table);/*  We also setup the function for getting  page number from the virtual address */#define VIRT_TO_PAGE virt_to_page #else /* LINUX_VERSION_CODE > KERNEL_VERSION(2,3,0) */#define VIRT_TO_PAGE MAP_NR #endif /* LINUX_VERSION_CODE > KERNEL_VERSION(2,3,0) *//* * Let's include the initialization data for each camera type */#include "spcausb.h"#include "spca500_init.h"#include "spca501_init.h"#include "spca504_init.h"#include "spca505_init.h"#include "spca506.h"#include "spca508_init.h"#include "spca561.h"#include "spcai2c_init.h"#include "spca533.h"#include "spca536.h"#include "sonix.h"#include "zc3xx.h"#include "cx11646.h"#include "tv8532.h"/* Mode list for spca50x on external input *//* Must be in descending order as the closest match which is equal or smaller than * the requested size is returned */#define GET_EXT_MODES(bridge) (\	(bridge) == BRIDGE_SPCA500 ? spca500_ext_modes : \	(bridge) == BRIDGE_SPCA501 ? spca501_ext_modes : \	(bridge) == BRIDGE_SPCA504 ? spca504_ext_modes : \	(bridge) == BRIDGE_SPCA504B ? spca504_ext_modes : \	(bridge) == BRIDGE_SPCA504_PCCAM600 ? spca504_pccam600_ext_modes : \	(bridge) == BRIDGE_SPCA506 ? spca506_ext_modes : \	(bridge) == BRIDGE_SPCA508 ? spca508_ext_modes : \	(bridge) == BRIDGE_SPCA533 ? spca533_ext_modes : \	(bridge) == BRIDGE_SPCA561 ? spca561_ext_modes : \	(bridge) == BRIDGE_SPCA536 ? spca536_ext_modes : \	(bridge) == BRIDGE_SONIX ? sonix_ext_modes : \	(bridge) == BRIDGE_ZC3XX ? zc3xx_ext_modes : \	(bridge) == BRIDGE_CX11646 ? cx11646_ext_modes : \	(bridge) == BRIDGE_TV8532 ? tv8532_ext_modes : \	spca50x_ext_modes)/* code is used for harware low nibble and software hight nibble */static __u16 cx11646_ext_modes[][6] = {	/* x , y , Code, x multiplier, y multiplier, pipe */	{640, 480, 0x00, 0, 0, 1023},	// altersetting 7 endpoint 0x01	{352, 288, 0x01, 0, 0, 1023},	{320, 240, 0x02, 0, 0, 1023},	{176, 144, 0x03, 0, 0, 640}, // alt 4	// {160, 120, 0x04, 0, 0, 512}, // alt 3 only works with external decoding	{0, 0, 0, 0, 0, 0}};static __u16 zc3xx_ext_modes[][6] = {	/* x , y , Code, x multiplier, y multiplier, pipe */	{640, 480, 0x00, 0, 0, 1023},	// altersetting 7 endpoint 0x01	{352, 288, 0x10, 0, 0, 1023},	{320, 240, 0x01, 0, 0, 1023},	{176, 144, 0x11, 0, 0, 1023},	{0, 0, 0, 0, 0, 0}};static __u16 sonix_ext_modes[][6] = {	/* x , y , Code, x multiplier, y multiplier, pipe */	{640, 480, 0x00, 0, 0, 1023},	{352, 288, 0x00, 0, 0, 1023},		{320, 240, 0x01, 0, 0, 1023},	{176, 144, 0x01, 0, 0, 1023},	{160, 120, 0x02, 0, 0, 1023},	{0, 0, 0, 0, 0, 0}};static __u16 spca500_ext_modes[][6] = {	/* x , y , Code, x multiplier, y multiplier, pipe */	{640, 480, 0x00, 40, 30, 1023},		{352, 288, 0x00, 22, 18, 1023},	{320, 240, 0x01, 40, 30, 1023},	{176, 144, 0x01, 22, 18, 1023},	/* 160x120 disable jpeg %16 */	{0, 0, 0, 0, 0, 0}};static __u16 spca501_ext_modes[][6] = {	/* x , y , Code, Value (6), Value (7), pipe */	{640, 480, 0, 0x94, 0x004A, 1023},	{352, 288, 0x10, 0x94, 0x004A, 1023},	{320, 240, 0, 0x94, 0x104A, 896},	{176, 144, 0x10, 0x94, 0x104A, 896},	{160, 120, 0, 0x94, 0x204A, 384},	{0, 0, 0, 0, 0}};static __u16 spca533_ext_modes[][6] ={	/* x , y , Code, Value (6), Value (7), pipe */	//{ 640, 480, 0x41, 1, 0, 1023 },	{ 464, 480, 0x01, 0, 0, 1023 },//PocketDVII unscaled resolution aspect ratio need to expand x axis	{ 464, 352, 0x01, 0, 0, 1023 },//Gsmart LCD3 feature good aspect ratio 	{ 384, 288, 0x11, 5, 4, 1023 },	{ 352, 288, 0x11, 7, 4, 1023 },	{ 320, 240, 0x02, 0, 0, 1023 },	{ 192, 144, 0x12, 8, 6, 1023 },	{ 176, 144, 0x12, 9, 6, 1023 },	//{ 160, 120, 0x22, 1, 1, 1023 },	//{ 320, 128, 0x03, 0, 0, 1023 }, /* don't work with megapix V4*/	{ 0, 0, 0, 0, 0 }};static __u16 spca536_ext_modes[][6] ={	/* x , y , Code, Value (6), Value (7), pipe */	{ 640, 480, 0x01, 1, 0, 1023 },	//{ 464, 480, 0x01, 0, 0, 1023 },	//{ 464, 352, 0x01, 0, 0, 1023 },	{ 384, 288, 0x11, 5, 4, 1023 },	{ 352, 288, 0x11, 7, 4, 1023 },	{ 320, 240, 0x02, 0, 0, 896 },	{ 192, 144, 0x12, 8, 6, 896 },	{ 176, 144, 0x12, 9, 6, 896 },		{ 0, 0, 0, 0, 0 }};static __u16 spca504_ext_modes[][6] ={	/* x , y , Code, Value (6), Value (7), pipe */	{ 640, 480, 0x01, 0, 0, 1023 },	{ 384, 288, 0x11, 16, 12, 1023 },	{ 352, 288, 0x11, 18, 12, 1023 },	{ 320, 240, 0x02, 0, 0, 896 },	{ 192, 144, 0x12, 8, 6, 896 },	{ 176, 144, 0x12, 9, 6, 896 },	//{ 160, 120, 0x22, 1, 1, 896 },	{ 0, 0, 0, 0, 0 }}; static __u16 spca504_pccam600_ext_modes[][6] ={	/* x , y , Code, Value (6), Value (7), pipe */	{ 1024, 768, 0x00, 0, 0, 1023 }, 	{ 640,  480, 0x01, 1, 0, 1023 },	{ 352,  288, 0x02, 2, 0, 896 },	{ 320,  240, 0x03, 3, 0, 896 },	{ 176,  144, 0x04, 4, 0, 768 },/*	{ 160,  120, 0x05, 5, 0, 768 },  */	{ 0, 0, 0, 0, 0 }};static __u16 spca561_ext_modes[][6] ={	{ 352, 288, 0x00, 0x27, 0x00, 1023},	{ 320, 240, 0x01, 0x27, 0x00, 1023},	//{ 176, 144, 0x11, 0x27, 0x00, 1023},	//{ 160, 120, 0x11, 0x27, 0x00, 1023},	{ 176, 144, 0x02, 0x23, 0x00, 1023},	// software mode hardware seem buggy slow shift in video	{ 160, 120, 0x03, 0x23, 0x00, 1023},	{ 0, 0, 0, 0, 0 }};/* default value used for spca505 and spca505b */static __u16 spca50x_ext_modes[][6] ={	/* x , y , Code, Value (6), Value (7), pipe */	{ 640, 480, 0, 0x10, 0x10, 1023 }, /* Tested spca505b+VGA sensor */	{ 352, 288, 1, 0x1a, 0x1a, 1023 }, /* Tested */	{ 320, 240, 2, 0x1c, 0x1d, 896 }, /* Tested 20:01:2004*/	{ 176, 144, 4, 0x34, 0x34, 512 }, /* Tested */	{ 160, 120, 5, 0x40, 0x40, 384 }, /* Tested */	{ 0, 0, 0, 0, 0 }};static __u16 spca506_ext_modes[][6] ={	/* In this table, element 3 (clk) controls the	 * clock, and gets written to 0x8700.	 */	/* x , y , Code, clk, n/a,  pipe */	{ 640, 480, 0x00, 0x10, 0x10, 1023},	{ 352, 288, 0x01, 0x1a, 0x1a, 1023},	{ 320, 240, 0x02, 0x1c, 0x1c, 1023},//896	{ 176, 144, 0x04, 0x34, 0x34, 1023}, 	{ 160, 120, 0x05, 0x40, 0x40, 1023},	{ 0, 0, 0, 0, 0 }};//  1a 1b 20 static __u16 spca508_ext_modes[][6] ={	/* In this table, element 3 (clk) controls the	 * clock, and gets written to 0x8700.	 */	/* x , y , Code, clk, n/a,  pipe */	{ 352, 288, 0x00, 0x28, 0x00, 1023},	{ 320, 240, 0x01, 0x28, 0x00, 1023},	{ 176, 144, 0x02, 0x23, 0x00, 1023}, 	{ 160, 120, 0x03, 0x23, 0x00, 1023},	{ 0, 0, 0, 0, 0 }};static __u16 tv8532_ext_modes[][6] = {	/* x , y , Code, clk, n/a,  pipe */	{352, 288, 0x00, 0x28, 0x00, 1023},	{320, 240, 0x10, 0x28, 0x00, 1023},	{176, 144, 0x01, 0x23, 0x00, 1023},	/*{160, 120, 0x03, 0x23, 0x00, 1023},*/	{0, 0, 0, 0, 0}};#ifdef CONFIG_PROC_FS/* Not sure what we should do with this. I think it is V4L level 2 stuff *//* Currently only use RGB24 */static struct palette_list plist[] = {	{ VIDEO_PALETTE_GREY,      "GREY" },	{ VIDEO_PALETTE_HI240,     "HI240" },	{ VIDEO_PALETTE_RGB565,    "RGB565" },	{ VIDEO_PALETTE_RGB24,     "RGB24" },	{ VIDEO_PALETTE_RGB32,     "RGB32" },	{ VIDEO_PALETTE_RGB555,    "RGB555" },	{ VIDEO_PALETTE_YUV422,    "YUV422" },	{ VIDEO_PALETTE_YUYV,      "YUYV" },	{ VIDEO_PALETTE_UYVY,      "UYVY" },	{ VIDEO_PALETTE_YUV420,    "YUV420" },	{ VIDEO_PALETTE_YUV411,    "YUV411" },	{ VIDEO_PALETTE_RAW,       "RAW" },	{ VIDEO_PALETTE_YUV422P,   "YUV422P" },	{ VIDEO_PALETTE_YUV411P,   "YUV411P" },	{ VIDEO_PALETTE_YUV420P,   "YUV420P" },	{ VIDEO_PALETTE_YUV410P,   "YUV410P" },	{ VIDEO_PALETTE_RAW_JPEG , "RJPG" },	{ VIDEO_PALETTE_JPEG , "JPEG" },	{ -1, NULL }};#endif /* CONFIG_PROC_FS *//* struct for the tasklets */struct spca50x_frame *taskletframe;void outpict_do_tasklet (unsigned long ptr); DECLARE_TASKLET (outpicttasklet,outpict_do_tasklet,(unsigned long)&taskletframe);/********************************************************************** * * Memory management * * This is a shameless copy from the USB-cpia driver (linux kernel

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -