📄 spca5xx.c
字号:
LabtecWebcam, QCExpress, ICM532cam, MustekGsmart300, CreativeLive, //90 MercuryDigital, Wcam300A, CreativeVista3b, VeoStingray1, VeoStingray2, TyphoonWebshotIIUSB300k, //96 PolaroidPDC3070, QCExpressEtch2, QCforNotebook, QCim, //100 WebCam320, AiptekPocketCam4M, AiptekPocketDV5100, AiptekPocketDV5300, SunplusGeneric536, QCimA1, QCchat, QCimB9, Labtec929, //109 110 Etoms61x151, Etoms61x251, PalmPixDC85, Optimedia, ToptroIndus, AgfaCl20, LogitechQC92c, SonixWC311P, LastCamera};static struct cam_list clist[] = { {UnknownCamera, "Unknown"}, {IntelPCCameraPro, "Intel PC Camera Pro"}, {IntelCreateAndShare, "Intel Create and Share"}, {GrandtecVcap, "Grandtec V.cap"}, {ViewQuestM318B, "ViewQuest M318B"}, {ViewQuestVQ110, "ViewQuest VQ110"}, {KodakDVC325, "Kodak DVC-325"}, {MustekGsmartMini2, "Mustek gSmart mini 2"}, {MustekGsmartMini3, "Mustek gSmart mini 3"}, {CreativePCCam300, "Creative PC-CAM 300"}, {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"}, {PolaroidPDC3070, " Polaroid PDC3070"}, {QCExpressEtch2, "Logitech QuickCam Express II"}, {QCforNotebook, "Logitech QuickCam for Notebook"}, {QCim,"Logitech QuickCam IM"}, {WebCam320,"Micro Innovation WebCam 320"}, {AiptekPocketCam4M,"Aiptek Pocket Cam 4M"}, {AiptekPocketDV5100,"Aiptek Pocket DV5100"}, {AiptekPocketDV5300,"Aiptek Pocket DV5300"}, {SunplusGeneric536,"Sunplus Generic spca536a"}, {QCimA1,"Logitech QuickCam IM + sound"}, {QCchat,"Logitech QuickCam chat"}, {QCimB9,"Logitech QuickCam IM ???"}, {Labtec929,"Labtec Webcam Elch2 "}, {Etoms61x151,"QCam Sangha"}, {Etoms61x251,"QCam xxxxxx"}, {PalmPixDC85,"PalmPix DC85"}, {Optimedia,"Optimedia TechnoAME"}, {ToptroIndus,"Toptro Industrial"}, {AgfaCl20,"Agfa ephoto CL20"}, {LogitechQC92c,"Logitech QuickCam chat"}, {SonixWC311P,"Sonix sn9c102P Hv7131R"}, {-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 (0x0546, 0x3155)}, /* Polaroid PDC3070 */ {USB_DEVICE (0x046d, 0x0928)}, /* Logitech QC Express Etch2 */ {USB_DEVICE (0x046d, 0x092a)}, /* Logitech QC for Notebook */ {USB_DEVICE (0x046d, 0x08a0)}, /* Logitech QC IM */ {USB_DEVICE (0x0461, 0x0a00)}, /* MicroInnovation WebCam320 */ {USB_DEVICE (0x08ca, 0x2028)}, /* Aiptek PocketCam4M */ {USB_DEVICE (0x08ca, 0x2042)}, /* Aiptek PocketDV5100 */ {USB_DEVICE (0x08ca, 0x2060)}, /* Aiptek PocketDV5300 */ {USB_DEVICE (0x04fc, 0x5360)}, /* Sunplus Generic */ {USB_DEVICE (0x046d, 0x08a1)}, /* Logitech QC IM 0x08A1 +sound*/ {USB_DEVICE (0x046d, 0x08a3)}, /* Logitech QC Chat */ {USB_DEVICE (0x046d, 0x08b9)}, /* Logitech QC IM ??? */ {USB_DEVICE (0x046d, 0x0929)}, /* Labtec Webcam Elch2*/ {USB_DEVICE (0x10fd, 0x0128)}, /* Typhoon Webshot II USB 300k 0x0128 */ {USB_DEVICE (0x102c, 0x6151)}, /* Qcam Sangha CIF */ {USB_DEVICE (0x102c, 0x6251)}, /* Qcam xxxxxx VGA */ {USB_DEVICE (0x04fc, 0x7333)}, /* PalmPixDC85*/ {USB_DEVICE (0x06be, 0x0800)}, /* Optimedia*/ {USB_DEVICE (0x2899, 0x012c)}, /* Toptro Industrial*/ {USB_DEVICE (0x06bd, 0x0404)}, /* Agfa CL20*/ {USB_DEVICE (0x046d, 0x092c)}, /* Logitech QC chat Elch2*/ {USB_DEVICE (0x0c45, 0x607c)}, /* Sonix sn9c102p Hv7131R*/ {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"#include "et61xx51.h"#include "sn9c102p.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 : \ (bridge) == BRIDGE_ETOMS ? etoms_ext_modes : \ (bridge) == BRIDGE_SN9C102P ? sn9c102p_ext_modes : \ spca50x_ext_modes)/* code is used for harware low nibble and software hight nibble */static __u16 sn9c102p_ext_modes[][6] = { /* x , y , Code, x, y, pipe */ {640, 480, 0x00, 0, 0, 1023}, {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 etoms_ext_modes[][6] = { /* x , y , Code, x, y, pipe */ {352, 288, 0x00, 0, 0, 1000}, {320, 240, 0x01, 0, 0, 1000}, {176, 144, 0x01, 0, 0, 1000}, {0, 0, 0, 0, 0, 0}};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] = {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -