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

  • 大小: 12KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-08
  • 語言: 其他
  • 標簽: tiny4412??qtopia??v4l2??

資源簡介

友善tiny 4412上面打開USB攝像頭,并獲得數據??梢灾苯釉趖iny 4412上面進行使用。

資源截圖

代碼片段和文件信息

#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?int?WIDTH?=?320;
static?int?HEIGHT?=?240;



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);
}

static?int?read_frame?(void)
{
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;
if?(-1?==?xioctl?(fd?VIDIOC_DQBUF?&buf))?{
switch?(errno)?{
case?EAGAIN:
return?0;
case?EIO:
/*?Could?ignore?EIO?see?spec.?*/
/*?fall?through?*/
default:
errno_exit?(“VIDIOC_DQBUF“);
}
}
assert?(buf.index? process_image?(buffers[buf.index].start);
if?(-1?==?xioctl?(fd?VIDIOC_QBUF?&buf))
errno_exit?(“VIDIOC_QBUF“);
break;
case?IO_METHOD_USERPTR:
CLEAR?(buf);
buf.type?=?V4L2_BUF_TYPE_VIDEO_CAPTURE;
buf.memory?=?V4L2_MEMORY_USERPTR;
if?(-1?==?xioctl?(fd?VIDIOC_DQBUF?&buf))?{
switch?(errno)?{
case?EAGAIN:
return?0;
case?EIO:
/*?Could?ignore?EIO?see?spec.?*/
/*?fall?through?*/
default:
errno_exit?(“VIDIOC_DQBUF“);
}
}
for?(i?=?0;?i? if?(buf.m.userptr?==?(unsigned?long)?buffers[i].start?&&?buf.length?==?buffers[i].length)
break;
assert?(i? process_image?((void?*)?buf.m.userptr);
if?(-1?==?xioctl?(fd?VIDIOC_QBUF?&buf))
errno_exit?(“VIDIOC_QBUF“);
break;
}
return?1;
}
static?void?mainloop?(void)
{
unsigned?int?count;
count?=?1000;
while?(count--?>?0)?{
for?(;;)?{
fd_set?fds;
struct?timeval?tv;
int?r;
FD_ZERO?(&fds);

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-01-03?11:39??my_v4l2\
?????文件?????????205??2014-01-03?11:38??my_v4l2\buildarm.sh
?????文件?????????203??2014-01-03?11:38??my_v4l2\buildhost.sh
?????文件???????12261??2014-01-03?11:38??my_v4l2\camera.c
?????文件?????????114??2014-01-03?11:38??my_v4l2\main.cpp
?????文件????????4775??2014-01-03?11:38??my_v4l2\main_form.cpp
?????文件?????????419??2014-01-03?11:38??my_v4l2\main_form.h
?????文件?????????691??2014-01-03?11:38??my_v4l2\main_form_base.ui
?????文件?????????218??2014-01-03?11:38??my_v4l2\myv4l2.desktop
?????文件????????2061??2014-01-03?11:38??my_v4l2\myv4l2.png
?????文件?????????170??2014-01-03?11:38??my_v4l2\myv4l2.pro
?????文件????????6345??2014-01-03?11:38??my_v4l2\v4l2.cpp
?????文件?????????846??2014-01-03?11:38??my_v4l2\v4l2.h

評論

共有 條評論