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

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

資源簡介

net_camera.rar

資源截圖

代碼片段和文件信息

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include?“camera.h“


struct?v4l2_buffer?buf;
VideoBuffer?*buffers;

Mybuffer?mybuffer;

//初始化mybuffer;

void?init_mybuffer()
{
pthread_rwlock_init(&(mybuffer.rwlock)NULL);
mybuffer.date?=?(unsigned?char?*)calloc(1(buffers[0].length)*sizeof(unsigned?char));
mybuffer.len?=?buffers[0].length;
}

//釋放mybuffer
void?free_mybuffer()
{
pthread_rwlock_destroy(&(mybuffer.rwlock));
free(mybuffer.date);
}

//打開設(shè)備
int?myopen(const?char?*pathint?type)
{
int?fd;
if((fd?=?open(pathtype))<0)
{
fprintf(stderr“open?err:%s\n“strerror(errno));
exit(1);
}
return?fd;
}

//查看設(shè)備的功能
void?out_capability(int?fd)
{
struct?v4l2_capability?capa;
capa_info?info;
memset(&info0sizeof(capa_info));
memset(&capa0sizeof(struct?v4l2_capability));
if(ioctl(fdVIDIOC_QUERYCAP&capa)<0)
{
fprintf(stderr“out?capability:%s\n“strerror(errno));
exit(1);
}
strcpy(info.drivercapa.driver);
strcpy(info.cardcapa.card);
strcpy(info.bus_infocapa.bus_info);
info.version?=?(unsigned?int)capa.version;

printf(“dirver:?%s\n“info.driver);
printf(“card:?%s\n“info.card);
printf(“bus_info:?%s\n“info.bus_info);
printf(“version:?%d\n“info.version);
}

//設(shè)置幀的格式
void?set_format(int?fd)
{
struct v4l2_format?fmt;
memset(&fmt0sizeof(struct?v4l2_format));
fmt.type?=?V4L2_BUF_TYPE_VIDEO_CAPTURE;
fmt.fmt.pix.field?=?V4L2_FIELD_ANY;
fmt.fmt.pix.width?=?WIDTH;
fmt.fmt.pix.height?=?HEIGHT;
fmt.fmt.pix.pixelformat?=?MJPEG;
if(ioctl(fdVIDIOC_S_FMT&fmt)<0)
{
fprintf(stderr“set?format?error:%s\n“strerror(errno));
exit(1);
}
}

//設(shè)置流類型相關(guān)參數(shù)
void?set_parm(int?fd)
{
struct?v4l2_streamparm?parm;
memset(&parm0sizeof(struct?v4l2_streamparm));
parm.type?=?V4L2_BUF_TYPE_VIDEO_CAPTURE;
parm.parm.capture.timeperframe.numerator?=?1;
parm.parm.capture.timeperframe.denominator?=?FPS;
if(ioctl(fdVIDIOC_S_PARM&parm)<0)
{
fprintf(stderr“set?streamparm?error:%s\n“strerror(errno));
exit(1);
}
}

//獲取并向驅(qū)動(dòng)申請(qǐng)幀緩沖
void?query_Buffer(int?fd)
{
struct?v4l2_requestbuffers?req;
memset(&req0sizeof(struct?v4l2_requestbuffers));
//分配內(nèi)存
req.count?=?NB_BUFFER;
req.type?=?V4L2_BUF_TYPE_VIDEO_CAPTURE;
req.memory?=?V4L2_MEMORY_MMAP;
if(ioctl(fdVIDIOC_REQBUFS&req)<0)
{
fprintf(stderr“reqbufs?error:%s\n“strerror(errno));
exit(1);
}

buffers?=?(VideoBuffer?*)calloc(req.count
sizeof(VideoBuffer));?
int?numBufs;

for(numBufs?=?0;numBufs {
memset(&buf0sizeof(struct?v4l2_buffer));
buf.type?=?V4L2_BUF_TYPE_VIDEO_CAPTURE;
buf.index?=?numBufs;
buf.memory?=?V4L2_MEMORY_MMAP;
//讀取緩存
????if(ioctl(fdVIDIOC_QUERYBUF&buf)<0)
{
fprintf(stderr“querybuf:%s\n“strerror(errno));
exit(1);
}
buffers[numBufs].length?=?buf.length;
// printf(“buffers[0].length:%d\n“buffers[numBufs].length);
//轉(zhuǎn)換成相對(duì)地

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件??????20099??2007-03-13?15:07??net_camera\bin\camera

?????文件??????12039??2007-03-13?14:09??net_camera\bin\test

?????文件????????870??2007-03-13?15:07??net_camera\include\camera.h

?????文件???????5701??2007-01-21?01:40??net_camera\include\huffman.h

?????文件????????318??2007-01-21?01:40??net_camera\include\print.h

?????文件???????5632??2007-03-13?15:07??net_camera\src\camera.c

?????文件???????1237??2007-01-21?01:40??net_camera\src\print.c

?????文件???????2593??2007-03-13?09:09??net_camera\src\server.c

?????文件????????458??2007-03-13?09:32??net_camera\src\test.c

?????文件???????4837??2007-03-13?14:37??net_camera\src\th_server.c

?????文件???????5589??2007-03-13?13:03??net_camera\test.jpeg

?????目錄??????????0??2011-03-22?16:16??net_camera\bin

?????目錄??????????0??2011-03-22?16:16??net_camera\include

?????目錄??????????0??2011-03-22?16:16??net_camera\src

?????目錄??????????0??2011-03-22?16:16??net_camera

-----------?---------??----------?-----??----

????????????????59373????????????????????15


評(píng)論

共有 條評(píng)論