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

📄 ov511.txt

📁 《嵌入式系统设计与实例开发实验教材二源码》Linux内核移植与编译实验
💻 TXT
字号:
-------------------------------------------------------------------------------Readme for Linux device driver for the OmniVision OV511 USB to camera bridge IC-------------------------------------------------------------------------------Author: Mark McClellandHomepage: http://alpha.dyndns.org/ov511INTRODUCTION:This is a driver for the OV511, a USB-only chip used in many "webcam" devices.Any camera using the OV511/OV511+ and the OV6620/OV7610/20/20AE should work.Video capture devices that use the Philips SAA7111A decoder also work. It supports streaming and capture of color or monochrome video via the Video4LinuxAPI. Most V4L apps are compatible with it. Most resolutions with a width andheight that are a multiple of 8 are supported.If you need more information, please visit the OV511 homepage at the above URL.WHAT YOU NEED:- If you want to help with the development, get the chip's specification docs at  http://www.ovt.com/omniusbp.html- A Video4Linux compatible frame grabber program (I recommend vidcat and xawtv)    vidcat is part of the w3cam package:  http://www.hdk-berlin.de/~rasca/w3cam/    xawtv is available at:  http://www.in-berlin.de/User/kraxel/xawtv.htmlHOW TO USE IT:Note: These are simplified instructions. For complete instructions see:	http://alpha.dyndns.org/ov511/install.htmlYou must have first compiled USB support, support for your specific USB hostcontroller (UHCI or OHCI), and Video4Linux support for your kernel (I recommendmaking them modules.) Make sure "Enforce bandwidth allocation" is NOT enabled.Next, (as root):	modprobe usbcore	modprobe usb-uhci  <OR>  modprobe usb-ohci	modprobe videodev	modprobe ov511If it is not already there (it usually is), create the video device:	mknod /dev/video0 c 81 0Optionally, symlink /dev/video to /dev/video0You will have to set permissions on this device to allow you to read/writefrom it:	chmod 666 /dev/video	chmod 666 /dev/video0 (if necessary)	Now you are ready to run a video app! Both vidcat and xawtv work well for meat 640x480.	[Using vidcat:]	vidcat -s 640x480 -p c > test.jpg	xview test.jpg	[Using xawtv:]From the main xawtv directory:	make clean	./configure	make	make installNow you should be able to run xawtv. Right click for the options dialog. MODULE PARAMETERS:  You can set these with:  insmod ov511 NAME=VALUE  There is currently no way to set these on a per-camera basis.  NAME: autobright  TYPE: integer (Boolean)  DEFAULT: 1  DESC: Brightness is normally under automatic control and can't be set        manually by the video app. Set to 0 for manual control.  NAME: autogain  TYPE: integer (Boolean)  DEFAULT: 1  DESC: Auto Gain Control enable. This feature is not yet implemented.  NAME: autoexp  TYPE: integer (Boolean)  DEFAULT: 1  DESC: Auto Exposure Control enable. This feature is not yet implemented.  NAME: debug  TYPE: integer (0-6)  DEFAULT: 3  DESC: Sets the threshold for printing debug messages. The higher the value,        the more is printed. The levels are cumulative, and are as follows:          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  NAME: fix_rgb_offset  TYPE: integer (Boolean)  DEFAULT: 0  DESC: Some people have reported that the blue component of the image is one        or so lines higher than the red component. This is only apparent in         images with white objects on black backgrounds at 640x480. Setting this        to 1 will realign the color planes correctly. NOTE: You will likely        need a fast (500 MHz) CPU.  NAME: snapshot  TYPE: integer (Boolean)  DEFAULT: 0  DESC: Set to 1 to enable snapshot mode. read()/VIDIOCSYNC will block until	the snapshot button is pressed. Note: enabling this mode disables	/proc/video/ov511/<minor#>/button  NAME: force_rgb	(Deprecated; may be removed in the future)  TYPE: integer (Boolean)  DEFAULT: 0  DESC: 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. If        your colors look VERY wrong, you may want to change this.  NAME: buf_timeout  TYPE: integer  DEFAULT: 5 (seconds)  DESC: Number of seconds before unused frame buffers are deallocated.        Previously, memory was allocated upon open() and deallocated upon        close(). Deallocation now occurs only if the driver is closed and this        timeout is reached. If you are capturing frames less frequently than        the default timeout, increase this. This will not make any difference        with programs that capture multiple frames during an open/close cycle.  NAME: cams  TYPE: integer (1-4 for OV511, 1-31 for OV511+)  DEFAULT: 1  DESC: Number of cameras allowed to stream simultaneously on a single bus.        Values higher than 1 reduce the data rate of each camera, allowing two        or more to be used at once. If you have a complicated setup involving        both OV511 and OV511+ cameras, trial-and-error may be necessary for        finding the optimum setting.  NAME: compress  TYPE: integer (Boolean)  DEFAULT: 0  DESC: Set this to 1 to turn on the camera's compression engine. This can        potentially increase the frame rate at the expense of quality, if you        have a fast CPU. You must load the proper compression module for your        camera before starting your application (ov511_decomp or ov518_decomp).  NAME: testpat  TYPE: integer (Boolean)  DEFAULT: 0  DESC: This configures the camera's sensor to transmit a colored test-pattern        instead of an image. This does not work correctly yet.  NAME: sensor_gbr (*** TEMPORARILY DISABLED ***)  TYPE: integer (Boolean)  DEFAULT: 0  DESC: This makes the sensor output GBR422 instead of YUV420. This saves the        driver the trouble of converting YUV to RGB, but it currently does not        work very well (the colors are not quite right)  NAME: dumppix  TYPE: integer (0-2)  DEFAULT: 0  DESC: Dumps raw pixel data and skips post-processing and format conversion.	It is for debugging purposes only. Options are:		0: Disable (default)		1: Dump raw data from camera, excluding headers and trailers		2: Dumps data exactly as received from camera  NAME: led  TYPE: integer (0-2)  DEFAULT: 1 (Always on)  DESC: Controls whether the LED (the little light) on the front of the camera	is always off (0), always on (1), or only on when driver is open (2).	This is only supported with the OV511+ chipset, and even then only on	some cameras (ones that actually have the LED wired to the control pin,	and not just hardwired to be on all the time).  NAME: dump_bridge  TYPE: integer (Boolean)  DEFAULT: 0  DESC: Dumps the bridge (OV511[+] or OV518[+]) register values to the system	log. Only useful for serious debugging/development purposes.  NAME: dump_sensor  TYPE: integer (Boolean)  DEFAULT: 0  DESC: Dumps the sensor register values to the system log. Only useful for	serious debugging/development purposes.  NAME: printph  TYPE: integer (Boolean)  DEFAULT: 0  DESC: Setting this to 1 will dump the first 12 bytes of each isoc frame. This	is only useful if you are trying to debug problems with the isoc data	stream (i.e.: camera initializes, but vidcat hangs until Ctrl-C). Be	warned that this dumps a large number of messages to your kernel log.  NAME: phy, phuv, pvy, pvuv, qhy, qhuv, qvy, qvuv  TYPE: integer (0-63 for phy and phuv, 0-255 for rest)  DEFAULT: OV511 default values  DESC: These are registers 70h - 77h of the OV511, which control the	prediction ranges and quantization thresholds of the compressor, for	the Y and UV channels in the horizontal and vertical directions. See	the OV511 or OV511+ data sheet for more detailed descriptions. These	normally do not need to be changed.  NAME: lightfreq  TYPE: integer (0, 50, or 60)  DEFAULT: 0 (use sensor default)  DESC: Sets the sensor to match your lighting frequency. This can reduce the	appearance of "banding", i.e. horizontal lines or waves of light and	dark that are often caused by artificial lighting. Valid values are:		0 - Use default (depends on sensor, most likely 60 Hz)		50 - For European and Asian 50 Hz power		60 - For American 60 Hz power  NAME: bandingfilter  TYPE: integer (Boolean)  DEFAULT: 0 (off)  DESC: Enables the sensor磗 banding filter exposure algorithm. This reduces	or stabilizes the "banding" caused by some artificial light sources	(especially fluorescent). You might have to set lightfreq correctly for	this to work right. As an added bonus, this sometimes makes it	possible to capture your monitor磗 output.  NAME: fastset  TYPE: integer (Boolean)  DEFAULT: 0 (off)  DESC: Allows picture settings (brightness, contrast, color, and hue) to take	effect immediately, even in the middle of a frame. This reduces the	time to change settings, but can ruin frames during the change. Only	affects OmniVision sensors.  NAME: force_palette  TYPE: integer (Boolean)  DEFAULT: 0 (off)  DESC: Forces the palette (color format) to a specific value. If an	application requests a different palette, it will be rejected, thereby	forcing it to try others until it succeeds. This is useful for forcing	greyscale mode with a color camera, for example. Supported modes are:		0                           (Allows all the following formats)		1   VIDEO_PALETTE_GREY      (Linear greyscale)		3   VIDEO_PALETTE_RGB565    (565 16 bit RGB)		4   VIDEO_PALETTE_RGB24     (24bit RGB)		7   VIDEO_PALETTE_YUV422    (YUV422 capture)		8   VIDEO_PALETTE_YUYV      (YUV422 capture; same as 7)		10  VIDEO_PALETTE_YUV420    (YUV 4:2:0 Planar)		13  VIDEO_PALETTE_YUV422P   (YUV 4:2:2 Planar)		15  VIDEO_PALETTE_YUV420P   (YUV 4:2:0 Planar, same as 10)  NAME: tuner  TYPE: integer  DEFAULT: -1 (autodetect)  DESC: This sets the exact type of the tuner module in a device. This is set	automatically based on the custom ID of the OV511 device. In cases	where this fails, you can override this auto-detection. Please see	linux/drivers/media/video/tuner.h for a complete list.  NAME: backlight  TYPE: integer (Boolean)  DEFAULT: 0 (off)  DESC: Setting this flag changes the exposure algorithm for OmniVision sensors	such that objects in the camera's view (i.e. your head) can be clearly	seen when they are illuminated from behind. It reduces or eliminates	the sensor's auto-exposure function, so it should only be used when	needed. Additionally, it is only supported with the OV6620 and OV7620.  NAME: unit_video  TYPE: Up to 16 comma-separated integers  DEFAULT: 0,0,0... (automatically assign the next available minor(s))  DESC: You can specify up to 16 minor numbers to be assigned to ov511 devices.	For example, "unit_video=1,3" will make the driver use /dev/video1 and	/dev/video3 for the first two devices it detects. Additional devices	will be assigned automatically starting at the first available device	node (/dev/video0 in this case). Note that you cannot specify 0 as a	minor number. This feature requires kernel version 2.4.5 or higher.  NAME: remove_zeros  TYPE: integer (Boolean)  DEFAULT: 0 (do not skip any incoming data)  DESC: Setting this to 1 will remove zero-padding from incoming data. This	will compensate for the blocks of corruption that can appear when the	camera cannot keep up with the speed of the USB bus (eg. at low frame	resolutions). This feature is always enabled when compression is on. WORKING FEATURES: o Color streaming/capture at most widths and heights that are multiples of 8. o RGB24, RGB565, YUV420/YUV420P, YUV422/YUYV, and YUV422P color o Monochrome (use force_palette=1 to enable) o Setting/getting of saturation, contrast, brightness, and hue (only some of   them work the OV7620 and OV7620AE) o /proc status reporting o SAA7111A video capture support at 320x240 and 640x480 o Compression supportEXPERIMENTAL FEATURES: o OV6630 sensor support o Banding filter o SMP compatibilityTO-DO: o V4L2 support (This will be done after the next kernel patch release) o Setting of hue not working with OV7620 o Setting of contrast and hue not working with OV7620AE o OV8600 sensor support (Not used in anything yet) o OV518/OV518+ support (all that's needed is the decompressor) o cams >= 3 not workingHOW TO CONTACT ME:You can email me at mmcclell@bigfoot.com . Please prefix the subject linewith "OV511: " so that I am certain to notice your message.CREDITS:The code is based in no small part on the CPiA driver by Johannes Erdfelt,Randy Dunlap, and others. Big thanks to them for their pioneering work on thatand the USB stack. Thanks to Bret Wallach for getting camera reg IO, ISOC, andimage capture working. Thanks to Orion Sky Lawlor, Kevin Moore, and ClaudioMatsuoka for their work as well.

⌨️ 快捷键说明

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