亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? spca5xx.c

?? usb camera driver on linux platform
?? C
?? 第 1 頁 / 共 5 頁
字號:
/* * SPCA5xx based usb camera driver (currently supports * yuv native stream spca501a, spca501c, spca505, spca508, spca506 * jpeg native stream spca500, spca551, spca504a, spca504b, spca533a, spca536a, zc0301, zc0302, cx11646, sn9c102p * bayer native stream spca561a, sn9c101, sn9c102, tv8532 ). * Z-star Vimicro chips zc0301 zc0301P zc0302 * Sunplus spca501a, spca501c, spca505, spca508, spca506, spca500, spca551, spca504a, spca504b, spca533a, spca536a * Sonix sn9c101, sn9c102, sn9c102p sn9c105 sn9c120 * Conexant cx11646 * Transvision tv_8532  * Etoms Et61x151 Et61x251 * Pixat Pac207-BCA-32 * SPCA5xx version by Michel Xhaard <mxhaard@users.sourceforge.net> * Based on : * SPCA50x version by Joel Crisp <cydergoth@users.sourceforge.net> * OmniVision OV511 Camera-to-USB Bridge Driver * Copyright (c) 1999-2000 Mark W. McClelland * Kernel 2.6.x port Michel Xhaard && Reza Jelveh (feb 2004) * Based on the Linux CPiA driver written by Peter Pregler, * Scott J. Bertin and Johannes Erdfelt. * 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., 675 Mass Ave, Cambridge, MA 02139, USA. */static const char version[] = SPCA5XX_VERSION;#include <linux/config.h>#include <linux/module.h>#include <linux/version.h>#include <linux/init.h>#include <linux/fs.h>#include <linux/vmalloc.h>#include <linux/sched.h>#include <linux/slab.h>#include <linux/mm.h>#include <linux/string.h>#include <linux/kernel.h>#include <linux/proc_fs.h>#include <linux/ctype.h>#include <linux/pagemap.h>#include <linux/usb.h>#include <asm/io.h>#include <asm/semaphore.h>#include <asm/page.h>#include <asm/uaccess.h>#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0)/* only on 2.6.x */#include <linux/jiffies.h>#endif#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)#include <linux/wrapper.h>#endif#include <linux/param.h>#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 9)#include <linux/moduleparam.h>#endif#include "spca5xx.h"#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0)#  undef CONFIG_VIDEO_PROC_FS#	 undef CONFIG_PROC_FS#endif//#define RH9_REMAP 1#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)#include "spcaCompat.h"#ifndef pte_offset_kernel# define pte_offset_kernel(dir, address)	pte_offset(dir, address)#endif#endif#include "spcadecoder.h"#include "jpeg_qtables.h"#define PROC_NAME_LEN 10	//length of the proc name/* Video Size 640 x 480 x 4 bytes for RGB */#define MAX_FRAME_SIZE (640 * 480 * 4)#define MAX_DATA_SIZE (MAX_FRAME_SIZE + sizeof(struct timeval))/* Hardware auto exposure / whiteness (PC-CAM 600) */static int autoexpo = 1;#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,5)/* Video device number (-1 is first available) */static int video_nr = -1;#endif				/* LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,5) *//* 0=no debug messages * 1=init/detection/unload and other significant messages, * 2=some warning messages * 3=config/control function calls * 4=most function calls and data parsing messages * 5=highly repetitive mesgs * NOTE: This should be changed to 0, 1, or 2 for production kernels */static int debug = 0;/* Force image to be read in RGB instead of BGR. This option allow * programs that expect RGB data (e.g. gqcam) to work with this driver. */static int force_rgb = 0;static int gamma = 3;static int OffRed = 0;static int OffBlue = 0;static int OffGreen = 0;static int GRed = 256;static int GBlue = 256;static int GGreen = 256;static int usbgrabber = 0;#ifdef SPCA50X_ENABLE_COMPRESSION/* Enable compression. This is for experimentation only; compressed images * still cannot be decoded yet. */static int compress = 0;#endif				/* SPCA50X_ENABLE_COMPRESSION */#ifdef SPCA5XX_ENABLE_REGISTERPLAYstatic int RegAddress = 0;static int RegValue = 0;static int RegStrobe = 0;#endif				/* SPCA5XX_ENABLE_REGISTERPLAY *//* Initial brightness & contrast (for debug purposes) */static int bright = 0x80;static int contrast = 0x60;/* Parameter that enables you to set the minimal suitable bpp */static int min_bpp = 0;/* Parameter defines the average luminance that should be kept */static int lum_level = 0x2d;#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 9)module_param(autoexpo, int, 0644);module_param(debug, int, 0644);module_param(force_rgb, int, 0644);module_param(gamma, int, 0644);module_param(OffRed, int, 0644);module_param(OffBlue, int, 0644);module_param(OffGreen, int, 0644);module_param(GRed, int, 0644);module_param(GBlue, int, 0644);module_param(GGreen, int, 0644);#ifdef SPCA50X_ENABLE_COMPRESSIONmodule_param(compress, int, 0644);#endif				/* SPCA50X_ENABLE_COMPRESSION */module_param(bright, int, 0444);module_param(contrast, int, 0444);module_param(min_bpp, int, 0444);module_param(lum_level, int, 0444);module_param(usbgrabber, int, 0444);#ifdef SPCA5XX_ENABLE_REGISTERPLAYmodule_param(RegAddress, int, 0644);module_param(RegValue, int, 0644);module_param(RegStrobe, int, 0644);#endif				/* SPCA5XX_ENABLE_REGISTERPLAY */#else				/* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 9) */MODULE_PARM(autoexpo, "i");MODULE_PARM(debug, "i");MODULE_PARM(force_rgb, "i");MODULE_PARM(gamma, "i");MODULE_PARM(OffRed, "i");MODULE_PARM(OffBlue, "i");MODULE_PARM(OffGreen, "i");MODULE_PARM(GRed, "i");MODULE_PARM(GBlue, "i");MODULE_PARM(GGreen, "i");#ifdef SPCA50X_ENABLE_COMPRESSIONMODULE_PARM(compress, "i");#endif				/* SPCA50X_ENABLE_COMPRESSION */MODULE_PARM(bright, "i");MODULE_PARM(contrast, "i");MODULE_PARM(min_bpp, "i");MODULE_PARM(lum_level, "0-255i");MODULE_PARM(usbgrabber, "i");#endif/***************/MODULE_PARM_DESC(autoexpo,		 "Enable/Disable auto exposure (default=1: enabled) (PC-CAM 600/Zc03xx/spca561a/Etoms Only !!!)");MODULE_PARM_DESC(debug,		 "Debug level: 0=none, 1=init/detection, 2=warning, 3=config/control, 4=function call, 5=max");MODULE_PARM_DESC(force_rgb, "Read RGB instead of BGR");MODULE_PARM_DESC(gamma, "gamma setting range 0 to 7 3-> gamma=1");MODULE_PARM_DESC(OffRed, "OffRed setting range -128 to 128");MODULE_PARM_DESC(OffBlue, "OffBlue setting range -128 to 128");MODULE_PARM_DESC(OffGreen, "OffGreen setting range -128 to 128");MODULE_PARM_DESC(GRed, "Gain Red setting range 0 to 512 /256 ");MODULE_PARM_DESC(GBlue, "Gain Blue setting range 0 to 512 /256 ");MODULE_PARM_DESC(GGreen, "Gain Green setting range 0 to 512 /256 ");#ifdef SPCA50X_ENABLE_COMPRESSIONMODULE_PARM_DESC(compress, "Turn on/off compression (not functional yet)");#endif				/* SPCA50X_ENABLE_COMPRESSION */MODULE_PARM_DESC(bright,		 "Initial brightness factor (0-255) not know by all webcams !!");MODULE_PARM_DESC(contrast,		 "Initial contrast factor (0-255) not know by all webcams !!");MODULE_PARM_DESC(min_bpp,		 "The minimal color depth that may be set (default 0)");MODULE_PARM_DESC(lum_level,		 "Luminance level for brightness autoadjustment (default 32)");MODULE_PARM_DESC(usbgrabber,		 "Is a usb grabber 0x0733:0x0430 ? (default 1) ");#ifdef SPCA5XX_ENABLE_REGISTERPLAYMODULE_PARM_DESC(RegAddress, "Register Address of PAC207");MODULE_PARM_DESC(RegValue, "Register Value for PAC207");MODULE_PARM_DESC(RegStrobe,		 "Strobe to read or write a register 1=write, 2=read");#endif				/* SPCA5XX_ENABLE_REGISTERPLAY *//****************/MODULE_AUTHOR    ("Michel Xhaard <mxhaard@users.sourceforge.net> based on spca50x driver by Joel Crisp <cydergoth@users.sourceforge.net>,ov511 driver by Mark McClelland <mwm@i.am>");MODULE_DESCRIPTION("SPCA5XX USB Camera Driver");MODULE_LICENSE("GPL");static int spca50x_move_data(struct usb_spca50x *spca50x, struct urb *urb);static struct usb_driver spca5xx_driver;#ifndef maxstatic inline int max(int a, int b){    return (a > b) ? a : b;}#endif				/* max *//********************************************************************** * List of known SPCA50X-based cameras **********************************************************************//* Camera type jpeg yuvy yyuv yuyv grey gbrg*/static struct palette_list Plist[] = {    {JPEG, "JPEG"},    {JPGH, "JPEG"},    {JPGC, "JPEG"},    {JPGS, "JPEG"},    {JPGM, "JPEG"},    {YUVY, "YUVY"},    {YYUV, "YYUV"},    {YUYV, "YUYV"},    {GREY, "GREY"},    {GBRG, "GBRG"},    {SN9C, "SN9C"},    {GBGR, "GBGR"},    {S561, "S561"},    {PGBRG, "GBRG"},    {-1, NULL}};static struct bridge_list Blist[] = {    {BRIDGE_SPCA505, "SPCA505"},    {BRIDGE_SPCA506, "SPCA506"},    {BRIDGE_SPCA501, "SPCA501"},    {BRIDGE_SPCA508, "SPCA508"},    {BRIDGE_SPCA504, "SPCA504"},    {BRIDGE_SPCA500, "SPCA500"},    {BRIDGE_SPCA504B, "SPCA504B"},    {BRIDGE_SPCA533, "SPCA533"},    {BRIDGE_SPCA504C, "SPCA504C"},    {BRIDGE_SPCA561, "SPCA561"},    {BRIDGE_SPCA536, "SPCA536"},    {BRIDGE_SONIX, "SN9C102"},    {BRIDGE_ZC3XX, "ZC301-2"},    {BRIDGE_CX11646, "CX11646"},    {BRIDGE_TV8532, "TV8532"},    {BRIDGE_ETOMS, "ET61XX51"},    {BRIDGE_SN9CXXX, "SN9CXXX"},    {BRIDGE_MR97311, "MR97311"},    {BRIDGE_PAC207, "PAC207BCA"},    {-1, NULL}};enum {    UnknownCamera = 0,		// 0    IntelPCCameraPro,    IntelCreateAndShare,    GrandtecVcap,    ViewQuestM318B,    ViewQuestVQ110,    KodakDVC325,    MustekGsmartMini2,    MustekGsmartMini3,    CreativePCCam300,    DLinkDSC350,		// 10    CreativePCCam600,    IntelPocketPCCamera,    IntelEasyPCCamera,    ThreeComHomeConnectLite,    KodakEZ200,    MaxellMaxPocket,    AiptekMiniPenCam2,    AiptekPocketDVII,    AiptekPenCamSD,    AiptekMiniPenCam13,		// 20    MustekGsmartLCD3,    MustekMDC5500Z,    MegapixV4,    AiptekPocketDV,    HamaUSBSightcam,    Arowana300KCMOSCamera,    MystFromOriUnknownCamera,    AiptekPocketDV3100,    AiptekPocketCam3M,    GeniusVideoCAMExpressV2,	// 30    Flexcam100Camera,    MustekGsmartLCD2,    PureDigitalDakota,    PetCam,    BenqDC1500,    LogitechClickSmart420,    LogitechClickSmart510,    BenqDC1300,    HamaUSBSightcam2,    MustekDV3000,		// 40    CreativePccam750,    MaxellCompactPM3,    BenqDC3410,    BenqDC1016,    MicroInnovationIC200,    LogitechTraveler,    Flycam100Camera,    UsbGrabberPV321c,    ADSInstantVCD,    Gsmartmini,			// 50    Jenoptikjdc21lcd,    LogitechClickSmart310,    Terratec2move13,    MustekDV4000,    AiptekDV3500,    LogitechClickSmart820,    Enigma13,    Sonix6025,    Epsilon13,    Nxultra,			//60    AiptekPocketCam2M,    DeMonUSBCapture,    CreativeVista,    PolaroidPDC2030,    CreativeNotebook,    CreativeMobile,    LabtecPro,    MustekWcam300A,    GeniusVideoCamV2,    GeniusVideoCamV3,    GeniusVideoCamExpressV2b,    CreativeNxPro,    Sonix6029,			//73 74 75    Vimicro,    Digitrex2110,    GsmartD30,    CreativeNxPro2,    Bs888e,    Zc302,    CreativeNoteBook2,    AiptekSlim3200,		/* 83 84 85 */    LabtecWebcam,    QCExpress,    ICM532cam,    MustekGsmart300,    CreativeLive,		//90    MercuryDigital,    Wcam300A,    CreativeVista3b,    VeoStingray1,    VeoStingray2,    TyphoonWebshotIIUSB300k,	//96    PolaroidPDC3070,    QCExpressEtch2,    QCforNotebook,    QCim,			//100

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品视频中文字幕| 国产在线一区二区| 国产精品视频九色porn| 久久婷婷综合激情| 久久久美女毛片| 精品国产91亚洲一区二区三区婷婷| 欧美片网站yy| 欧美大片在线观看| 亚洲精品在线观| 2023国产精品视频| 亚洲国产精品国自产拍av| 国产日韩欧美综合一区| 欧美国产日韩亚洲一区| 亚洲国产精品av| 亚洲婷婷综合色高清在线| 中文字幕日本乱码精品影院| 亚洲私人黄色宅男| 亚洲在线观看免费视频| 视频一区在线播放| 激情图片小说一区| 懂色av一区二区夜夜嗨| 色综合夜色一区| 欧美日韩高清一区二区| www国产精品av| 亚洲欧美电影一区二区| 视频一区国产视频| 国产激情视频一区二区三区欧美| 国产成a人无v码亚洲福利| 97久久精品人人爽人人爽蜜臀| 99久久综合狠狠综合久久| 欧美日韩一区二区在线观看视频 | 99久久国产综合色|国产精品| 成人网在线免费视频| 丰满放荡岳乱妇91ww| 色欧美片视频在线观看在线视频| 911精品国产一区二区在线| 欧美精品一区二区高清在线观看| 中文字幕日韩一区二区| 久久精品国产第一区二区三区| 国产成人aaa| 欧美日韩国产高清一区二区三区| 久久女同精品一区二区| 亚洲欧美欧美一区二区三区| 喷水一区二区三区| 91在线一区二区三区| 日韩欧美视频在线 | 97成人超碰视| 欧美一区二区三区性视频| 中文字幕一区二区三区视频| 麻豆免费看一区二区三区| 91在线视频官网| 久久久夜色精品亚洲| 一区二区三区精品在线观看| 国产麻豆一精品一av一免费 | 欧美一区二区在线播放| 亚洲欧美一区二区在线观看| 久久国产日韩欧美精品| 欧美日韩国产中文| 亚洲精品久久7777| 成人黄页毛片网站| 久久一区二区三区四区| 亚洲一区二区三区视频在线 | 亚洲国产美女搞黄色| 丁香天五香天堂综合| 亚洲精品在线一区二区| 性感美女久久精品| 欧美性色黄大片| 亚洲人成在线观看一区二区| 成人av电影观看| 欧美激情自拍偷拍| 国产成人免费视频| 国产网红主播福利一区二区| 国产综合色精品一区二区三区| 日韩精品专区在线| 美日韩一区二区| 欧美一级电影网站| 蜜臀91精品一区二区三区| 91精品国产一区二区三区| 亚洲成人自拍一区| 91精品国产综合久久久蜜臀粉嫩| 性久久久久久久久| 日韩一区二区三区视频| 日本免费新一区视频| 日韩欧美一级精品久久| 美国毛片一区二区三区| 精品国产亚洲在线| 丁香婷婷综合激情五月色| 国产精品私房写真福利视频| 99在线视频精品| 夜夜揉揉日日人人青青一国产精品 | 欧美绝品在线观看成人午夜影视| 午夜国产精品一区| 亚洲欧洲色图综合| 91麻豆福利精品推荐| 一级特黄大欧美久久久| 欧美巨大另类极品videosbest | 国产午夜亚洲精品理论片色戒| 国产在线一区观看| 亚洲色图制服诱惑| 51精品视频一区二区三区| 久久99九九99精品| 国产精品久久久久婷婷二区次| 色久优优欧美色久优优| 午夜精品一区二区三区电影天堂 | 九色综合狠狠综合久久| 国产免费观看久久| 欧美色大人视频| 久久激五月天综合精品| 成人欧美一区二区三区小说| 欧美日韩高清一区二区三区| 国内精品写真在线观看| 亚洲欧美另类久久久精品2019| 欧美一区二区在线免费观看| 国产a精品视频| 亚洲一区二区精品3399| 精品国产免费人成电影在线观看四季| 国产丶欧美丶日本不卡视频| 亚洲一区二区三区在线| 精品久久久久一区| 在线观看免费一区| 国产成人精品亚洲777人妖| 午夜精品久久久久久不卡8050| 国产亚洲欧洲一区高清在线观看| 在线观看一区二区视频| 国内精品国产成人国产三级粉色| 亚洲精品久久7777| 精品99999| 欧美一区二区三区视频免费 | 国产成都精品91一区二区三| 午夜av一区二区三区| 成人免费在线视频| 亚洲免费毛片网站| 2023国产精华国产精品| 欧美日韩国产一区二区三区地区| 成人午夜视频网站| 久久99精品久久只有精品| 伊人色综合久久天天人手人婷| 欧美激情一区二区三区不卡 | 国产精品国产三级国产专播品爱网 | 国产一区二区主播在线| 亚洲123区在线观看| 亚洲精品国产高清久久伦理二区| 国产视频视频一区| 久久综合中文字幕| 精品三级在线观看| 欧美一级一区二区| 国产乱码精品1区2区3区| 国产麻豆日韩欧美久久| 日本午夜精品视频在线观看| 亚洲图片有声小说| 亚洲高清三级视频| 一区二区激情小说| 亚洲一区二区不卡免费| 亚洲欧美偷拍另类a∨色屁股| 亚洲国产高清不卡| 亚洲国产高清aⅴ视频| 中文字幕国产一区| 国产精品久久精品日日| 中文字幕色av一区二区三区| 国产精品成人免费| 一区二区三区四区不卡在线 | 欧美精品在欧美一区二区少妇| 色婷婷精品大视频在线蜜桃视频| av一本久道久久综合久久鬼色| 成人在线视频一区二区| 成人动漫一区二区| 色哟哟一区二区在线观看| 91国内精品野花午夜精品| 欧美吞精做爰啪啪高潮| 91精品国模一区二区三区| 欧美电影免费观看高清完整版在线观看 | 日韩一级在线观看| 精品捆绑美女sm三区| 久久久久久麻豆| 国产精品系列在线| 夜夜嗨av一区二区三区中文字幕 | 久久精工是国产品牌吗| 国产成人av电影免费在线观看| 99久久国产免费看| 欧美乱熟臀69xxxxxx| 日韩免费电影一区| 国产精品电影一区二区三区| 亚洲成人先锋电影| 国产成人激情av| 欧美亚洲综合久久| 久久伊人蜜桃av一区二区| 亚洲靠逼com| 久久99精品久久久| 91小视频免费看| 日韩三级在线免费观看| 国产精品丝袜一区| 亚瑟在线精品视频| 波多野结衣欧美| 制服丝袜日韩国产| 亚洲天堂网中文字| 国产揄拍国内精品对白| 欧美伊人精品成人久久综合97| 日韩欧美成人一区| 亚洲一线二线三线视频| 激情都市一区二区|