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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ipu_still.c

?? LINUX下的ov2640驅(qū)動(dòng)程序
?? C
字號(hào):
/* * Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. *//* * The code contained herein is licensed under the GNU General Public * License. You may obtain a copy of the GNU General Public License * Version 2 or later at the following locations: * * http://www.opensource.org/licenses/gpl-license.html * http://www.gnu.org/copyleft/gpl.html *//*! * @file ipu_still.c * * @brief IPU Use case for still image capture * * @ingroup IPU */#include <asm/semaphore.h>#include "mxc_v4l2_capture.h"#include <asm/arch/ipu.h>#include "ipu_prp_sw.h"static int callback_flag;/* * Function definitions *//*! * CSI EOF callback function. * * @param irq       int irq line * @param dev_id    void * device id * * @return status   IRQ_HANDLED for handled */static irqreturn_tprp_csi_eof_callback(int irq, void *dev_id){	if (callback_flag == 2) {		ipu_select_buffer(CSI_MEM, IPU_OUTPUT_BUFFER, 0);		ipu_enable_channel(CSI_MEM);	}	callback_flag++;	return IRQ_HANDLED;}/*! * CSI callback function. * * @param irq       int irq line * @param dev_id    void * device id * * @return status   IRQ_HANDLED for handled */static irqreturn_tprp_still_callback(int irq, void *dev_id){	cam_data *cam = (cam_data *) dev_id;	cam->still_counter++;	wake_up_interruptible(&cam->still_queue);	return IRQ_HANDLED;}/*! * start csi->mem task * @param private       struct cam_data * mxc capture instance * * @return  status */static int prp_still_start(void *private){	cam_data *cam = (cam_data *) private;	u32 pixel_fmt;	int err;	if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_YUV420)		pixel_fmt = IPU_PIX_FMT_YUV420P;	else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_YUV422P)		pixel_fmt = IPU_PIX_FMT_YUV422P;	else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_UYVY)		pixel_fmt = IPU_PIX_FMT_UYVY;	else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_BGR24)		pixel_fmt = IPU_PIX_FMT_BGR24;	else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_RGB24)		pixel_fmt = IPU_PIX_FMT_RGB24;	else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_RGB565)		pixel_fmt = IPU_PIX_FMT_RGB565;	else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_BGR32)		pixel_fmt = IPU_PIX_FMT_BGR32;	else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_RGB32)		pixel_fmt = IPU_PIX_FMT_RGB32;	else {		printk(KERN_ERR "format not supported\n");		return -EINVAL;	}	/* ipu_uninit_channel(CSI_MEM); */	err = ipu_init_channel(CSI_MEM, NULL);	if (err != 0)		return err;	ipu_csi_enable_mclk(CSI_MCLK_RAW, true, true);	err = ipu_init_channel_buffer(CSI_MEM, IPU_OUTPUT_BUFFER,				      pixel_fmt, cam->v2f.fmt.pix.width,				      cam->v2f.fmt.pix.height,				      cam->v2f.fmt.pix.width, IPU_ROTATE_NONE,				      cam->still_buf, 0, 0, 0);	if (err != 0)		return err;	err = ipu_request_irq(IPU_IRQ_SENSOR_OUT_EOF, prp_still_callback,			      0, "Mxc Camera", cam);	if (err != 0) {		printk(KERN_ERR "Error registering irq.\n");		return err;	}	callback_flag = 0;	err = ipu_request_irq(IPU_IRQ_SENSOR_EOF, prp_csi_eof_callback,			      0, "Mxc Camera", NULL);	if (err != 0) {		printk(KERN_ERR "Error IPU_IRQ_SENSOR_EOF \n");		return err;	}	return err;}/*! * stop csi->mem encoder task * @param private       struct cam_data * mxc capture instance * * @return  status */static int prp_still_stop(void *private){	cam_data *cam = (cam_data *) private;	int err = 0;	ipu_free_irq(IPU_IRQ_SENSOR_EOF, NULL);	ipu_free_irq(IPU_IRQ_SENSOR_OUT_EOF, cam);	ipu_uninit_channel(CSI_MEM);	ipu_disable_channel(CSI_MEM, true);	ipu_csi_enable_mclk(CSI_MCLK_RAW, false, false);	return err;}/*! * function to select CSI_MEM as the working path * * @param private       struct cam_data * mxc capture instance * * @return  status */int prp_still_select(void *private){	cam_data *cam = (cam_data *) private;	if (cam) {		cam->csi_start = prp_still_start;		cam->csi_stop = prp_still_stop;	}	return 0;}/*! * function to de-select CSI_MEM as the working path * * @param private       struct cam_data * mxc capture instance * * @return  status */int prp_still_deselect(void *private){	cam_data *cam = (cam_data *) private;	int err = 0;	err = prp_still_stop(cam);	if (cam) {		cam->csi_start = NULL;		cam->csi_stop = NULL;	}	return err;}/*! * Init the Encorder channels * * @return  Error code indicating success or failure */__init int prp_still_init(void){	return 0;}/*! * Deinit the Encorder channels * */void __exit prp_still_exit(void){}module_init(prp_still_init);module_exit(prp_still_exit);EXPORT_SYMBOL(prp_still_select);EXPORT_SYMBOL(prp_still_deselect);MODULE_AUTHOR("Freescale Semiconductor, Inc.");MODULE_DESCRIPTION("IPU PRP STILL IMAGE Driver");MODULE_LICENSE("GPL");

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人免费视频| 北条麻妃国产九九精品视频| 亚洲美女淫视频| 亚洲一区成人在线| 久久不见久久见中文字幕免费| 麻豆久久一区二区| 91免费观看视频| wwwwww.欧美系列| 国产精品久久久久毛片软件| 亚洲国产精品欧美一二99| 国产黑丝在线一区二区三区| 欧美区在线观看| 日本一区二区动态图| 一区二区三区不卡在线观看| 国产麻豆精品95视频| 欧美日韩国产123区| 免费高清在线一区| 在线精品视频小说1| 国产精品久久久久久久岛一牛影视| 91色在线porny| 午夜精品成人在线视频| 色哟哟国产精品免费观看| 久久久久久久网| 午夜精品一区二区三区电影天堂| 在线播放欧美女士性生活| 国产精品久久久久久久久免费丝袜 | 全部av―极品视觉盛宴亚洲| 精品国产制服丝袜高跟| 偷拍与自拍一区| 久久亚洲一区二区三区明星换脸| 欧美精品少妇一区二区三区| 免费高清不卡av| 国产精品久久国产精麻豆99网站| 欧美裸体bbwbbwbbw| 韩国av一区二区| 日韩你懂的在线观看| 亚洲成av人**亚洲成av**| 久久久噜噜噜久噜久久综合| 色噜噜狠狠一区二区三区果冻| 亚洲国产精品激情在线观看| 欧美精品99久久久**| 国产成人av电影| 国产农村妇女毛片精品久久麻豆 | 日韩毛片在线免费观看| 国产精品影视网| 国产欧美日韩久久| 欧美日韩的一区二区| 国产馆精品极品| 男人操女人的视频在线观看欧美| 亚洲视频一区二区免费在线观看 | 91精品久久久久久久久99蜜臂| 午夜天堂影视香蕉久久| 中文字幕在线观看不卡视频| 成人免费观看av| 国产精品久久久久久久久免费相片 | 成人欧美一区二区三区白人| 日韩视频一区二区三区 | 日韩视频一区在线观看| 在线视频观看一区| av激情综合网| 福利一区二区在线观看| 免费在线欧美视频| 亚洲国产精品一区二区久久恐怖片| 中文字幕电影一区| 国产日产欧美一区二区视频| 欧美tickling挠脚心丨vk| 国产成人鲁色资源国产91色综| 蜜桃视频在线观看一区二区| 亚洲综合一二三区| 一区二区三区视频在线观看| 亚洲三级电影网站| 成人欧美一区二区三区在线播放| 国产日本欧美一区二区| 久久久久久久电影| 国产视频一区二区在线| 欧洲色大大久久| 91国在线观看| 色悠悠久久综合| 在线精品视频一区二区| 色94色欧美sute亚洲线路二| 在线视频亚洲一区| 欧美日韩一区在线观看| 国内精品伊人久久久久av影院| 秋霞午夜av一区二区三区| 免费在线观看一区| 久久国产麻豆精品| 国产精品18久久久久久久久久久久 | 国产精品国产三级国产aⅴ无密码| 国产午夜精品美女毛片视频| 国产欧美一二三区| 欧美激情一区二区| 亚洲人成在线观看一区二区| 综合欧美一区二区三区| 一区二区三区四区激情| 亚洲国产成人精品视频| 日韩精品高清不卡| 日韩码欧中文字| 亚洲制服丝袜av| 水野朝阳av一区二区三区| 青青草国产精品亚洲专区无| 国产一区二区精品久久91| 福利视频网站一区二区三区| 色噜噜狠狠成人中文综合| 欧美区一区二区三区| 精品乱码亚洲一区二区不卡| 中文字幕第一区| 亚洲激情在线激情| 国产精品女主播在线观看| 欧美成人精品二区三区99精品| 2020国产成人综合网| 国产精品入口麻豆九色| 亚洲无人区一区| 青草av.久久免费一区| 成人精品视频一区二区三区尤物| 色天使色偷偷av一区二区| 日韩一级免费一区| 国产精品乱码一区二三区小蝌蚪| 尤物av一区二区| 麻豆精品久久久| 激情欧美日韩一区二区| 欧美视频一区二区在线观看| 亚洲美女淫视频| 国产精品久久免费看| 91精品国产一区二区人妖| 97久久超碰国产精品电影| 91在线无精精品入口| 在线免费观看视频一区| 日韩写真欧美这视频| 亚洲天堂精品在线观看| 九九精品一区二区| 亚洲成av人片www| 福利一区福利二区| 91精品啪在线观看国产60岁| 1区2区3区精品视频| 蜜臀精品久久久久久蜜臀| 色综合天天在线| 色婷婷综合在线| 26uuu国产电影一区二区| 一个色在线综合| 波多野结衣的一区二区三区| 精品国产一区二区亚洲人成毛片| 一区二区三区四区精品在线视频| 国产精品综合一区二区三区| 欧美日本一区二区三区| 91浏览器在线视频| 日韩欧美一级二级三级久久久| 精品国产99国产精品| 亚洲国产欧美一区二区三区丁香婷| 国产精品99久久久久久似苏梦涵 | 精品国产一区二区三区不卡| 一区二区三区91| 成a人片亚洲日本久久| 波多野结衣亚洲一区| 日韩精品一区二区三区四区| 亚洲国产精品久久久久婷婷884| 成人激情小说网站| 国产欧美日韩不卡| 国产iv一区二区三区| 亚洲精品一区二区三区蜜桃下载| 天天综合色天天| 欧美性大战久久久| 亚洲精品ww久久久久久p站| 成人精品高清在线| 国产精品美女久久久久久久网站| 国产福利精品导航| 26uuu另类欧美亚洲曰本| 看电视剧不卡顿的网站| 91精品国产综合久久福利软件| 亚洲国产日韩av| 欧美性一二三区| 亚洲成a人片在线观看中文| 欧美午夜一区二区三区| 亚洲综合小说图片| 欧美群妇大交群的观看方式| 日韩国产精品久久久久久亚洲| 国产精品主播直播| 国产日韩欧美高清在线| 成人午夜视频网站| 国产精品传媒视频| 91国产精品成人| 亚洲成a人片综合在线| 欧美一级在线视频| 国产一区在线精品| 中文字幕不卡在线| 色综合网色综合| 亚洲成人精品在线观看| 欧美一区二区视频在线观看2022| 蜜桃传媒麻豆第一区在线观看| 精品国产第一区二区三区观看体验| 激情av综合网| 国产欧美日韩精品a在线观看| 99久久精品国产精品久久| 亚洲一区二区三区小说| 欧美一卡二卡在线观看| 粉嫩aⅴ一区二区三区四区| 亚洲精品乱码久久久久久日本蜜臀| 欧美色偷偷大香| 久久国产精品第一页| 国产精品高潮呻吟| 欧美日韩激情一区|