#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include <linux/videodev2.h>
#include "rgb133v4l2.h"
Defines | |
#define | NUM_INPUTS 1 |
#define | DEVICE_OFFSET 0 |
Functions | |
int | main (int argc, char *argv[]) |
#define DEVICE_OFFSET 0 |
#define NUM_INPUTS 1 |
int main | ( | int | argc, | |
char * | argv[] | |||
) |
00019 { 00020 int fd = 0; 00021 int i = 0; 00022 struct v4l2_streamparm parms; 00023 00024 char device_name[128]; 00025 00026 memset(device_name, 0, 128); 00027 00028 for(i=0; i<NUM_INPUTS; i++) 00029 { 00030 sprintf(device_name, "/dev/video%d", i+DEVICE_OFFSET); 00031 printf("\n\nDevice: %s\n", device_name); 00032 fd = open(device_name, O_RDWR); 00033 if(fd < 0) 00034 { 00035 printf("Failed to open device: %s\n", device_name); 00036 exit(0); 00037 } 00038 00039 memset (&parms, 0, sizeof(struct v4l2_streamparm)); 00040 parms.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; 00041 if(ioctl(fd, VIDIOC_G_PARM, &parms) < 0) 00042 { 00043 perror("Failed to get capture streaming parms: "); 00044 close(fd); 00045 exit(0); 00046 } 00047 00048 printf("Capability(0x%x) Mode(0x%x) Timeperframe(%u/%u)\n", 00049 parms.parm.capture.capability, 00050 parms.parm.capture.capturemode, 00051 parms.parm.capture.timeperframe.numerator, 00052 parms.parm.capture.timeperframe.denominator); 00053 00054 memset (&parms, 0, sizeof(struct v4l2_streamparm)); 00055 parms.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; 00056 parms.parm.capture.timeperframe.numerator = 1001; 00057 parms.parm.capture.timeperframe.denominator = 60000; 00058 00059 printf("Set Timeperframe(%u/%u)\n", 00060 parms.parm.capture.timeperframe.numerator, 00061 parms.parm.capture.timeperframe.denominator); 00062 00063 if(ioctl(fd, VIDIOC_S_PARM, &parms) < 0) 00064 { 00065 perror("Failed to set capture streaming parms: "); 00066 close(fd); 00067 exit(0); 00068 } 00069 00070 memset (&parms, 0, sizeof(struct v4l2_streamparm)); 00071 parms.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; 00072 if(ioctl(fd, VIDIOC_G_PARM, &parms) < 0) 00073 { 00074 perror("Failed to get capture streaming parms: "); 00075 close(fd); 00076 exit(0); 00077 } 00078 00079 printf("Capability(0x%x) Mode(0x%x) Timeperframe(%u/%u)\n", 00080 parms.parm.capture.capability, 00081 parms.parm.capture.capturemode, 00082 parms.parm.capture.timeperframe.numerator, 00083 parms.parm.capture.timeperframe.denominator); 00084 00085 close(fd); 00086 } 00087 00088 return 0; 00089 }