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

📄 v4l2.h

📁 pxa270下的摄像头mtd91111的驱动
💻 H
字号:
/* * File: v4l2.h * * Description: *   Video for Linux Two Interface for OMAP Capture device. * *   This driver was highly leveraged from Bill Dirk's *   v4l2 example generic driver. Modified by RidgeRun *   to work with the omap1509 camera module. * *   Heavily modified again by MontaVista Software to work with *   OMAP 1510/1610/H2 Innovator platforms. * * Created 2002, Copyright (C) 2002 RidgeRun, Inc.  All rights reserved. * Created 2002, Copyright (C) 2002 Texas Instruments  All rights reserved. * Copyright (C) 2003-2004 MontaVista Software, Inc. All rights reserved. * * 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. * * Original Author: Bill Dirks <bdirks@pacbell.net> *                  based on code by Alan Cox, <alan@cymru.net> */struct capture_device;struct video_decoder {	int is_initialized;	int ntsc_hskip;	int ntsc_vskip;	int ntsc_width;	int ntsc_height;	int ntsc_field_order;	int pal_hskip;	int pal_vskip;	int pal_width;	int pal_height;	int pal_field_order;	int preferred_field;	int num_inputs;	int input;	__u32 standards;	__u32 standard;	__u32 frame_period;	int decoder_is_stable;	__u32 decoder_stable_time;	/*  Changable method functions helps us support multiple        */	/*  different types of video decoders easily                    */	int (*initialize) (struct capture_device * dev);	int (*set_input) (struct capture_device * dev, int x);	int (*set_standard) (struct capture_device * dev, int x);	int (*set_vcrmode) (struct capture_device * dev, int x);	int (*is_stable) (struct capture_device * dev);	int (*set_frame_period) (struct capture_device * dev, int fp);};struct video_source {	struct v4l2_input input;	struct v4l2_tuner tuner;	int vcrmode;};/*  Indices into the array of video_source's */#define VSOURCE_CAMERA   0#define VSOURCE_TEST     1//#define VSOURCE_TUNER  2#define VSOURCE_COUNT    2/*  Bus-master scatter list  */struct scatter_node {	__u32 addr;	__u32 len;};#define END_OF_SCATTER_LIST     0x80000000/*  Per-open data for handling multiple opens on one device */struct device_open {	int isopen;	int noncapturing;	struct capture_device *dev;};#define MAX_OPENS       3/*  Streaming data buffer  */struct stream_buffer {	struct v4l2_q_node qnode;	struct v4l2_buffer vidbuf;	int requested;	__u8 *vaddress;		/* vmalloc() */	struct scatter_node *dma_list;	/* get_free_page() */	int vma_refcount;};#define MAX_CAPTURE_BUFFERS     30#define MAX_LOCKED_MEMORY       2000000/* *      Capture device structure * *      One for each handled device in the system. *      This structure holds all the global information the driver *      needs about each device. */struct capture_device {	struct v4l2_device v;	/*  Must be first */	char shortname[16];	int is_registered;	int open_count;	struct device_open open_data[MAX_OPENS];	int capturing_opens;/*      Per-bus index number for each device    */	int index;/*      General type of device  */	int type;	struct tq_struct tqnode_dpc;	/* for Bottom Half routine *///        struct timer_list       tlnode;/* for polling interrupts */	wait_queue_head_t new_video_frame;	wait_queue_head_t fbinfo_wait;	/* Power Management Suspend/Resume stuff */	int suspended;	int resume_request;	int resume_thread_exit;	int resume_thread_pid;	wait_queue_head_t suspend_wq;	wait_queue_head_t resume_wq;	struct completion resume_thread_sync;	/*      Video decoder stuff             */	struct video_decoder videc;	struct video_source source[VSOURCE_COUNT];/*      Client capture format and capture modes */	struct v4l2_pix_format clientfmt;	struct v4l2_captureparm capture;	int input;		/* which video source is selected *//*      Hardware capture format  */	int capture_bypp;	int capture_size;	__u8 *capture_buffer;	/* vmalloc() */	int capture_buffer_size;	struct scatter_node *capture_dma_list;	/* get_free_page() *//*      Capture state   */	int ready_to_capture;	int capture_started;	int capture_completed;	unsigned long time_acquired;	/* millisecond time stamp */	int streaming;	struct stream_buffer stream_buf[MAX_CAPTURE_BUFFERS];	int stream_buffers_requested;	int stream_buffers_mapped;	int stream_contig_map;	struct v4l2_queue stream_q_capture;	struct v4l2_queue stream_q_done;	stamp_t stream_begin;	unsigned long stream_last_frame;	__u8 *stream_capture_buffer;/*      Performance statistics  */	struct v4l2_performance perf;	int preview;		// 1==preview on, 0==preview off.	/* The Camera Interface Hardware object */	struct camera_interface *camif;	/* The Camera object */	struct camera *camera;	int SwitchInputs;	// 1==user has requested different video input.	// info from framebuffer	struct fb_fix_screeninfo fbfix;	struct fb_var_screeninfo fbvar;	int fbinfo_valid;	/* frame counter for test images */	int h, m, s, f;};/*      Values for type field   */#define DEVICE_TYPE_0           0

⌨️ 快捷键说明

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