91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 18KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-10
  • 語言: 其他
  • 標(biāo)簽: v4l2??

資源簡介

參考博客地址:http://blog.csdn.net/fendoubasaonian 環(huán)境: 1、一個支持MJPG格式的usb攝像頭 2、支持V4L2的linux環(huán)境 實現(xiàn): 1、從攝像頭讀取一幀MJPG圖片 2、將MJPG圖片保存到本地

資源截圖

代碼片段和文件信息

/*
?*??V4L2?video?capture?example
?*
?*??This?program?can?be?used?and?distributed?without?restrictions.
?*/

#include?
#include?
#include?
#include?


#include??????????????/*?getopt_long()?*/

#include???????????????/*?low-level?i/o?*/
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?

#include???????????/*?for?videodev2.h?*/

#include?

#define?CLEAR(x)?memset?(&(x)?0?sizeof?(x))

typedef?enum?{
????????IO_METHOD_READ
????????IO_METHOD_MMAP
????????IO_METHOD_USERPTR
}?io_method;

struct?buffer?{
????????void?*??????????????????start;
????????size_t??????????????????length;
};

static?char?*???????????dev_name????????=?NULL;
static?io_method????????io??????????????=?IO_METHOD_MMAP;
static?int??????????????fd??????????????=?-1;
struct?buffer?*?????????buffers?????????=?NULL;
static?unsigned?int?????n_buffers???????=?0;

static?void?errno_exit(const?char?*?s)
{
????????fprintf?(stderr?“%s?error?%d?%s\n“
?????????????????s?errno?strerror?(errno));

????????exit?(EXIT_FAILURE);
}

static?int?xioctl(int?fdint?requestvoid?*?arg)
{
????????int?r;

????????do?r?=?ioctl?(fd?request?arg);
????????while?(-1?==?r?&&?EINTR?==?errno);

????????return?r;
}

static?void?process_image(const?void?*?p)
{
????????fputc?(‘.‘?stdout);
????????fflush?(stdout);
}

//從內(nèi)核緩沖區(qū)取出一幀數(shù)據(jù)
static?int?read_frame(void)
{
//2015.12.12_18:33:zhou_add
// static?int?i?=?0;
//end

????????struct?v4l2_buffer?buf;
????????unsigned?int?i;

????????switch?(io)?
{
????????case?IO_METHOD_READ:
????????????????if?(-1?==?read?(fd?buffers[0].start?buffers[0].length))?
{
????????????????????????switch?(errno)?
{
????????????????????????case?EAGAIN:
????????????????????????????????return?0;

????????????????????????case?EIO:
????????????????????????????????/*?Could?ignore?EIO?see?spec.?*/

????????????????????????????????/*?fall?through?*/

????????????????????????default:
????????????????????????????????errno_exit?(“read“);
????????????????????????}
????????????????}

????????????????process_image?(buffers[0].start);


????????????????break;

????????case?IO_METHOD_MMAP:
????????????????CLEAR?(buf);

????????????????buf.type?=?V4L2_BUF_TYPE_VIDEO_CAPTURE;
????????????????buf.memory?=?V4L2_MEMORY_MMAP;
/*從內(nèi)核環(huán)形緩沖區(qū)取出一幀數(shù)據(jù)*/
????????????????if?(-1?==?xioctl?(fd?VIDIOC_DQBUF?&buf))?{
????????????????????????switch?(errno)?{
????????????????????????case?EAGAIN:
????????????????????????????????return?0;

????????????????????????case?EIO:
????????????????????????????????/*?Could?ignore?EIO?see?spec.?*/

????????????????????????????????/*?fall?through?*/

????????????????????????default:
????

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????20525??2015-12-13?20:08??v4l2.c
?????文件???????61593??2015-12-12?16:19??v4l2.h

評論

共有 條評論