src/v4l2uvc.c:	memset(&vd->cap, 0, sizeof(struct v4l2_capability));
src/v4l2uvc.c:	if ( ioctl(vd->fd, VIDIOC_QUERYCAP, &vd->cap) < 0 ) 
src/v4l2uvc.c:	if ( ( vd->cap.capabilities & V4L2_CAP_VIDEO_CAPTURE ) == 0) 
src/v4l2uvc.c:				vd->videodevice);
src/v4l2uvc.c:	if (vd->grabmethod) 
src/v4l2uvc.c:		if (!(vd->cap.capabilities & V4L2_CAP_STREAMING)) 
src/v4l2uvc.c:				vd->videodevice);
src/v4l2uvc.c:		if (!(vd->cap.capabilities & V4L2_CAP_READWRITE)) 
src/v4l2uvc.c:				vd->videodevice);
src/v4l2uvc.c:	g_printf("Init. %s (location: %s)\n", vd->cap.card, vd->cap.bus_info);
src/v4l2uvc.c:	vd->listFormats = enum_frame_formats( &(vd->width), &(vd->height), vd->fd);
src/v4l2uvc.c:	if(!(vd->listFormats->listVidFormats))
src/v4l2uvc.c:		g_printerr("Couldn't detect any supported formats on your device (%i)\n", vd->listFormats->numb_formats);
src/v4l2uvc.c:			if(munmap(vd->mem[i],vd->buf.length)<0) perror("couldn't unmap buff");
src/v4l2uvc.c:		memset(&vd->buf, 0, sizeof(struct v4l2_buffer));
src/v4l2uvc.c:		vd->buf.index = i;
src/v4l2uvc.c:		vd->buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
src/v4l2uvc.c:		vd->buf.flags = V4L2_BUF_FLAG_TIMECODE;
src/v4l2uvc.c:		vd->buf.timecode = vd->timecode;
src/v4l2uvc.c:		vd->buf.timestamp.tv_sec = 0;//get frame as soon as possible
src/v4l2uvc.c:		vd->buf.timestamp.tv_usec = 0;
src/v4l2uvc.c:		vd->buf.memory = V4L2_MEMORY_MMAP;
src/v4l2uvc.c:		ret = ioctl(vd->fd, VIDIOC_QUERYBUF, &vd->buf);
src/v4l2uvc.c:		if (vd->buf.length <= 0) 
src/v4l2uvc.c:					       vd->buf.length);
src/v4l2uvc.c:		vd->mem[i] = mmap( 0, // start anywhere
src/v4l2uvc.c:			  vd->buf.length, PROT_READ, MAP_SHARED, vd->fd,
src/v4l2uvc.c:			  vd->buf.m.offset);
src/v4l2uvc.c:		if (vd->mem[i] == MAP_FAILED) 
src/v4l2uvc.c:		memset(&vd->buf, 0, sizeof(struct v4l2_buffer));
src/v4l2uvc.c:		vd->buf.index = i;
src/v4l2uvc.c:		vd->buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
src/v4l2uvc.c:		vd->buf.flags = V4L2_BUF_FLAG_TIMECODE;
src/v4l2uvc.c:		vd->buf.timecode = vd->timecode;
src/v4l2uvc.c:		vd->buf.timestamp.tv_sec = 0;//get frame as soon as possible
src/v4l2uvc.c:		vd->buf.timestamp.tv_usec = 0;
src/v4l2uvc.c:		vd->buf.memory = V4L2_MEMORY_MMAP;
src/v4l2uvc.c:		ret = ioctl(vd->fd, VIDIOC_QBUF, &vd->buf);
src/v4l2uvc.c:	g_printf("checking format: %i\n", vd->formatIn);
src/v4l2uvc.c:	if ((ret=check_SupPixFormat(vd->formatIn)) < 0)
src/v4l2uvc.c:		g_printerr("Format unavailable: %d.\n",vd->formatIn);
src/v4l2uvc.c:	vd->fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
src/v4l2uvc.c:	vd->fmt.fmt.pix.width = vd->width;
src/v4l2uvc.c:	vd->fmt.fmt.pix.height = vd->height;
src/v4l2uvc.c:	vd->fmt.fmt.pix.pixelformat = vd->formatIn;
src/v4l2uvc.c:	vd->fmt.fmt.pix.field = V4L2_FIELD_ANY;
src/v4l2uvc.c:	ret = ioctl(vd->fd, VIDIOC_S_FMT, &vd->fmt);
src/v4l2uvc.c:	if ((vd->fmt.fmt.pix.width != vd->width) ||
src/v4l2uvc.c:		(vd->fmt.fmt.pix.height != vd->height)) 
src/v4l2uvc.c:		vd->fmt.fmt.pix.width, vd->fmt.fmt.pix.height);
src/v4l2uvc.c:		vd->width = vd->fmt.fmt.pix.width;
src/v4l2uvc.c:		vd->height = vd->fmt.fmt.pix.height;
src/v4l2uvc.c:	vd->streamparm.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
src/v4l2uvc.c:	vd->streamparm.parm.capture.timeperframe.numerator = vd->fps_num;
src/v4l2uvc.c:	vd->streamparm.parm.capture.timeperframe.denominator = vd->fps;
src/v4l2uvc.c:	ret = ioctl(vd->fd,VIDIOC_S_PARM,&vd->streamparm);
src/v4l2uvc.c:		g_printerr("Unable to set %d fps\n",vd->fps);
src/v4l2uvc.c:	memset(&vd->rb, 0, sizeof(struct v4l2_requestbuffers));
src/v4l2uvc.c:	vd->rb.count = NB_BUFFER;
src/v4l2uvc.c:	vd->rb.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
src/v4l2uvc.c:	vd->rb.memory = V4L2_MEMORY_MMAP;
src/v4l2uvc.c:	ret = ioctl(vd->fd, VIDIOC_REQBUFS, &vd->rb);
src/v4l2uvc.c:	vd->mutex = g_mutex_new();
src/v4l2uvc.c:	vd->videodevice = NULL;
src/v4l2uvc.c:	vd->videodevice = g_strdup(device);
src/v4l2uvc.c:	g_printf("video device: %s \n", vd->videodevice);
src/v4l2uvc.c:	vd->capVid = FALSE;
src/v4l2uvc.c:	vd->VidCapStop=TRUE;
src/v4l2uvc.c:	vd->VidFName = g_strdup(DEFAULT_AVI_FNAME);
src/v4l2uvc.c:	vd->fps = fps;
src/v4l2uvc.c:	vd->fps_num = fps_num;
src/v4l2uvc.c:	vd->signalquit = 1;
src/v4l2uvc.c:	vd->PanTilt=0;
src/v4l2uvc.c:	vd->isbayer = 0; //bayer mode off
src/v4l2uvc.c:	vd->pix_order=0; // pix order for bayer mode def: gbgbgb..|rgrgrg..
src/v4l2uvc.c:	vd->setFPS=0;
src/v4l2uvc.c:	vd->width = width;
src/v4l2uvc.c:	vd->height = height;
src/v4l2uvc.c:	vd->formatIn = format;
src/v4l2uvc.c:	vd->grabmethod = grabmethod;
src/v4l2uvc.c:	vd->capImage=FALSE;
src/v4l2uvc.c:	vd->cap_raw=0;
src/v4l2uvc.c:	vd->ImageFName = g_strdup(DEFAULT_IMAGE_FNAME);
src/v4l2uvc.c:	vd->timecode.type = V4L2_TC_TYPE_25FPS;
src/v4l2uvc.c:	vd->timecode.flags = V4L2_TC_FLAG_DROPFRAME;
src/v4l2uvc.c:	vd->available_exp[0]=-1;
src/v4l2uvc.c:	vd->available_exp[1]=-1;
src/v4l2uvc.c:	vd->available_exp[2]=-1;
src/v4l2uvc.c:	vd->available_exp[3]=-1;
src/v4l2uvc.c:	vd->tmpbuffer = NULL;
src/v4l2uvc.c:	vd->framebuffer = NULL;
src/v4l2uvc.c:	vd->listDevices = enum_devices( vd->videodevice );
src/v4l2uvc.c:	if (vd->listDevices != NULL)
src/v4l2uvc.c:		if(!(vd->listDevices->listVidDevices))
src/v4l2uvc.c:			g_printerr("unable to detect video devices on your system (%i)\n", vd->listDevices->num_devices);
src/v4l2uvc.c:	if (vd->fd <=0 ) //open device
src/v4l2uvc.c:		if ((vd->fd = open(vd->videodevice, O_RDWR )) == -1) 
src/v4l2uvc.c:	memset(&vd->fmt, 0, sizeof(struct v4l2_format));
src/v4l2uvc.c:		vd->framesizeIn = (vd->width * vd->height << 1); //2 bytes per pixel
src/v4l2uvc.c:		switch (vd->formatIn) 
src/v4l2uvc.c:				tmpbuf_size= vd->framesizeIn;
src/v4l2uvc.c:				vd->tmpbuffer = g_new0(unsigned char, tmpbuf_size);
src/v4l2uvc.c:				framebuf_size = vd->width * (vd->height + 8) * 2;
src/v4l2uvc.c:				vd->framebuffer = g_new0(unsigned char, framebuf_size); 
src/v4l2uvc.c:				tmpbuf_size= vd->framesizeIn;
src/v4l2uvc.c:				vd->tmpbuffer = g_new0(unsigned char, tmpbuf_size);
src/v4l2uvc.c:				framebuf_size = vd->framesizeIn;
src/v4l2uvc.c:				vd->framebuffer = g_new0(unsigned char, framebuf_size);
src/v4l2uvc.c:				framebuf_size = vd->framesizeIn;
src/v4l2uvc.c:				vd->framebuffer = g_new0(unsigned char, framebuf_size);
src/v4l2uvc.c:				//    rgb2yuyv(RGB24_data, vd->framebuffer, width, height)
src/v4l2uvc.c:				tmpbuf_size = vd->width * vd->height * 3;
src/v4l2uvc.c:				vd->tmpbuffer = g_new0(unsigned char, tmpbuf_size);
src/v4l2uvc.c:				framebuf_size = vd->framesizeIn;
src/v4l2uvc.c:				vd->framebuffer = g_new0(unsigned char, framebuf_size);
src/v4l2uvc.c:		if ((!vd->framebuffer) || (framebuf_size <=0)) 
src/v4l2uvc.c:			switch (vd->formatIn) {
src/v4l2uvc.c:						vd->framebuffer[i]=0x00;  //Y
src/v4l2uvc.c:						vd->framebuffer[i+1]=0x80;//U
src/v4l2uvc.c:						vd->framebuffer[i+2]=0x00;//Y
src/v4l2uvc.c:						vd->framebuffer[i+3]=0x80;//V
src/v4l2uvc.c:	g_free(vd->framebuffer);
src/v4l2uvc.c:	g_free(vd->tmpbuffer);
src/v4l2uvc.c:	close(vd->fd);
src/v4l2uvc.c:	vd->fd=0;
src/v4l2uvc.c:	g_free(vd->videodevice);
src/v4l2uvc.c:	g_free(vd->VidFName);
src/v4l2uvc.c:	g_free(vd->ImageFName);
src/v4l2uvc.c:	g_mutex_free( vd->mutex );
src/v4l2uvc.c:	ret = ioctl(vd->fd, VIDIOC_STREAMON, &type);
src/v4l2uvc.c:	vd->isstreaming = 1;
src/v4l2uvc.c:	ret = ioctl(vd->fd, VIDIOC_STREAMOFF, &type);
src/v4l2uvc.c:		if(errno == 9) vd->isstreaming = 0;/*capture as allready stoped*/
src/v4l2uvc.c:	vd->isstreaming = 0;
src/v4l2uvc.c:	if (!vd->isstreaming)
src/v4l2uvc.c:	FD_SET(vd->fd, &rdset);
src/v4l2uvc.c:	ret = select(vd->fd + 1, &rdset, NULL, NULL, &timeout);
src/v4l2uvc.c:	else if ((ret > 0) && (FD_ISSET(vd->fd, &rdset))) 
src/v4l2uvc.c:		memset(&vd->buf, 0, sizeof(struct v4l2_buffer));
src/v4l2uvc.c:		vd->buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
src/v4l2uvc.c:		vd->buf.memory = V4L2_MEMORY_MMAP;
src/v4l2uvc.c:		ret = ioctl(vd->fd, VIDIOC_DQBUF, &vd->buf);
src/v4l2uvc.c:	if (vd->cap_raw>0) 
src/v4l2uvc.c:		if (vd->buf.bytesused > vd->framesizeIn)
src/v4l2uvc.c:			SaveBuff (vd->ImageFName,vd->buf.bytesused,vd->mem[vd->buf.index]);
src/v4l2uvc.c:			SaveBuff (vd->ImageFName,vd->framesizeIn,vd->mem[vd->buf.index]);
src/v4l2uvc.c:		vd->cap_raw=0;
src/v4l2uvc.c:	switch (vd->formatIn) 
src/v4l2uvc.c:			if(vd->buf.bytesused <= HEADERFRAME1) 
src/v4l2uvc.c:			memcpy(vd->tmpbuffer, vd->mem[vd->buf.index],vd->buf.bytesused);
src/v4l2uvc.c:			if (jpeg_decode(&vd->framebuffer, vd->tmpbuffer, &vd->width,
src/v4l2uvc.c:				&vd->height) < 0) 
src/v4l2uvc.c:			memcpy(vd->tmpbuffer, vd->mem[vd->buf.index],vd->buf.bytesused);
src/v4l2uvc.c:			uyvy_to_yuyv(vd->framebuffer, vd->tmpbuffer, vd->width, vd->height);
src/v4l2uvc.c:			memcpy(vd->tmpbuffer, vd->mem[vd->buf.index],vd->buf.bytesused);
src/v4l2uvc.c:			yvyu_to_yuyv(vd->framebuffer, vd->tmpbuffer, vd->width, vd->height);
src/v4l2uvc.c:			memcpy(vd->tmpbuffer, vd->mem[vd->buf.index],vd->buf.bytesused);
src/v4l2uvc.c:			yyuv_to_yuyv(vd->framebuffer, vd->tmpbuffer, vd->width, vd->height);
src/v4l2uvc.c:			memcpy(vd->tmpbuffer, vd->mem[vd->buf.index],vd->buf.bytesused);
src/v4l2uvc.c:			if (yuv420_to_yuyv(vd->framebuffer, vd->tmpbuffer, vd->width,
src/v4l2uvc.c:				vd->height) < 0) 
src/v4l2uvc.c:			memcpy(vd->tmpbuffer, vd->mem[vd->buf.index],vd->buf.bytesused);
src/v4l2uvc.c:			if (yvu420_to_yuyv(vd->framebuffer, vd->tmpbuffer, vd->width,
src/v4l2uvc.c:				vd->height) < 0) 
src/v4l2uvc.c:			if(vd->isbayer>0) 
src/v4l2uvc.c:				if (!(vd->tmpbuffer)) 
src/v4l2uvc.c:					vd->tmpbuffer = g_new0(unsigned char, 
src/v4l2uvc.c:						vd->width * vd->height * 3);
src/v4l2uvc.c:				bayer_to_rgb24 (vd->mem[vd->buf.index],vd->tmpbuffer,vd->width,vd->height, vd->pix_order);
src/v4l2uvc.c:				rgb2yuyv (vd->tmpbuffer,vd->framebuffer,vd->width,vd->height);
src/v4l2uvc.c:				if (vd->buf.bytesused > vd->framesizeIn)
src/v4l2uvc.c:					memcpy(vd->framebuffer, vd->mem[vd->buf.index],
src/v4l2uvc.c:						(size_t) vd->framesizeIn);
src/v4l2uvc.c:					memcpy(vd->framebuffer, vd->mem[vd->buf.index],
src/v4l2uvc.c:						(size_t) vd->buf.bytesused);
src/v4l2uvc.c:			bayer_to_rgb24 (vd->mem[vd->buf.index],vd->tmpbuffer,vd->width,vd->height, 0);
src/v4l2uvc.c:			rgb2yuyv (vd->tmpbuffer,vd->framebuffer,vd->width,vd->height);
src/v4l2uvc.c:			bayer_to_rgb24 (vd->mem[vd->buf.index],vd->tmpbuffer,vd->width,vd->height, 1);
src/v4l2uvc.c:			rgb2yuyv (vd->tmpbuffer,vd->framebuffer,vd->width,vd->height);
src/v4l2uvc.c:			bayer_to_rgb24 (vd->mem[vd->buf.index],vd->tmpbuffer,vd->width,vd->height, 2);
src/v4l2uvc.c:			rgb2yuyv (vd->tmpbuffer,vd->framebuffer,vd->width,vd->height);
src/v4l2uvc.c:			bayer_to_rgb24 (vd->mem[vd->buf.index],vd->tmpbuffer,vd->width,vd->height, 3);
src/v4l2uvc.c:			rgb2yuyv (vd->tmpbuffer,vd->framebuffer,vd->width,vd->height);
src/v4l2uvc.c:			g_printerr("error grabbing (v4l2uvc.c) unknown format: %i\n", vd->formatIn);
src/v4l2uvc.c:	if(vd->setFPS) 
src/v4l2uvc.c:		vd->setFPS=0;
src/v4l2uvc.c:		ret = ioctl(vd->fd, VIDIOC_QBUF, &vd->buf);
src/v4l2uvc.c:	vd->signalquit = 0;
src/v4l2uvc.c:	if (vd->isstreaming) video_disable(vd);
src/v4l2uvc.c:	g_free(vd->tmpbuffer);
src/v4l2uvc.c:	g_free(vd->framebuffer);
src/v4l2uvc.c:	g_free(vd->videodevice);
src/v4l2uvc.c:	g_free(vd->ImageFName);
src/v4l2uvc.c:	g_free(vd->VidFName);
src/v4l2uvc.c:	freeFormats(vd->listFormats);
src/v4l2uvc.c:		if((vd->mem[i] != MAP_FAILED) && vd->buf.length)
src/v4l2uvc.c:			if(munmap(vd->mem[i],vd->buf.length)<0) 
src/v4l2uvc.c:	vd->videodevice = NULL;
src/v4l2uvc.c:	vd->tmpbuffer = NULL;
src/v4l2uvc.c:	vd->framebuffer = NULL;
src/v4l2uvc.c:	vd->ImageFName = NULL;
src/v4l2uvc.c:	vd->VidFName = NULL;
src/v4l2uvc.c:	freeDevices(vd->listDevices);
src/v4l2uvc.c:	g_printf("close device fd:%d\n", vd->fd);
src/v4l2uvc.c:	if (close(vd->fd) < 0) perror("Error closing video device");
src/v4l2uvc.c:	g_mutex_free( vd->mutex );
