]> rtime.felk.cvut.cz Git - v4l-streaming.git/commitdiff
Initial commit master
authorAles Zikmund <zikmua1@fel.cvut.cz>
Tue, 27 Jan 2009 16:44:29 +0000 (17:44 +0100)
committerAles Zikmund <zikmua1@fel.cvut.cz>
Tue, 27 Jan 2009 16:44:29 +0000 (17:44 +0100)
76 files changed:
Makefile [new file with mode: 0644]
READ_ME.txt [new file with mode: 0644]
camv4l.c [new file with mode: 0644]
camv4l.h [new file with mode: 0644]
doc/doxygen [new file with mode: 0644]
doc/html/annotated.html [new file with mode: 0644]
doc/html/camv4l_8c-source.html [new file with mode: 0644]
doc/html/camv4l_8c.html [new file with mode: 0644]
doc/html/camv4l_8c__incl.dot [new file with mode: 0644]
doc/html/camv4l_8c__incl.md5 [new file with mode: 0644]
doc/html/camv4l_8h-source.html [new file with mode: 0644]
doc/html/camv4l_8h.html [new file with mode: 0644]
doc/html/camv4l_8h__dep__incl.dot [new file with mode: 0644]
doc/html/camv4l_8h__dep__incl.md5 [new file with mode: 0644]
doc/html/camv4l_8h__incl.dot [new file with mode: 0644]
doc/html/camv4l_8h__incl.md5 [new file with mode: 0644]
doc/html/doxygen.css [new file with mode: 0644]
doc/html/doxygen.png [new file with mode: 0644]
doc/html/files.html [new file with mode: 0644]
doc/html/ftv2blank.png [new file with mode: 0644]
doc/html/ftv2doc.png [new file with mode: 0644]
doc/html/ftv2folderclosed.png [new file with mode: 0644]
doc/html/ftv2folderopen.png [new file with mode: 0644]
doc/html/ftv2lastnode.png [new file with mode: 0644]
doc/html/ftv2link.png [new file with mode: 0644]
doc/html/ftv2mlastnode.png [new file with mode: 0644]
doc/html/ftv2mnode.png [new file with mode: 0644]
doc/html/ftv2node.png [new file with mode: 0644]
doc/html/ftv2plastnode.png [new file with mode: 0644]
doc/html/ftv2pnode.png [new file with mode: 0644]
doc/html/ftv2vertline.png [new file with mode: 0644]
doc/html/functions.html [new file with mode: 0644]
doc/html/functions_vars.html [new file with mode: 0644]
doc/html/globals.html [new file with mode: 0644]
doc/html/globals_defs.html [new file with mode: 0644]
doc/html/globals_enum.html [new file with mode: 0644]
doc/html/globals_eval.html [new file with mode: 0644]
doc/html/globals_func.html [new file with mode: 0644]
doc/html/globals_vars.html [new file with mode: 0644]
doc/html/grab__mpeg_8c-source.html [new file with mode: 0644]
doc/html/grab__mpeg_8c.html [new file with mode: 0644]
doc/html/grab__mpeg_8c__incl.dot [new file with mode: 0644]
doc/html/grab__mpeg_8c__incl.md5 [new file with mode: 0644]
doc/html/graph_legend.dot [new file with mode: 0644]
doc/html/graph_legend.html [new file with mode: 0644]
doc/html/group__common.html [new file with mode: 0644]
doc/html/index.html [new file with mode: 0644]
doc/html/main.html [new file with mode: 0644]
doc/html/modules.html [new file with mode: 0644]
doc/html/structvdIn.html [new file with mode: 0644]
doc/html/tab_b.gif [new file with mode: 0644]
doc/html/tab_l.gif [new file with mode: 0644]
doc/html/tab_r.gif [new file with mode: 0644]
doc/html/tabs.css [new file with mode: 0644]
doc/html/tree.html [new file with mode: 0644]
doc/latex/FreeSans.ttf [new file with mode: 0644]
doc/latex/Makefile [new file with mode: 0644]
doc/latex/annotated.tex [new file with mode: 0644]
doc/latex/camv4l_8c.tex [new file with mode: 0644]
doc/latex/camv4l_8c__incl.dot [new file with mode: 0644]
doc/latex/camv4l_8c__incl.md5 [new file with mode: 0644]
doc/latex/camv4l_8h.tex [new file with mode: 0644]
doc/latex/camv4l_8h__dep__incl.dot [new file with mode: 0644]
doc/latex/camv4l_8h__dep__incl.md5 [new file with mode: 0644]
doc/latex/camv4l_8h__incl.dot [new file with mode: 0644]
doc/latex/camv4l_8h__incl.md5 [new file with mode: 0644]
doc/latex/doxygen.sty [new file with mode: 0644]
doc/latex/files.tex [new file with mode: 0644]
doc/latex/grab__mpeg_8c.tex [new file with mode: 0644]
doc/latex/grab__mpeg_8c__incl.dot [new file with mode: 0644]
doc/latex/grab__mpeg_8c__incl.md5 [new file with mode: 0644]
doc/latex/group__common.tex [new file with mode: 0644]
doc/latex/modules.tex [new file with mode: 0644]
doc/latex/refman.tex [new file with mode: 0644]
doc/latex/structvdIn.tex [new file with mode: 0644]
grab_mpeg.c [new file with mode: 0644]

diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..12aa287
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,14 @@
+# překladač C
+CC=gcc
+# nepovinný parametr, míra optimalizace
+CFLAGS=-O2
+
+test: cam
+       $(CC) -Wall $(CFLAGS) -lpthread -lavutil -lavformat -lavcodec -lz -lavutil -lm camv4l.o grab_mpeg.c -o grab_mpeg
+
+cam:
+       $(CC) -Wall $(CFLAGS) camv4l.c -c
+
+clean:
+       rm grab_mpeg
+       rm camv4l.o
diff --git a/READ_ME.txt b/READ_ME.txt
new file mode 100644 (file)
index 0000000..364e328
--- /dev/null
@@ -0,0 +1,52 @@
+
+This File serves as instruction to compile the grab application.
+
+
+REQUIREMENTS
+
+       driver:
+               ov51x-jpeg-1.5.9
+
+
+       library: 
+               - ffmpeg  library
+               - avcodec library
+               - avformat library
+
+       You must download packages :
+               ffmpeg
+               libavcodec
+               libavdevice
+               libavformat
+       
+       and their header files:
+               libavcodec-dev
+               libavdevice-dev
+               libavformat-dev
+                       
+       
+
+INSTALL
+       
+       1.change directory to the "grab_ap"
+       2.make
+       
+
+BEFORE RUN APPLICATION
+
+       Application has two switches:
+
+               '-d'  specify video device  e.g "-d /dev/video1". Defualt is "/dev/video0"
+               '-f'    specify frame count "-f 5000". Default is 300.
+
+RUN 
+
+       Examples:
+
+               ./grab_mpeg    ->   then will be captured 300 frames on the device "/dev/video0"
+               ./grab_mpeg -f 5000 -d /dev/video1      ->  then will be captured 5000 frames on the device "/dev/video1"
+
+
+DELETE BINARY FILE
+
+       make clean
diff --git a/camv4l.c b/camv4l.c
new file mode 100644 (file)
index 0000000..cd9a495
--- /dev/null
+++ b/camv4l.c
@@ -0,0 +1,517 @@
+#include "camv4l.h"
+/**
+ *  \file  camv4l.c
+ *
+ *  \brief This file implement function.
+ * 
+ */
+
+///Definitions
+int PAL[] ={VIDEO_PALETTE_YUV420P,VIDEO_PALETTE_RGB565,VIDEO_PALETTE_RGB24,VIDEO_PALETTE_RGB32};
+
+#define LEN_PALLETE    4
+
+int SIZE[] = { 640,480,384,288,352,288,320,240,192,144,176,144,160,120 };
+
+
+static int GetVideoPict (struct vdIn *vd);
+
+static int SetVideoPict (struct vdIn *vd);
+
+static int GetDepth ( int format);
+
+static int probePalette ( struct vdIn *vd );
+
+static int probeSize ( struct vdIn *vd );      
+
+
+int init_v4l (struct vdIn *vd)
+{
+       int f;
+       int erreur = 0;
+
+       if ((vd->fd = open (vd->videodevice, O_RDWR)) == -1){
+      perror ("ERROR opening V4L interface \n");
+      exit (1);
+       }
+       if (ioctl (vd->fd, VIDIOCGCAP, &(vd->videocap)) == -1){
+      printf ("wrong device\n");
+      exit (1);
+       }
+       printf ("Camera found: %s \n", vd->videocap.name);
+       snprintf (vd->cameraname, 32, "%s", vd->videocap.name);
+       
+       erreur = GetVideoPict (vd);
+       vd->formatIn = vd->videopict.palette;
+       vd->bppIn = vd->videopict.depth;
+       vd->flipUV = 0;
+  
+  /* To Compute the estimate frame size perhaps not need !!! 
+  if ((vd->bppIn = GetDepth (vd->formatIn)) < 0)
+    {
+      perror ("getdepth  failed \n");
+      exit (1);
+    }
+   */
+       if (ioctl (vd->fd, VIDIOCGCHAN, &vd->videochan) == -1){
+      printf ("did not support Video_channel\n");
+      vd->cameratype = UNKNOW;
+   } else {
+      printf ("Bridge found: %s \n", vd->videochan.name);
+      snprintf (vd->bridge, 9, "%s", vd->videochan.name);
+      vd->cameratype = UNKNOW;// GetStreamId (vd->videochan.name);
+       }
+       
+       if (vd->cameratype == UNKNOW){
+       /* process others cams default parameters should be set */
+               printf ("StreamId: %d Unknow Camera\n", vd->cameratype);
+               printf("Probe Pallete\n");
+               if (probePalette (vd ) < 0) {
+                       printf ("Sorry cannot probe Palette for that Unknow Camera\n");
+                       exit (0);
+               }
+               printf("Probe Size\n");
+               if (probeSize (vd ) < 0) {
+                       printf ("Sorry cannot probe Size for that Unknow Camera\n");
+                       exit (0);
+               }
+       } else {
+               printf("Find camera with supported bridge\n");
+       }
+
+       /**********************************************************/
+       /*          alloc the frame buffer to read                */
+       vd->framesizeIn = (vd->hdrwidth * vd->hdrheight * (vd->bppIn >> 3));
+       /***************************            *******************/
+       if (vd->grabMethod){
+      printf (" grabbing method default MMAP asked \n");
+      // MMAP VIDEO acquisition
+      memset (&(vd->videombuf), 0, sizeof (vd->videombuf));
+      if (ioctl (vd->fd, VIDIOCGMBUF, &(vd->videombuf)) < 0){
+                       perror (" init VIDIOCGMBUF FAILED\n");
+               }
+      
+               printf ("VIDIOCGMBUF size %d  frames %d  offets[0]=%d offsets[1]=%d\n",
+               vd->videombuf.size, vd->videombuf.frames,
+               vd->videombuf.offsets[0], vd->videombuf.offsets[1]);
+
+      vd->pFramebuffer = (unsigned char *) mmap (0, vd->videombuf.size, PROT_READ | PROT_WRITE,MAP_SHARED, vd->fd, 0);
+      vd->mmapsize = vd->videombuf.size;
+      vd->vmmap.height = vd->hdrheight;
+      vd->vmmap.width = vd->hdrwidth;
+      vd->vmmap.format = vd->formatIn;
+
+               for (f = 0; f < vd->videombuf.frames; f++){
+                       vd->vmmap.frame = f;
+                       if (ioctl (vd->fd, VIDIOCMCAPTURE, &(vd->vmmap))){
+                     perror ("cmcapture");
+                       }
+               }
+               vd->vmmap.frame = 0;
+               
+       } else {
+      /* read method */
+               printf (" grabbing method READ asked \n");
+      if (ioctl (vd->fd, VIDIOCGWIN, &(vd->videowin)) < 0){
+                       perror ("VIDIOCGWIN failed \n");
+               }
+      
+               vd->videowin.height = vd->hdrheight;
+      vd->videowin.width = vd->hdrwidth;
+      
+               if (ioctl (vd->fd, VIDIOCSWIN, &(vd->videowin)) < 0){
+                       perror ("VIDIOCSWIN failed \n");
+               }
+      printf ("VIDIOCSWIN height %d  width %d \n", vd->videowin.height, vd->videowin.width);
+       }
+
+       vd->pixTmp = (unsigned char *) malloc (vd->framesizeIn);
+       
+       return erreur;
+}
+
+
+int close_v4l (struct vdIn *vd){
+       if (vd->grabMethod){
+               printf ("unmapping frame buffer\n");
+      munmap (vd->pFramebuffer, vd->mmapsize);
+       }
+       printf ("freeing frame buffer\n");
+       free (vd->pixTmp);
+       
+       printf ("close v4l \n");
+       close (vd->fd);
+       return 0;
+}
+
+
+static void flipUV (unsigned char *src, int format, int w, int h){
+       __u32 *lpix;
+       __u16 *pix;
+       __u8 *V;
+       __u8 *U;
+       __u8 *savC = NULL;
+       unsigned char tmp;
+       int sizetransfert = 0;
+       int i;
+
+       if (format == VIDEO_PALETTE_RAW_JPEG){
+      /*nothing todo */
+      return;
+       }
+
+       switch (format){
+    case VIDEO_PALETTE_YUV420P:{
+               /* allocate a helper buffer */
+               sizetransfert = (w * h >> 2);
+               savC = (__u8 *) realloc (savC, (size_t) sizetransfert);
+               U = src + (w * h);
+               V = src + (w * h) + sizetransfert;
+               /* save U */
+               memcpy (savC, U, sizetransfert);
+               /* flip UV */
+               memcpy (U, V, sizetransfert);
+               /* restore U */
+               memcpy (V, savC, sizetransfert);
+               free (savC);
+               savC = NULL;
+               }
+      break;
+       case VIDEO_PALETTE_RGB565: {
+               pix = (__u16 *) src;
+               for (i = 0; i < (w * h); i++){
+                       pix[i] = (((pix[i] & 0xF800) >> 11) | ((pix[i] & 0x001F) << 11) | (pix[i] & 0x07E0));
+               }
+       }
+      break;
+   case VIDEO_PALETTE_RGB24:{
+               for (i = 0; i < (w * h * 3); i += 3){
+                       tmp = src[i];
+                       src[i] = src[i + 2];
+                       src[i + 2] = tmp;
+               }
+   }
+      break;
+   case VIDEO_PALETTE_RGB32:{
+               lpix = (__u32 *) src;
+               for (i = 0; i < (w * h); i++){
+                   lpix[i] = (((lpix[i] & 0x00FF0000) >> 16) | ((lpix[i] & 0x000000FF) << 16)
+              | (lpix[i] & 0x0000FF00));
+               }
+   }
+      break;
+   default:
+        break;
+  }
+}
+
+
+int grab (struct vdIn *vd){
+       int ff;
+       int len;
+       int status=0;
+       //int count = 0;
+       int size;
+       int erreur = 0;
+
+       if (vd->grabMethod){
+      ff = vd->vmmap.frame;
+      vd->vmmap.height = vd->hdrheight;
+      vd->vmmap.width = vd->hdrwidth;
+      vd->vmmap.format = vd->formatIn;
+      if (ioctl (vd->fd, VIDIOCSYNC, &ff) < 0){
+                       perror ("cvsync err\n");
+                       erreur = -1;
+               }
+      vd->vmmap.frame = ff;
+      memcpy (vd->pixTmp,vd->pFramebuffer + vd->videombuf.offsets[vd->vmmap.frame], vd->framesizeIn);
+
+      if (vd->flipUV){
+                       printf("Flip UV\n");
+                       flipUV (vd->pixTmp, vd->formatIn, vd->hdrwidth, vd->hdrheight);
+               }
+
+      if ((ioctl (vd->fd, VIDIOCMCAPTURE, &(vd->vmmap))) < 0){
+                       perror ("cmcapture");
+                       printf (">>cmcapture err %d\n", status);
+                       erreur = -1;
+               }
+      vd->vmmap.frame = (vd->vmmap.frame + 1) % vd->videombuf.frames;
+      //printf("frame nb %d\n",vd->vmmap.frame);
+       } else {
+      /* read method */
+      size = vd->framesizeIn;
+      len = read (vd->fd, vd->pixTmp, size);
+      if (len != size){
+                       printf ("v4l read error\n");
+                       printf ("len %d asked %d \n", len, size);
+                       erreur = -1;
+               }
+      if (vd->flipUV){
+                       flipUV (vd->pixTmp, vd->formatIn, vd->hdrwidth, vd->hdrheight);
+               }
+       }
+       return erreur;
+}
+
+int setPalette (struct vdIn *vd)
+{
+       vd->bppIn = GetDepth (vd->formatIn);
+       vd->videopict.palette = vd->formatIn;
+       vd->videopict.depth = vd->bppIn;
+       SetVideoPict (vd);
+       vd->framesizeIn = ((vd->hdrwidth * vd->hdrheight * vd->bppIn) >> 3);
+       vd->pixTmp = (unsigned char *) realloc (vd->pixTmp, (size_t) vd->framesizeIn);
+
+       return 1;
+}
+
+/* probe palette and set a default one for unknow cams*/
+static int probePalette ( struct vdIn *vd )
+{
+       struct video_picture pict;
+       int masq = 0x2;
+       int i;
+       int availpal = 0;
+       int defaut = 1;
+       /* initialize the internal struct */
+       if (ioctl (vd->fd, VIDIOCGPICT, &pict) < 0)
+               {
+               perror ("Couldnt get videopict params with VIDIOCGPICT\n");
+               return -1;
+                }
+       /* try each palette we have we skip raw_jpeg */
+       for(i = 0; i < LEN_PALLETE ; i++){
+               pict.palette = PAL[i];
+               /* maybe correct the bug on qca driver depth always 24 ? */     
+               pict.depth = GetDepth (PAL[i]);
+               printf("try palette %d depth %d\n",pict.palette,pict.depth);
+               if (ioctl (vd->fd, VIDIOCSPICT, &pict) < 0){
+                       printf("Couldn't set palette first try %d \n", PAL[i]);
+               }
+               if (ioctl (vd->fd, VIDIOCGPICT, &pict) < 0){
+               printf("Couldnt get palette %d \n", PAL[i]);
+       }
+               if (pict.palette != PAL[i]){
+                       printf("Damned second try fail \n");    
+               }
+               else {
+                       availpal = availpal | masq ;
+                       printf("Available  palette %d \n", PAL[i]);
+                       if (defaut){
+                               defaut = 0;
+                               vd->formatIn = PAL[i];
+                               vd->bppIn = GetDepth (PAL[i]);
+                       }
+               }
+               masq = masq << 1;
+       }
+       vd->palette = availpal;
+       printf("Vybrana paleta je %d\n",availpal);
+       //should set default palette here ?
+       return 1;       
+}
+
+
+/* probe size and set a default one for unknow cams */
+static int probeSize ( struct vdIn *vd )
+{
+       struct video_window win;
+       int maxw,minw,maxh,minh;
+       int masq = 0x1;
+       int i = 0;
+       int defaut = 1 ;
+       /* initialize de parameters */
+       maxw = vd->videocap.maxwidth;
+       minw = vd->videocap.minwidth;
+       maxh = vd->videocap.maxheight;
+       minh = vd->videocap.minheight;
+       printf("probe size in \n");
+
+       while (SIZE[i] > maxw){
+               printf("skip size %d x %d\n",SIZE[i],SIZE[i+1]);
+               i += 2;
+               masq = masq << 1;
+               if (i > 13) break;
+       }
+       /* initialize the internal struct */
+       if (ioctl (vd->fd, VIDIOCGWIN, &win) < 0) {
+               perror ("VIDIOCGWIN failed \n");
+               return -1;
+       }
+       /* now i is on the first possible width */
+       while ((SIZE[i] >= minw) && i < 13) {
+               win.width = SIZE[i];
+               win.height = SIZE[i+1];
+               if (ioctl (vd->fd, VIDIOCSWIN, &win) < 0) {
+               printf ("VIDIOCSWIN reject width %d  height %d \n",
+                       win.width, win.height);       
+       } else {
+                       vd->sizeothers = vd->sizeothers | masq;
+                       printf ("Available Resolutions width %d  heigth %d \n",
+                       win.width, win.height);
+                       if (defaut){
+                               vd->hdrwidth = win.width;
+                               vd->hdrheight = win.height;
+                               defaut = 0;
+                       }
+               }
+               masq = masq << 1 ;
+               i += 2;
+       }
+       return 1;       
+}
+
+int changeSize (struct vdIn *vd)
+{
+       int erreur;
+       erreur = GetVideoPict (vd);
+       vd->formatIn = vd->videopict.palette;
+       vd->bppIn = vd->videopict.depth;
+       /* To Compute the estimate frame size perhaps not need !!! */
+       if ((vd->bppIn = GetDepth (vd->formatIn)) < 0){
+               perror ("getdepth  failed \n");
+      exit (1);
+       }
+       if (vd->grabMethod){
+      vd->vmmap.height = vd->hdrheight;
+      vd->vmmap.width = vd->hdrwidth;
+      vd->vmmap.format = vd->formatIn;
+   } else {
+               if (ioctl (vd->fd, VIDIOCGWIN, &vd->videowin) < 0)
+                       perror ("VIDIOCGWIN failed \n");
+      vd->videowin.height = vd->hdrheight;
+      vd->videowin.width = vd->hdrwidth;
+      if (ioctl (vd->fd, VIDIOCSWIN, &vd->videowin) < 0)
+                       perror ("VIDIOCSWIN failed \n");
+
+      printf ("VIDIOCGWIN height %d  width %d \n",vd->videowin.height, vd->videowin.width);
+   }
+       vd->framesizeIn = ((vd->hdrwidth * vd->hdrheight * vd->bppIn) >> 3);
+       vd->pixTmp =
+   (unsigned char *) realloc (vd->pixTmp, (size_t) vd->framesizeIn);
+       return 1;
+}
+
+
+static int GetVideoPict (struct vdIn *vd)
+{
+  if (ioctl (vd->fd, VIDIOCGPICT, &vd->videopict) < 0){
+      perror ("Couldnt get videopict params with VIDIOCGPICT\n");
+      return -1;
+  }
+
+  printf ("VIDIOCGPICT brightnes=%d hue=%d color=%d contrast=%d whiteness=%d"
+         "depth=%d palette=%d\n", vd->videopict.brightness,
+         vd->videopict.hue, vd->videopict.colour, vd->videopict.contrast,
+         vd->videopict.whiteness, vd->videopict.depth,
+         vd->videopict.palette);
+
+  return 0;
+}
+
+static int SetVideoPict (struct vdIn *vd)
+{
+       if (ioctl (vd->fd, VIDIOCSPICT, &vd->videopict) < 0){
+      perror ("Couldnt set videopict params with VIDIOCSPICT\n");
+      return -1;
+       }
+       
+       printf ("VIDIOCSPICT brightnes=%d hue=%d color=%d contrast=%d whiteness=%d"
+         "depth=%d palette=%d\n", vd->videopict.brightness,
+         vd->videopict.hue, vd->videopict.colour, vd->videopict.contrast,
+         vd->videopict.whiteness, vd->videopict.depth,
+         vd->videopict.palette);
+
+  return 0;
+}
+
+static int GetDepth(int format)
+{
+  int depth;
+  switch (format)
+    {
+    case VIDEO_PALETTE_RAW_JPEG:
+      {
+       depth = 8;              // be sure spca50x ask raw data
+      }
+      break;
+    case VIDEO_PALETTE_YUV420P:
+      {
+       depth = (8 * 3) >> 1;
+      }
+      break;
+    case VIDEO_PALETTE_RGB565:
+      depth = 16;
+      break;
+    case VIDEO_PALETTE_RGB24:
+      depth = 24;
+      break;
+    case VIDEO_PALETTE_RGB32:
+      {
+       depth = 32;
+      }
+      break;
+    default:
+      depth = -1;
+      break;
+    }
+  return depth;
+}
+
+__u8 getBrightness (struct vdIn * vdin)
+{
+  if (GetVideoPict (vdin) < 0)
+    {
+      printf (" Error getBrightness \n");
+      return 0;
+    }
+  return ((vdin->videopict.brightness) >> 8);
+}
+
+void setBrightness (struct vdIn *vdin, __u8 bright)
+{
+  vdin->videopict.brightness = bright << 8;
+  if (SetVideoPict (vdin) < 0)
+    {
+      printf (" Error setBrightness \n");
+    }
+
+}
+
+__u8 getContrast (struct vdIn *vdin)
+{
+  if (GetVideoPict (vdin) < 0)
+    {
+      printf (" Error getContrast \n");
+      return 0;
+    }
+  return ((vdin->videopict.contrast) >> 8);
+}
+
+void setContrast (struct vdIn *vdin, __u8 contrast)
+{
+  vdin->videopict.contrast = contrast << 8;
+  if (SetVideoPict (vdin) < 0)
+    {
+      printf (" Error setContrast \n");
+    }
+}
+__u8 getColors (struct vdIn *vdin)
+{
+  if (GetVideoPict (vdin) < 0)
+    {
+      printf (" Error getColors \n");
+      return 0;
+    }
+  return ((vdin->videopict.colour) >> 8);
+}
+
+void setColors (struct vdIn *vdin, __u8 colors)
+{
+  vdin->videopict.colour = colors << 8;
+  if (SetVideoPict (vdin) < 0)
+    {
+      printf (" Error setColors \n");
+    }
+}
diff --git a/camv4l.h b/camv4l.h
new file mode 100644 (file)
index 0000000..db93722
--- /dev/null
+++ b/camv4l.h
@@ -0,0 +1,241 @@
+#ifndef CAM_V4L_H
+#define CAM_V4L_H
+
+/**
+ *  \file      camv4l.h 
+ *  
+ *  \brief This is header file v4l device (camera).
+ *
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+#include <fcntl.h>
+#include <signal.h>
+#include <errno.h>
+#include <time.h>
+#include <math.h>
+#include <stdarg.h>
+#include <linux/types.h>
+#include <linux/videodev.h>
+#include <sys/mman.h>
+#include <sys/ioctl.h>
+#include <sys/file.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#define DWIDTH 320     ///>Default width
+#define DHEIGHT 240  ///>Default height
+
+/* Input data output Palette define here */
+#define VIDEO_PALETTE_RGB565 3         /* 16bit RGB */
+#define VIDEO_PALETTE_RGB24  4         /* 24bit RGB */
+#define VIDEO_PALETTE_RGB32  5         /* 32bit RGB */
+#define VIDEO_PALETTE_YUV420P 15       /* YUV 420P */
+#define VIDEO_PALETTE_RAW_JPEG  20
+
+
+/**
+ * Camera type format date
+ */
+enum cam_form {
+       JPEG,
+       YUVY,
+       YYUV,
+       YUYV,
+       GREY,
+       GBRG,
+       UNKNOW,
+};
+
+/**
+ * Struct represents input capture device
+ */
+struct vdIn {
+       int fd;   // file descriptor
+       char *videodevice ; //name of camera
+
+       struct video_mmap vmmap;
+       struct video_capability videocap;
+       int mmapsize;
+       struct video_mbuf videombuf;
+       struct video_picture videopict;
+       struct video_window videowin;
+       struct video_channel videochan;
+       
+       unsigned int format ;   /* Format asked by apps for this frame */
+       int cameratype ;                /* native in frame format */
+       char *cameraname;
+       char *bridge;
+       int sizenative;
+       int sizeothers;
+       int palette;
+       int norme ;
+       int channel ;
+       int grabMethod ;                ///> Grab Methode 1=mmap 0=read
+       unsigned char *pFramebuffer;
+       unsigned char *pixTmp;  
+       int framesizeIn ;
+       int frame_cour;
+       int bppIn;
+       int hdrwidth;
+       int hdrheight;
+       int formatIn;
+       int flipUV;
+};
+
+/*
+struct palette_list {
+       int num;
+       const char *name;
+};
+
+
+//Camera type jpeg yuvy yyuv yuyv grey gbrg
+static struct palette_list Plist[] ={
+       {JPEG,"JPEG"},
+       {YUVY,"YUVY"},
+       {YYUV,"YYUV"},
+       {YUYV,"YUYV"},
+       {GREY,"GREY"},
+       {GBRG,"GBRG"},
+       {-1,NULL}
+};
+*/
+
+
+/**
+ * Fuction for initialization v4l device.
+ * \ingroup            common
+ * \param vd           Video device pointer 
+ *
+ * \return  0 if succesful or error number -1
+ */
+int init_v4l ( struct vdIn *vd );
+
+/**
+ * Fuction for initialization v4l device.
+ * \ingroup common
+ * \param vd           Video device pointer
+ *
+ * \return  0 if succesful or error number -1
+ */
+int grab (struct vdIn *vd );
+
+/**
+ * Fuction close v4l device.
+ * \ingroup common
+ * \param vd           Video device pointer 
+ * \return 0
+ */
+int close_v4l (struct vdIn *vd);
+
+/**
+ * Fuction sets color pallete video device.
+ * \ingroup common
+ * \param vd           Video device pointer 
+ *
+ * \return 1
+ */
+int setPalette (struct vdIn *vd);
+
+/**
+ * Fuction change size of image array video device.
+ * \ingroup common
+ * \param vd           Video device pointer 
+ *
+ *     \return 1
+ */
+int changeSize (struct vdIn *vd);
+
+
+/**
+ * Fuction get brightness from the camera.
+ * \ingroup common
+ * \param vd           Video device pointer
+ *
+ * \retutn brightness
+ */
+__u8 getBrightness ( struct vdIn *vd);
+
+/**
+ * Fuction set brightness to the camera.
+ * \ingroup common
+ * \param vd           Video device pointer 
+ * \param bright  New brightness value
+ */
+void setBrightness ( struct vdIn *vd, __u8 bright);
+
+/**
+ * Fuction get contrast from the camera.
+ * \ingroup common
+ * \param vd           Video device pointer 
+ *
+ * \return contrast
+ */
+__u8 getContrast ( struct vdIn *vd);
+
+/**
+ * Fuction set contrast to the camera.
+ * \ingroup common
+ * \param vd           Video device pointer 
+ * \param contrast  New contrast value
+ */
+void setContrast ( struct vdIn *vd, __u8 contrast);
+
+/**
+ * Fuction get colors from the camera.
+ * \ingroup common
+ * \param vd           Video device pointer 
+ *
+ * \return colors
+ */
+__u8 getColors ( struct vdIn *vd);
+
+/**
+ * Fuction set colors to the camera.
+ * \ingroup common
+ * \param vd           Video device pointer 
+ * \param colors  New colors value
+ */
+void setColors ( struct vdIn *vd, __u8 colors);
+
+/**
+ * Fuction get norme from the camera.
+ * \ingroup common
+ * \param vd           Video device pointer 
+ *
+ * \return norme
+ */
+__u8 getNorme ( struct vdIn *vd);
+
+/**
+ * Fuction set norme to the camera.
+ * \ingroup common
+ * \param vd           Video device pointer 
+ * \param norme  New norme value
+ */
+void setNorme (struct vdIn *vd,__u8 norme);
+
+/**
+ * Fuction get channel from the camera.
+ * \ingroup common
+ * \param vd           Video device pointer 
+ *
+ * \return channel
+ */
+__u8 getChannel (struct vdIn *vd);
+
+/**
+ * Fuction set channels to the camera.
+ * \ingroup common
+ * \param vd           Video device pointer 
+ * \param channel  New channel value
+ */
+void setChannel( struct vdIn * vd,__u8 channel);
+
+
+#endif /*CAM_V4L_H*/
+
diff --git a/doc/doxygen b/doc/doxygen
new file mode 100644 (file)
index 0000000..0843168
--- /dev/null
@@ -0,0 +1,275 @@
+# Doxyfile 1.5.1
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+PROJECT_NAME           = "Camera grab convert to MPEG"
+PROJECT_NUMBER         = 1.0
+OUTPUT_DIRECTORY       = /home/zial/diplom/grab/grab_mpeg_net/doc/
+CREATE_SUBDIRS         = NO
+OUTPUT_LANGUAGE        = English
+USE_WINDOWS_ENCODING   = NO
+BRIEF_MEMBER_DESC      = YES
+REPEAT_BRIEF           = YES
+ABBREVIATE_BRIEF       = "The $name class" \
+                         "The $name widget" \
+                         "The $name file" \
+                         is \
+                         provides \
+                         specifies \
+                         contains \
+                         represents \
+                         a \
+                         an \
+                         the
+ALWAYS_DETAILED_SEC    = NO
+INLINE_INHERITED_MEMB  = NO
+FULL_PATH_NAMES        = YES
+STRIP_FROM_PATH        = /home/zial/diplom/grab/grab_mpeg_net/
+STRIP_FROM_INC_PATH    = 
+SHORT_NAMES            = NO
+JAVADOC_AUTOBRIEF      = NO
+MULTILINE_CPP_IS_BRIEF = NO
+DETAILS_AT_TOP         = NO
+INHERIT_DOCS           = YES
+SEPARATE_MEMBER_PAGES  = NO
+TAB_SIZE               = 8
+ALIASES                = 
+OPTIMIZE_OUTPUT_FOR_C  = YES
+OPTIMIZE_OUTPUT_JAVA   = NO
+BUILTIN_STL_SUPPORT    = NO
+DISTRIBUTE_GROUP_DOC   = NO
+SUBGROUPING            = YES
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL            = YES
+EXTRACT_PRIVATE        = YES
+EXTRACT_STATIC         = YES
+EXTRACT_LOCAL_CLASSES  = YES
+EXTRACT_LOCAL_METHODS  = NO
+HIDE_UNDOC_MEMBERS     = NO
+HIDE_UNDOC_CLASSES     = NO
+HIDE_FRIEND_COMPOUNDS  = NO
+HIDE_IN_BODY_DOCS      = NO
+INTERNAL_DOCS          = NO
+CASE_SENSE_NAMES       = YES
+HIDE_SCOPE_NAMES       = NO
+SHOW_INCLUDE_FILES     = YES
+INLINE_INFO            = YES
+SORT_MEMBER_DOCS       = YES
+SORT_BRIEF_DOCS        = NO
+SORT_BY_SCOPE_NAME     = NO
+GENERATE_TODOLIST      = YES
+GENERATE_TESTLIST      = YES
+GENERATE_BUGLIST       = YES
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS       = 
+MAX_INITIALIZER_LINES  = 30
+SHOW_USED_FILES        = YES
+SHOW_DIRECTORIES       = NO
+FILE_VERSION_FILTER    = 
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET                  = NO
+WARNINGS               = YES
+WARN_IF_UNDOCUMENTED   = YES
+WARN_IF_DOC_ERROR      = YES
+WARN_NO_PARAMDOC       = NO
+WARN_FORMAT            = "$file:$line: $text"
+WARN_LOGFILE           = 
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT                  = /home/zial/diplom/grab/grab_mpeg_net
+FILE_PATTERNS          = *.c \
+                         *.cc \
+                         *.cxx \
+                         *.cpp \
+                         *.c++ \
+                         *.d \
+                         *.java \
+                         *.ii \
+                         *.ixx \
+                         *.ipp \
+                         *.i++ \
+                         *.inl \
+                         *.h \
+                         *.hh \
+                         *.hxx \
+                         *.hpp \
+                         *.h++ \
+                         *.idl \
+                         *.odl \
+                         *.cs \
+                         *.php \
+                         *.php3 \
+                         *.inc \
+                         *.m \
+                         *.mm \
+                         *.dox \
+                         *.py \
+                         *.C \
+                         *.CC \
+                         *.C++ \
+                         *.II \
+                         *.I++ \
+                         *.H \
+                         *.HH \
+                         *.H++ \
+                         *.CS \
+                         *.PHP \
+                         *.PHP3 \
+                         *.M \
+                         *.MM \
+                         *.PY
+RECURSIVE              = NO
+EXCLUDE                = 
+EXCLUDE_SYMLINKS       = NO
+EXCLUDE_PATTERNS       = 
+EXAMPLE_PATH           = 
+EXAMPLE_PATTERNS       = *
+EXAMPLE_RECURSIVE      = NO
+IMAGE_PATH             = 
+INPUT_FILTER           = 
+FILTER_PATTERNS        = 
+FILTER_SOURCE_FILES    = NO
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER         = YES
+INLINE_SOURCES         = NO
+STRIP_CODE_COMMENTS    = YES
+REFERENCED_BY_RELATION = YES
+REFERENCES_RELATION    = YES
+REFERENCES_LINK_SOURCE = YES
+USE_HTAGS              = NO
+VERBATIM_HEADERS       = YES
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX     = NO
+COLS_IN_ALPHA_INDEX    = 5
+IGNORE_PREFIX          = 
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML          = YES
+HTML_OUTPUT            = html
+HTML_FILE_EXTENSION    = .html
+HTML_HEADER            = 
+HTML_FOOTER            = 
+HTML_STYLESHEET        = 
+HTML_ALIGN_MEMBERS     = YES
+GENERATE_HTMLHELP      = NO
+CHM_FILE               = 
+HHC_LOCATION           = 
+GENERATE_CHI           = NO
+BINARY_TOC             = NO
+TOC_EXPAND             = NO
+DISABLE_INDEX          = NO
+ENUM_VALUES_PER_LINE   = 4
+GENERATE_TREEVIEW      = YES
+TREEVIEW_WIDTH         = 250
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX         = YES
+LATEX_OUTPUT           = latex
+LATEX_CMD_NAME         = latex
+MAKEINDEX_CMD_NAME     = makeindex
+COMPACT_LATEX          = NO
+PAPER_TYPE             = a4wide
+EXTRA_PACKAGES         = 
+LATEX_HEADER           = 
+PDF_HYPERLINKS         = NO
+USE_PDFLATEX           = YES
+LATEX_BATCHMODE        = NO
+LATEX_HIDE_INDICES     = NO
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF           = NO
+RTF_OUTPUT             = rtf
+COMPACT_RTF            = NO
+RTF_HYPERLINKS         = NO
+RTF_STYLESHEET_FILE    = 
+RTF_EXTENSIONS_FILE    = 
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN           = NO
+MAN_OUTPUT             = man
+MAN_EXTENSION          = .3
+MAN_LINKS              = NO
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML           = NO
+XML_OUTPUT             = xml
+XML_SCHEMA             = 
+XML_DTD                = 
+XML_PROGRAMLISTING     = YES
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF   = NO
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD       = NO
+PERLMOD_LATEX          = NO
+PERLMOD_PRETTY         = YES
+PERLMOD_MAKEVAR_PREFIX = 
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor   
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING   = YES
+MACRO_EXPANSION        = NO
+EXPAND_ONLY_PREDEF     = NO
+SEARCH_INCLUDES        = YES
+INCLUDE_PATH           = 
+INCLUDE_FILE_PATTERNS  = 
+PREDEFINED             = 
+EXPAND_AS_DEFINED      = 
+SKIP_FUNCTION_MACROS   = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references   
+#---------------------------------------------------------------------------
+TAGFILES               = 
+GENERATE_TAGFILE       = 
+ALLEXTERNALS           = NO
+EXTERNAL_GROUPS        = YES
+PERL_PATH              = /usr/bin/perl
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool   
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS         = NO
+HIDE_UNDOC_RELATIONS   = YES
+HAVE_DOT               = YES
+CLASS_GRAPH            = YES
+COLLABORATION_GRAPH    = YES
+GROUP_GRAPHS           = YES
+UML_LOOK               = NO
+TEMPLATE_RELATIONS     = NO
+INCLUDE_GRAPH          = YES
+INCLUDED_BY_GRAPH      = YES
+CALL_GRAPH             = NO
+CALLER_GRAPH           = NO
+GRAPHICAL_HIERARCHY    = YES
+DIRECTORY_GRAPH        = YES
+DOT_IMAGE_FORMAT       = png
+DOT_PATH               = 
+DOTFILE_DIRS           = 
+MAX_DOT_GRAPH_WIDTH    = 1024
+MAX_DOT_GRAPH_HEIGHT   = 1024
+MAX_DOT_GRAPH_DEPTH    = 1000
+DOT_TRANSPARENT        = NO
+DOT_MULTI_TARGETS      = NO
+GENERATE_LEGEND        = YES
+DOT_CLEANUP            = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine   
+#---------------------------------------------------------------------------
+SEARCHENGINE           = NO
diff --git a/doc/html/annotated.html b/doc/html/annotated.html
new file mode 100644 (file)
index 0000000..677a73b
--- /dev/null
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Camera grab convert to MPEG: Data Structures</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li id="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>Camera grab convert to MPEG Data Structures</h1>Here are the data structures with brief descriptions:<table>
+  <tr><td class="indexkey"><a class="el" href="structvdIn.html">vdIn</a></td><td class="indexvalue"></td></tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jan 26 20:51:51 2009 for Camera grab convert to MPEG by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+</body>
+</html>
diff --git a/doc/html/camv4l_8c-source.html b/doc/html/camv4l_8c-source.html
new file mode 100644 (file)
index 0000000..154e4d1
--- /dev/null
@@ -0,0 +1,537 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Camera grab convert to MPEG: camv4l.c Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<h1>camv4l.c</h1><a href="camv4l_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include "<a class="code" href="camv4l_8h.html">camv4l.h</a>"</span>
+<a name="l00009"></a>00009 
+<a name="l00010"></a><a class="code" href="camv4l_8c.html#ee54b939c70ffe5540c8e77e8b75c331">00010</a> <span class="keywordtype">int</span> <a class="code" href="camv4l_8c.html#ee54b939c70ffe5540c8e77e8b75c331">PAL</a>[] ={<a class="code" href="camv4l_8h.html#dea1e94780da3ba61a1a1d9a11affdd2">VIDEO_PALETTE_YUV420P</a>,<a class="code" href="camv4l_8h.html#dbf692218d97fffa111494787562d9e8">VIDEO_PALETTE_RGB565</a>,<a class="code" href="camv4l_8h.html#8dd93a2c957ded118f8ff17680cbf220">VIDEO_PALETTE_RGB24</a>,<a class="code" href="camv4l_8h.html#d50994973596a30826522de0701ad02b">VIDEO_PALETTE_RGB32</a>};
+<a name="l00011"></a>00011 
+<a name="l00012"></a><a class="code" href="camv4l_8c.html#1ae3f99c00fbdb4eec4a4eb4fdfeacd0">00012</a> <span class="preprocessor">#define LEN_PALLETE     4</span>
+<a name="l00013"></a>00013 <span class="preprocessor"></span>
+<a name="l00014"></a><a class="code" href="camv4l_8c.html#26ffb7e515435a5ff2d24656ecacd181">00014</a> <span class="keywordtype">int</span> <a class="code" href="camv4l_8c.html#26ffb7e515435a5ff2d24656ecacd181">SIZE</a>[] = { 640,480,384,288,352,288,320,240,192,144,176,144,160,120 };
+<a name="l00015"></a>00015 
+<a name="l00016"></a>00016 
+<a name="l00017"></a>00017 
+<a name="l00018"></a>00018 
+<a name="l00019"></a>00019 
+<a name="l00020"></a>00020 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="camv4l_8c.html#8cb6f747fd7726860f771609946d09b3">GetVideoPict</a> (<span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd);
+<a name="l00021"></a>00021 
+<a name="l00022"></a>00022 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="camv4l_8c.html#6391de2c695ffff5ba0a8632f6db3c1f">SetVideoPict</a> (<span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd);
+<a name="l00023"></a>00023 
+<a name="l00024"></a>00024 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="camv4l_8c.html#283b0e82a3d74f512e682a8ac52659b7">GetDepth</a> ( <span class="keywordtype">int</span> format);
+<a name="l00025"></a>00025 
+<a name="l00026"></a>00026 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="camv4l_8c.html#e2f8dd81ccfc3b70fdeb99b07586a1b1">probePalette</a> ( <span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd );
+<a name="l00027"></a>00027 
+<a name="l00028"></a>00028 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="camv4l_8c.html#bee824dc095955f0175643284986b23e">probeSize</a> ( <span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd );       
+<a name="l00029"></a>00029 
+<a name="l00030"></a>00030 
+<a name="l00031"></a><a class="code" href="group__common.html#gdc0c206abad8d7210c57022190f93dc4">00031</a> <span class="keywordtype">int</span> <a class="code" href="group__common.html#gdc0c206abad8d7210c57022190f93dc4">init_v4l</a> (<span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd)
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033         <span class="keywordtype">int</span> <a class="code" href="grab__mpeg_8c.html#3efb0e1a16208deecbd84c15401f7cf8">f</a>;
+<a name="l00034"></a>00034         <span class="keywordtype">int</span> erreur = 0;
+<a name="l00035"></a>00035 
+<a name="l00036"></a>00036         <span class="keywordflow">if</span> ((vd-&gt;<a class="code" href="structvdIn.html#1fa060f09cd0b1a126c5cfe7f8755aa0">fd</a> = open (vd-&gt;<a class="code" href="structvdIn.html#a5bc365f449fae0bacc9ef7e813dfcdd">videodevice</a>, O_RDWR)) == -1){
+<a name="l00037"></a>00037       perror (<span class="stringliteral">"ERROR opening V4L interface \n"</span>);
+<a name="l00038"></a>00038       exit (1);
+<a name="l00039"></a>00039         }
+<a name="l00040"></a>00040         <span class="keywordflow">if</span> (ioctl (vd-&gt;<a class="code" href="structvdIn.html#1fa060f09cd0b1a126c5cfe7f8755aa0">fd</a>, VIDIOCGCAP, &amp;(vd-&gt;<a class="code" href="structvdIn.html#6ff6c76abc3558e5065c29f7a4e22e62">videocap</a>)) == -1){
+<a name="l00041"></a>00041       printf (<span class="stringliteral">"wrong device\n"</span>);
+<a name="l00042"></a>00042       exit (1);
+<a name="l00043"></a>00043         }
+<a name="l00044"></a>00044         printf (<span class="stringliteral">"Camera found: %s \n"</span>, vd-&gt;<a class="code" href="structvdIn.html#6ff6c76abc3558e5065c29f7a4e22e62">videocap</a>.name);
+<a name="l00045"></a>00045         snprintf (vd-&gt;<a class="code" href="structvdIn.html#676d43607601940f318ee3b274e4716b">cameraname</a>, 32, <span class="stringliteral">"%s"</span>, vd-&gt;<a class="code" href="structvdIn.html#6ff6c76abc3558e5065c29f7a4e22e62">videocap</a>.name);
+<a name="l00046"></a>00046         
+<a name="l00047"></a>00047         erreur = <a class="code" href="camv4l_8c.html#8cb6f747fd7726860f771609946d09b3">GetVideoPict</a> (vd);
+<a name="l00048"></a>00048         vd-&gt;<a class="code" href="structvdIn.html#da1a8b7c0f40c9d997f8e8fddd4bc27d">formatIn</a> = vd-&gt;<a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a>.palette;
+<a name="l00049"></a>00049         vd-&gt;<a class="code" href="structvdIn.html#d8c35d451233262ff9a8f8e65be8b340">bppIn</a> = vd-&gt;<a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a>.depth;
+<a name="l00050"></a>00050         vd-&gt;<a class="code" href="structvdIn.html#3f2e15b67a340cc20fd9d8503afa574b">flipUV</a> = 0;
+<a name="l00051"></a>00051   
+<a name="l00052"></a>00052   <span class="comment">/* To Compute the estimate frame size perhaps not need !!! </span>
+<a name="l00053"></a>00053 <span class="comment">  if ((vd-&gt;bppIn = GetDepth (vd-&gt;formatIn)) &lt; 0)</span>
+<a name="l00054"></a>00054 <span class="comment">    {</span>
+<a name="l00055"></a>00055 <span class="comment">      perror ("getdepth  failed \n");</span>
+<a name="l00056"></a>00056 <span class="comment">      exit (1);</span>
+<a name="l00057"></a>00057 <span class="comment">    }</span>
+<a name="l00058"></a>00058 <span class="comment">   */</span>
+<a name="l00059"></a>00059         <span class="keywordflow">if</span> (ioctl (vd-&gt;<a class="code" href="structvdIn.html#1fa060f09cd0b1a126c5cfe7f8755aa0">fd</a>, VIDIOCGCHAN, &amp;vd-&gt;<a class="code" href="structvdIn.html#962c1ced095a997ba8715b281cf53e9e">videochan</a>) == -1){
+<a name="l00060"></a>00060       printf (<span class="stringliteral">"did not support Video_channel\n"</span>);
+<a name="l00061"></a>00061       vd-&gt;<a class="code" href="structvdIn.html#eabdb3eeaf3a80b396cf19fec19d9294">cameratype</a> = <a class="code" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe216109b024ff449662360c66ce18d20096fa">UNKNOW</a>;
+<a name="l00062"></a>00062    } <span class="keywordflow">else</span> {
+<a name="l00063"></a>00063       printf (<span class="stringliteral">"Bridge found: %s \n"</span>, vd-&gt;<a class="code" href="structvdIn.html#962c1ced095a997ba8715b281cf53e9e">videochan</a>.name);
+<a name="l00064"></a>00064       snprintf (vd-&gt;<a class="code" href="structvdIn.html#4dcb789ec776b466e9e0ee388686e3b6">bridge</a>, 9, <span class="stringliteral">"%s"</span>, vd-&gt;<a class="code" href="structvdIn.html#962c1ced095a997ba8715b281cf53e9e">videochan</a>.name);
+<a name="l00065"></a>00065       vd-&gt;<a class="code" href="structvdIn.html#eabdb3eeaf3a80b396cf19fec19d9294">cameratype</a> = <a class="code" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe216109b024ff449662360c66ce18d20096fa">UNKNOW</a>;<span class="comment">// GetStreamId (vd-&gt;videochan.name);</span>
+<a name="l00066"></a>00066         }
+<a name="l00067"></a>00067         
+<a name="l00068"></a>00068         <span class="keywordflow">if</span> (vd-&gt;<a class="code" href="structvdIn.html#eabdb3eeaf3a80b396cf19fec19d9294">cameratype</a> == <a class="code" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe216109b024ff449662360c66ce18d20096fa">UNKNOW</a>){
+<a name="l00069"></a>00069         <span class="comment">/* process others cams default parameters should be set */</span>
+<a name="l00070"></a>00070                 printf (<span class="stringliteral">"StreamId: %d Unknow Camera\n"</span>, vd-&gt;<a class="code" href="structvdIn.html#eabdb3eeaf3a80b396cf19fec19d9294">cameratype</a>);
+<a name="l00071"></a>00071                 printf(<span class="stringliteral">"Probe Pallete\n"</span>);
+<a name="l00072"></a>00072                 <span class="keywordflow">if</span> (<a class="code" href="camv4l_8c.html#e2f8dd81ccfc3b70fdeb99b07586a1b1">probePalette</a> (vd ) &lt; 0) {
+<a name="l00073"></a>00073                         printf (<span class="stringliteral">"Sorry cannot probe Palette for that Unknow Camera\n"</span>);
+<a name="l00074"></a>00074                         exit (0);
+<a name="l00075"></a>00075                 }
+<a name="l00076"></a>00076                 printf(<span class="stringliteral">"Probe Size\n"</span>);
+<a name="l00077"></a>00077                 <span class="keywordflow">if</span> (<a class="code" href="camv4l_8c.html#bee824dc095955f0175643284986b23e">probeSize</a> (vd ) &lt; 0) {
+<a name="l00078"></a>00078                         printf (<span class="stringliteral">"Sorry cannot probe Size for that Unknow Camera\n"</span>);
+<a name="l00079"></a>00079                         exit (0);
+<a name="l00080"></a>00080                 }
+<a name="l00081"></a>00081         } <span class="keywordflow">else</span> {
+<a name="l00082"></a>00082                 printf(<span class="stringliteral">"Find camera with supported bridge\n"</span>);
+<a name="l00083"></a>00083         }
+<a name="l00084"></a>00084 
+<a name="l00085"></a>00085         <span class="comment">/**********************************************************/</span>
+<a name="l00086"></a>00086         <span class="comment">/*          alloc the frame buffer to read                */</span>
+<a name="l00087"></a>00087         vd-&gt;<a class="code" href="structvdIn.html#cc3732f98af3fe5088007d0b7b08cdca">framesizeIn</a> = (vd-&gt;<a class="code" href="structvdIn.html#21a92e9c30017da96ee881bef3469f18">hdrwidth</a> * vd-&gt;<a class="code" href="structvdIn.html#2de78c4cff91808eb64ccab86e8d56b9">hdrheight</a> * (vd-&gt;<a class="code" href="structvdIn.html#d8c35d451233262ff9a8f8e65be8b340">bppIn</a> &gt;&gt; 3));
+<a name="l00088"></a>00088         <span class="comment">/***************************            *******************/</span>
+<a name="l00089"></a>00089         <span class="keywordflow">if</span> (vd-&gt;<a class="code" href="structvdIn.html#faaf5caccac448b15a6f350cd02756b3">grabMethod</a>){
+<a name="l00090"></a>00090       printf (<span class="stringliteral">" grabbing method default MMAP asked \n"</span>);
+<a name="l00091"></a>00091       <span class="comment">// MMAP VIDEO acquisition</span>
+<a name="l00092"></a>00092       memset (&amp;(vd-&gt;<a class="code" href="structvdIn.html#f87db67e1e35c6699921cb9fa9712e95">videombuf</a>), 0, sizeof (vd-&gt;<a class="code" href="structvdIn.html#f87db67e1e35c6699921cb9fa9712e95">videombuf</a>));
+<a name="l00093"></a>00093       <span class="keywordflow">if</span> (ioctl (vd-&gt;<a class="code" href="structvdIn.html#1fa060f09cd0b1a126c5cfe7f8755aa0">fd</a>, VIDIOCGMBUF, &amp;(vd-&gt;<a class="code" href="structvdIn.html#f87db67e1e35c6699921cb9fa9712e95">videombuf</a>)) &lt; 0){
+<a name="l00094"></a>00094                         perror (<span class="stringliteral">" init VIDIOCGMBUF FAILED\n"</span>);
+<a name="l00095"></a>00095                 }
+<a name="l00096"></a>00096       
+<a name="l00097"></a>00097                 printf (<span class="stringliteral">"VIDIOCGMBUF size %d  frames %d  offets[0]=%d offsets[1]=%d\n"</span>,
+<a name="l00098"></a>00098                 vd-&gt;<a class="code" href="structvdIn.html#f87db67e1e35c6699921cb9fa9712e95">videombuf</a>.size, vd-&gt;<a class="code" href="structvdIn.html#f87db67e1e35c6699921cb9fa9712e95">videombuf</a>.frames,
+<a name="l00099"></a>00099                 vd-&gt;<a class="code" href="structvdIn.html#f87db67e1e35c6699921cb9fa9712e95">videombuf</a>.offsets[0], vd-&gt;<a class="code" href="structvdIn.html#f87db67e1e35c6699921cb9fa9712e95">videombuf</a>.offsets[1]);
+<a name="l00100"></a>00100 
+<a name="l00101"></a>00101       vd-&gt;<a class="code" href="structvdIn.html#d25392b0e37b39942b75f36ef87b6de7">pFramebuffer</a> = (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *) mmap (0, vd-&gt;<a class="code" href="structvdIn.html#f87db67e1e35c6699921cb9fa9712e95">videombuf</a>.size, PROT_READ | PROT_WRITE,MAP_SHARED, vd-&gt;<a class="code" href="structvdIn.html#1fa060f09cd0b1a126c5cfe7f8755aa0">fd</a>, 0);
+<a name="l00102"></a>00102       vd-&gt;<a class="code" href="structvdIn.html#b3e9cc01144f94caa3b30bde3ec7a353">mmapsize</a> = vd-&gt;<a class="code" href="structvdIn.html#f87db67e1e35c6699921cb9fa9712e95">videombuf</a>.size;
+<a name="l00103"></a>00103       vd-&gt;<a class="code" href="structvdIn.html#c9dc3dcb02f1472c47022ccc9f7a642a">vmmap</a>.height = vd-&gt;<a class="code" href="structvdIn.html#2de78c4cff91808eb64ccab86e8d56b9">hdrheight</a>;
+<a name="l00104"></a>00104       vd-&gt;<a class="code" href="structvdIn.html#c9dc3dcb02f1472c47022ccc9f7a642a">vmmap</a>.width = vd-&gt;<a class="code" href="structvdIn.html#21a92e9c30017da96ee881bef3469f18">hdrwidth</a>;
+<a name="l00105"></a>00105       vd-&gt;<a class="code" href="structvdIn.html#c9dc3dcb02f1472c47022ccc9f7a642a">vmmap</a>.format = vd-&gt;<a class="code" href="structvdIn.html#da1a8b7c0f40c9d997f8e8fddd4bc27d">formatIn</a>;
+<a name="l00106"></a>00106 
+<a name="l00107"></a>00107                 <span class="keywordflow">for</span> (f = 0; f &lt; vd-&gt;<a class="code" href="structvdIn.html#f87db67e1e35c6699921cb9fa9712e95">videombuf</a>.frames; f++){
+<a name="l00108"></a>00108                         vd-&gt;<a class="code" href="structvdIn.html#c9dc3dcb02f1472c47022ccc9f7a642a">vmmap</a>.frame = f;
+<a name="l00109"></a>00109                         if (ioctl (vd-&gt;<a class="code" href="structvdIn.html#1fa060f09cd0b1a126c5cfe7f8755aa0">fd</a>, VIDIOCMCAPTURE, &amp;(vd-&gt;<a class="code" href="structvdIn.html#c9dc3dcb02f1472c47022ccc9f7a642a">vmmap</a>))){
+<a name="l00110"></a>00110                       perror (<span class="stringliteral">"cmcapture"</span>);
+<a name="l00111"></a>00111                         }
+<a name="l00112"></a>00112                 }
+<a name="l00113"></a>00113                 vd-&gt;<a class="code" href="structvdIn.html#c9dc3dcb02f1472c47022ccc9f7a642a">vmmap</a>.frame = 0;
+<a name="l00114"></a>00114                 
+<a name="l00115"></a>00115         } <span class="keywordflow">else</span> {
+<a name="l00116"></a>00116       <span class="comment">/* read method */</span>
+<a name="l00117"></a>00117                 printf (<span class="stringliteral">" grabbing method READ asked \n"</span>);
+<a name="l00118"></a>00118       <span class="keywordflow">if</span> (ioctl (vd-&gt;fd, VIDIOCGWIN, &amp;(vd-&gt;videowin)) &lt; 0){
+<a name="l00119"></a>00119                         perror (<span class="stringliteral">"VIDIOCGWIN failed \n"</span>);
+<a name="l00120"></a>00120                 }
+<a name="l00121"></a>00121       
+<a name="l00122"></a>00122                 vd-&gt;videowin.height = vd-&gt;hdrheight;
+<a name="l00123"></a>00123       vd-&gt;videowin.width = vd-&gt;hdrwidth;
+<a name="l00124"></a>00124       
+<a name="l00125"></a>00125                 <span class="keywordflow">if</span> (ioctl (vd-&gt;fd, VIDIOCSWIN, &amp;(vd-&gt;videowin)) &lt; 0){
+<a name="l00126"></a>00126                         perror (<span class="stringliteral">"VIDIOCSWIN failed \n"</span>);
+<a name="l00127"></a>00127                 }
+<a name="l00128"></a>00128       printf (<span class="stringliteral">"VIDIOCSWIN height %d  width %d \n"</span>, vd-&gt;videowin.height, vd-&gt;videowin.width);
+<a name="l00129"></a>00129         }
+<a name="l00130"></a>00130 
+<a name="l00131"></a>00131         vd-&gt;pixTmp = (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *) malloc (vd-&gt;framesizeIn);
+<a name="l00132"></a>00132         
+<a name="l00133"></a>00133         <span class="keywordflow">return</span> erreur;
+<a name="l00134"></a>00134 }
+<a name="l00135"></a>00135 
+<a name="l00136"></a>00136 
+<a name="l00137"></a><a class="code" href="group__common.html#ga7b6cf1c3b04b4758f8c256879c96672">00137</a> <span class="keywordtype">int</span> <a class="code" href="group__common.html#ga7b6cf1c3b04b4758f8c256879c96672">close_v4l</a> (<span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd){
+<a name="l00138"></a>00138         <span class="keywordflow">if</span> (vd-&gt;<a class="code" href="structvdIn.html#faaf5caccac448b15a6f350cd02756b3">grabMethod</a>){
+<a name="l00139"></a>00139                 printf (<span class="stringliteral">"unmapping frame buffer\n"</span>);
+<a name="l00140"></a>00140       munmap (vd-&gt;<a class="code" href="structvdIn.html#d25392b0e37b39942b75f36ef87b6de7">pFramebuffer</a>, vd-&gt;<a class="code" href="structvdIn.html#b3e9cc01144f94caa3b30bde3ec7a353">mmapsize</a>);
+<a name="l00141"></a>00141         }
+<a name="l00142"></a>00142         printf (<span class="stringliteral">"freeing frame buffer\n"</span>);
+<a name="l00143"></a>00143         free (vd-&gt;<a class="code" href="structvdIn.html#ab1c2508d67a5ad1ec88bf69b0a41fb7">pixTmp</a>);
+<a name="l00144"></a>00144         
+<a name="l00145"></a>00145         printf (<span class="stringliteral">"close v4l \n"</span>);
+<a name="l00146"></a>00146         close (vd-&gt;<a class="code" href="structvdIn.html#1fa060f09cd0b1a126c5cfe7f8755aa0">fd</a>);
+<a name="l00147"></a>00147         <span class="keywordflow">return</span> 0;
+<a name="l00148"></a>00148 }
+<a name="l00149"></a>00149 
+<a name="l00150"></a>00150 
+<a name="l00151"></a><a class="code" href="camv4l_8c.html#1da8db34b1923c570a40f54e2b22ca39">00151</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="camv4l_8c.html#1da8db34b1923c570a40f54e2b22ca39">flipUV</a> (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *src, <span class="keywordtype">int</span> format, <span class="keywordtype">int</span> w, <span class="keywordtype">int</span> h){
+<a name="l00152"></a>00152         __u32 *lpix;
+<a name="l00153"></a>00153         __u16 *pix;
+<a name="l00154"></a>00154         __u8 *V;
+<a name="l00155"></a>00155         __u8 *U;
+<a name="l00156"></a>00156         __u8 *savC = NULL;
+<a name="l00157"></a>00157         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> tmp;
+<a name="l00158"></a>00158         <span class="keywordtype">int</span> sizetransfert = 0;
+<a name="l00159"></a>00159         <span class="keywordtype">int</span> <a class="code" href="grab__mpeg_8c.html#cb559820d9ca11295b4500f179ef6392">i</a>;
+<a name="l00160"></a>00160 
+<a name="l00161"></a>00161         <span class="keywordflow">if</span> (format == <a class="code" href="camv4l_8h.html#f86678f63c4ac31acaf68b38d90d94a9">VIDEO_PALETTE_RAW_JPEG</a>){
+<a name="l00162"></a>00162       <span class="comment">/*nothing todo */</span>
+<a name="l00163"></a>00163       <span class="keywordflow">return</span>;
+<a name="l00164"></a>00164         }
+<a name="l00165"></a>00165 
+<a name="l00166"></a>00166         <span class="keywordflow">switch</span> (format){
+<a name="l00167"></a>00167     <span class="keywordflow">case</span> <a class="code" href="camv4l_8h.html#dea1e94780da3ba61a1a1d9a11affdd2">VIDEO_PALETTE_YUV420P</a>:{
+<a name="l00168"></a>00168                 <span class="comment">/* allocate a helper buffer */</span>
+<a name="l00169"></a>00169                 sizetransfert = (w * h &gt;&gt; 2);
+<a name="l00170"></a>00170                 savC = (__u8 *) realloc (savC, (size_t) sizetransfert);
+<a name="l00171"></a>00171                 U = src + (w * h);
+<a name="l00172"></a>00172                 V = src + (w * h) + sizetransfert;
+<a name="l00173"></a>00173                 <span class="comment">/* save U */</span>
+<a name="l00174"></a>00174                 memcpy (savC, U, sizetransfert);
+<a name="l00175"></a>00175                 <span class="comment">/* flip UV */</span>
+<a name="l00176"></a>00176                 memcpy (U, V, sizetransfert);
+<a name="l00177"></a>00177                 <span class="comment">/* restore U */</span>
+<a name="l00178"></a>00178                 memcpy (V, savC, sizetransfert);
+<a name="l00179"></a>00179                 free (savC);
+<a name="l00180"></a>00180                 savC = NULL;
+<a name="l00181"></a>00181                 }
+<a name="l00182"></a>00182       <span class="keywordflow">break</span>;
+<a name="l00183"></a>00183         <span class="keywordflow">case</span> <a class="code" href="camv4l_8h.html#dbf692218d97fffa111494787562d9e8">VIDEO_PALETTE_RGB565</a>: {
+<a name="l00184"></a>00184                 pix = (__u16 *) src;
+<a name="l00185"></a>00185                 <span class="keywordflow">for</span> (i = 0; i &lt; (w * h); i++){
+<a name="l00186"></a>00186                         pix[i] = (((pix[i] &amp; 0xF800) &gt;&gt; 11) | ((pix[i] &amp; 0x001F) &lt;&lt; 11) | (pix[i] &amp; 0x07E0));
+<a name="l00187"></a>00187                 }
+<a name="l00188"></a>00188         }
+<a name="l00189"></a>00189       <span class="keywordflow">break</span>;
+<a name="l00190"></a>00190    <span class="keywordflow">case</span> <a class="code" href="camv4l_8h.html#8dd93a2c957ded118f8ff17680cbf220">VIDEO_PALETTE_RGB24</a>:{
+<a name="l00191"></a>00191                 <span class="keywordflow">for</span> (i = 0; i &lt; (w * h * 3); i += 3){
+<a name="l00192"></a>00192                         tmp = src[i];
+<a name="l00193"></a>00193                         src[i] = src[i + 2];
+<a name="l00194"></a>00194                         src[i + 2] = tmp;
+<a name="l00195"></a>00195                 }
+<a name="l00196"></a>00196    }
+<a name="l00197"></a>00197       <span class="keywordflow">break</span>;
+<a name="l00198"></a>00198    <span class="keywordflow">case</span> <a class="code" href="camv4l_8h.html#d50994973596a30826522de0701ad02b">VIDEO_PALETTE_RGB32</a>:{
+<a name="l00199"></a>00199                 lpix = (__u32 *) src;
+<a name="l00200"></a>00200                 <span class="keywordflow">for</span> (i = 0; i &lt; (w * h); i++){
+<a name="l00201"></a>00201                     lpix[i] = (((lpix[i] &amp; 0x00FF0000) &gt;&gt; 16) | ((lpix[i] &amp; 0x000000FF) &lt;&lt; 16)
+<a name="l00202"></a>00202                | (lpix[i] &amp; 0x0000FF00));
+<a name="l00203"></a>00203                 }
+<a name="l00204"></a>00204    }
+<a name="l00205"></a>00205       <span class="keywordflow">break</span>;
+<a name="l00206"></a>00206    <span class="keywordflow">default</span>:
+<a name="l00207"></a>00207          <span class="keywordflow">break</span>;
+<a name="l00208"></a>00208   }
+<a name="l00209"></a>00209 }
+<a name="l00210"></a>00210 
+<a name="l00211"></a>00211 
+<a name="l00212"></a><a class="code" href="group__common.html#g2b042146ea433ba800a754e3d056a86d">00212</a> <span class="keywordtype">int</span> <a class="code" href="group__common.html#g2b042146ea433ba800a754e3d056a86d">grab</a> (<span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd){
+<a name="l00213"></a>00213         <span class="keywordtype">int</span> ff;
+<a name="l00214"></a>00214         <span class="keywordtype">int</span> len;
+<a name="l00215"></a>00215         <span class="keywordtype">int</span> status=0;
+<a name="l00216"></a>00216         <span class="comment">//int count = 0;</span>
+<a name="l00217"></a>00217         <span class="keywordtype">int</span> <a class="code" href="grab__mpeg_8c.html#439227feff9d7f55384e8780cfc2eb82">size</a>;
+<a name="l00218"></a>00218         <span class="keywordtype">int</span> erreur = 0;
+<a name="l00219"></a>00219 
+<a name="l00220"></a>00220         <span class="keywordflow">if</span> (vd-&gt;<a class="code" href="structvdIn.html#faaf5caccac448b15a6f350cd02756b3">grabMethod</a>){
+<a name="l00221"></a>00221       ff = vd-&gt;<a class="code" href="structvdIn.html#c9dc3dcb02f1472c47022ccc9f7a642a">vmmap</a>.frame;
+<a name="l00222"></a>00222       vd-&gt;<a class="code" href="structvdIn.html#c9dc3dcb02f1472c47022ccc9f7a642a">vmmap</a>.height = vd-&gt;<a class="code" href="structvdIn.html#2de78c4cff91808eb64ccab86e8d56b9">hdrheight</a>;
+<a name="l00223"></a>00223       vd-&gt;<a class="code" href="structvdIn.html#c9dc3dcb02f1472c47022ccc9f7a642a">vmmap</a>.width = vd-&gt;<a class="code" href="structvdIn.html#21a92e9c30017da96ee881bef3469f18">hdrwidth</a>;
+<a name="l00224"></a>00224       vd-&gt;<a class="code" href="structvdIn.html#c9dc3dcb02f1472c47022ccc9f7a642a">vmmap</a>.format = vd-&gt;<a class="code" href="structvdIn.html#da1a8b7c0f40c9d997f8e8fddd4bc27d">formatIn</a>;
+<a name="l00225"></a>00225       <span class="keywordflow">if</span> (ioctl (vd-&gt;<a class="code" href="structvdIn.html#1fa060f09cd0b1a126c5cfe7f8755aa0">fd</a>, VIDIOCSYNC, &amp;ff) &lt; 0){
+<a name="l00226"></a>00226                         perror (<span class="stringliteral">"cvsync err\n"</span>);
+<a name="l00227"></a>00227                         erreur = -1;
+<a name="l00228"></a>00228                 }
+<a name="l00229"></a>00229       vd-&gt;<a class="code" href="structvdIn.html#c9dc3dcb02f1472c47022ccc9f7a642a">vmmap</a>.frame = ff;
+<a name="l00230"></a>00230       memcpy (vd-&gt;<a class="code" href="structvdIn.html#ab1c2508d67a5ad1ec88bf69b0a41fb7">pixTmp</a>,vd-&gt;<a class="code" href="structvdIn.html#d25392b0e37b39942b75f36ef87b6de7">pFramebuffer</a> + vd-&gt;<a class="code" href="structvdIn.html#f87db67e1e35c6699921cb9fa9712e95">videombuf</a>.offsets[vd-&gt;<a class="code" href="structvdIn.html#c9dc3dcb02f1472c47022ccc9f7a642a">vmmap</a>.frame], vd-&gt;<a class="code" href="structvdIn.html#cc3732f98af3fe5088007d0b7b08cdca">framesizeIn</a>);
+<a name="l00231"></a>00231 
+<a name="l00232"></a>00232       <span class="keywordflow">if</span> (vd-&gt;<a class="code" href="structvdIn.html#3f2e15b67a340cc20fd9d8503afa574b">flipUV</a>){
+<a name="l00233"></a>00233                         printf(<span class="stringliteral">"Flip UV\n"</span>);
+<a name="l00234"></a>00234                         <a class="code" href="camv4l_8c.html#1da8db34b1923c570a40f54e2b22ca39">flipUV</a> (vd-&gt;<a class="code" href="structvdIn.html#ab1c2508d67a5ad1ec88bf69b0a41fb7">pixTmp</a>, vd-&gt;<a class="code" href="structvdIn.html#da1a8b7c0f40c9d997f8e8fddd4bc27d">formatIn</a>, vd-&gt;<a class="code" href="structvdIn.html#21a92e9c30017da96ee881bef3469f18">hdrwidth</a>, vd-&gt;<a class="code" href="structvdIn.html#2de78c4cff91808eb64ccab86e8d56b9">hdrheight</a>);
+<a name="l00235"></a>00235                 }
+<a name="l00236"></a>00236 
+<a name="l00237"></a>00237       <span class="keywordflow">if</span> ((ioctl (vd-&gt;<a class="code" href="structvdIn.html#1fa060f09cd0b1a126c5cfe7f8755aa0">fd</a>, VIDIOCMCAPTURE, &amp;(vd-&gt;<a class="code" href="structvdIn.html#c9dc3dcb02f1472c47022ccc9f7a642a">vmmap</a>))) &lt; 0){
+<a name="l00238"></a>00238                         perror (<span class="stringliteral">"cmcapture"</span>);
+<a name="l00239"></a>00239                         printf (<span class="stringliteral">"&gt;&gt;cmcapture err %d\n"</span>, status);
+<a name="l00240"></a>00240                         erreur = -1;
+<a name="l00241"></a>00241                 }
+<a name="l00242"></a>00242       vd-&gt;<a class="code" href="structvdIn.html#c9dc3dcb02f1472c47022ccc9f7a642a">vmmap</a>.frame = (vd-&gt;<a class="code" href="structvdIn.html#c9dc3dcb02f1472c47022ccc9f7a642a">vmmap</a>.frame + 1) % vd-&gt;<a class="code" href="structvdIn.html#f87db67e1e35c6699921cb9fa9712e95">videombuf</a>.frames;
+<a name="l00243"></a>00243       <span class="comment">//printf("frame nb %d\n",vd-&gt;vmmap.frame);</span>
+<a name="l00244"></a>00244         } <span class="keywordflow">else</span> {
+<a name="l00245"></a>00245       <span class="comment">/* read method */</span>
+<a name="l00246"></a>00246       size = vd-&gt;<a class="code" href="structvdIn.html#cc3732f98af3fe5088007d0b7b08cdca">framesizeIn</a>;
+<a name="l00247"></a>00247       len = read (vd-&gt;<a class="code" href="structvdIn.html#1fa060f09cd0b1a126c5cfe7f8755aa0">fd</a>, vd-&gt;<a class="code" href="structvdIn.html#ab1c2508d67a5ad1ec88bf69b0a41fb7">pixTmp</a>, size);
+<a name="l00248"></a>00248       <span class="keywordflow">if</span> (len != size){
+<a name="l00249"></a>00249                         printf (<span class="stringliteral">"v4l read error\n"</span>);
+<a name="l00250"></a>00250                         printf (<span class="stringliteral">"len %d asked %d \n"</span>, len, size);
+<a name="l00251"></a>00251                         erreur = -1;
+<a name="l00252"></a>00252                 }
+<a name="l00253"></a>00253       <span class="keywordflow">if</span> (vd-&gt;<a class="code" href="structvdIn.html#3f2e15b67a340cc20fd9d8503afa574b">flipUV</a>){
+<a name="l00254"></a>00254                         <a class="code" href="camv4l_8c.html#1da8db34b1923c570a40f54e2b22ca39">flipUV</a> (vd-&gt;<a class="code" href="structvdIn.html#ab1c2508d67a5ad1ec88bf69b0a41fb7">pixTmp</a>, vd-&gt;<a class="code" href="structvdIn.html#da1a8b7c0f40c9d997f8e8fddd4bc27d">formatIn</a>, vd-&gt;<a class="code" href="structvdIn.html#21a92e9c30017da96ee881bef3469f18">hdrwidth</a>, vd-&gt;<a class="code" href="structvdIn.html#2de78c4cff91808eb64ccab86e8d56b9">hdrheight</a>);
+<a name="l00255"></a>00255                 }
+<a name="l00256"></a>00256         }
+<a name="l00257"></a>00257         <span class="keywordflow">return</span> erreur;
+<a name="l00258"></a>00258 }
+<a name="l00259"></a>00259 
+<a name="l00260"></a><a class="code" href="group__common.html#g4f1b347f61daa1e55c12a2a3ebb22ee3">00260</a> <span class="keywordtype">int</span> <a class="code" href="group__common.html#g4f1b347f61daa1e55c12a2a3ebb22ee3">setPalette</a> (<span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd)
+<a name="l00261"></a>00261 {
+<a name="l00262"></a>00262         vd-&gt;<a class="code" href="structvdIn.html#d8c35d451233262ff9a8f8e65be8b340">bppIn</a> = <a class="code" href="camv4l_8c.html#283b0e82a3d74f512e682a8ac52659b7">GetDepth</a> (vd-&gt;<a class="code" href="structvdIn.html#da1a8b7c0f40c9d997f8e8fddd4bc27d">formatIn</a>);
+<a name="l00263"></a>00263         vd-&gt;<a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a>.palette = vd-&gt;<a class="code" href="structvdIn.html#da1a8b7c0f40c9d997f8e8fddd4bc27d">formatIn</a>;
+<a name="l00264"></a>00264         vd-&gt;<a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a>.depth = vd-&gt;<a class="code" href="structvdIn.html#d8c35d451233262ff9a8f8e65be8b340">bppIn</a>;
+<a name="l00265"></a>00265         <a class="code" href="camv4l_8c.html#6391de2c695ffff5ba0a8632f6db3c1f">SetVideoPict</a> (vd);
+<a name="l00266"></a>00266         vd-&gt;<a class="code" href="structvdIn.html#cc3732f98af3fe5088007d0b7b08cdca">framesizeIn</a> = ((vd-&gt;<a class="code" href="structvdIn.html#21a92e9c30017da96ee881bef3469f18">hdrwidth</a> * vd-&gt;<a class="code" href="structvdIn.html#2de78c4cff91808eb64ccab86e8d56b9">hdrheight</a> * vd-&gt;<a class="code" href="structvdIn.html#d8c35d451233262ff9a8f8e65be8b340">bppIn</a>) &gt;&gt; 3);
+<a name="l00267"></a>00267         vd-&gt;<a class="code" href="structvdIn.html#ab1c2508d67a5ad1ec88bf69b0a41fb7">pixTmp</a> = (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *) realloc (vd-&gt;<a class="code" href="structvdIn.html#ab1c2508d67a5ad1ec88bf69b0a41fb7">pixTmp</a>, (size_t) vd-&gt;<a class="code" href="structvdIn.html#cc3732f98af3fe5088007d0b7b08cdca">framesizeIn</a>);
+<a name="l00268"></a>00268 
+<a name="l00269"></a>00269         <span class="keywordflow">return</span> 1;
+<a name="l00270"></a>00270 }
+<a name="l00271"></a>00271 
+<a name="l00272"></a>00272 <span class="comment">/* probe palette and set a default one for unknow cams*/</span>
+<a name="l00273"></a><a class="code" href="camv4l_8c.html#e2f8dd81ccfc3b70fdeb99b07586a1b1">00273</a> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="camv4l_8c.html#e2f8dd81ccfc3b70fdeb99b07586a1b1">probePalette</a> ( <span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd )
+<a name="l00274"></a>00274 {
+<a name="l00275"></a>00275         <span class="keyword">struct </span>video_picture pict;
+<a name="l00276"></a>00276         <span class="keywordtype">int</span> masq = 0x2;
+<a name="l00277"></a>00277         <span class="keywordtype">int</span> <a class="code" href="grab__mpeg_8c.html#cb559820d9ca11295b4500f179ef6392">i</a>;
+<a name="l00278"></a>00278         <span class="keywordtype">int</span> availpal = 0;
+<a name="l00279"></a>00279         <span class="keywordtype">int</span> defaut = 1;
+<a name="l00280"></a>00280         <span class="comment">/* initialize the internal struct */</span>
+<a name="l00281"></a>00281         <span class="keywordflow">if</span> (ioctl (vd-&gt;<a class="code" href="structvdIn.html#1fa060f09cd0b1a126c5cfe7f8755aa0">fd</a>, VIDIOCGPICT, &amp;pict) &lt; 0)
+<a name="l00282"></a>00282                 {
+<a name="l00283"></a>00283                 perror (<span class="stringliteral">"Couldnt get videopict params with VIDIOCGPICT\n"</span>);
+<a name="l00284"></a>00284                 <span class="keywordflow">return</span> -1;
+<a name="l00285"></a>00285                  }
+<a name="l00286"></a>00286         <span class="comment">/* try each palette we have we skip raw_jpeg */</span>
+<a name="l00287"></a>00287         <span class="keywordflow">for</span>(i = 0; i &lt; <a class="code" href="camv4l_8c.html#1ae3f99c00fbdb4eec4a4eb4fdfeacd0">LEN_PALLETE</a> ; i++){
+<a name="l00288"></a>00288                 pict.palette = <a class="code" href="camv4l_8c.html#ee54b939c70ffe5540c8e77e8b75c331">PAL</a>[i];
+<a name="l00289"></a>00289                 <span class="comment">/* maybe correct the bug on qca driver depth always 24 ? */</span>     
+<a name="l00290"></a>00290                 pict.depth = <a class="code" href="camv4l_8c.html#283b0e82a3d74f512e682a8ac52659b7">GetDepth</a> (<a class="code" href="camv4l_8c.html#ee54b939c70ffe5540c8e77e8b75c331">PAL</a>[i]);
+<a name="l00291"></a>00291                 printf(<span class="stringliteral">"try palette %d depth %d\n"</span>,pict.palette,pict.depth);
+<a name="l00292"></a>00292                 <span class="keywordflow">if</span> (ioctl (vd-&gt;<a class="code" href="structvdIn.html#1fa060f09cd0b1a126c5cfe7f8755aa0">fd</a>, VIDIOCSPICT, &amp;pict) &lt; 0){
+<a name="l00293"></a>00293                         printf(<span class="stringliteral">"Couldn't set palette first try %d \n"</span>, <a class="code" href="camv4l_8c.html#ee54b939c70ffe5540c8e77e8b75c331">PAL</a>[i]);
+<a name="l00294"></a>00294                 }
+<a name="l00295"></a>00295                 <span class="keywordflow">if</span> (ioctl (vd-&gt;<a class="code" href="structvdIn.html#1fa060f09cd0b1a126c5cfe7f8755aa0">fd</a>, VIDIOCGPICT, &amp;pict) &lt; 0){
+<a name="l00296"></a>00296                 printf(<span class="stringliteral">"Couldnt get palette %d \n"</span>, <a class="code" href="camv4l_8c.html#ee54b939c70ffe5540c8e77e8b75c331">PAL</a>[i]);
+<a name="l00297"></a>00297         }
+<a name="l00298"></a>00298                 <span class="keywordflow">if</span> (pict.palette != <a class="code" href="camv4l_8c.html#ee54b939c70ffe5540c8e77e8b75c331">PAL</a>[i]){
+<a name="l00299"></a>00299                         printf(<span class="stringliteral">"Damned second try fail \n"</span>);    
+<a name="l00300"></a>00300                 }
+<a name="l00301"></a>00301                 <span class="keywordflow">else</span> {
+<a name="l00302"></a>00302                         availpal = availpal | masq ;
+<a name="l00303"></a>00303                         printf(<span class="stringliteral">"Available  palette %d \n"</span>, <a class="code" href="camv4l_8c.html#ee54b939c70ffe5540c8e77e8b75c331">PAL</a>[i]);
+<a name="l00304"></a>00304                         <span class="keywordflow">if</span> (defaut){
+<a name="l00305"></a>00305                                 defaut = 0;
+<a name="l00306"></a>00306                                 vd-&gt;<a class="code" href="structvdIn.html#da1a8b7c0f40c9d997f8e8fddd4bc27d">formatIn</a> = <a class="code" href="camv4l_8c.html#ee54b939c70ffe5540c8e77e8b75c331">PAL</a>[i];
+<a name="l00307"></a>00307                                 vd-&gt;<a class="code" href="structvdIn.html#d8c35d451233262ff9a8f8e65be8b340">bppIn</a> = <a class="code" href="camv4l_8c.html#283b0e82a3d74f512e682a8ac52659b7">GetDepth</a> (<a class="code" href="camv4l_8c.html#ee54b939c70ffe5540c8e77e8b75c331">PAL</a>[i]);
+<a name="l00308"></a>00308                         }
+<a name="l00309"></a>00309                 }
+<a name="l00310"></a>00310                 masq = masq &lt;&lt; 1;
+<a name="l00311"></a>00311         }
+<a name="l00312"></a>00312         vd-&gt;<a class="code" href="structvdIn.html#c14641e9e17d20d732e717f3d2d4abe6">palette</a> = availpal;
+<a name="l00313"></a>00313         printf(<span class="stringliteral">"Vybrana paleta je %d\n"</span>,availpal);
+<a name="l00314"></a>00314         <span class="comment">//should set default palette here ?</span>
+<a name="l00315"></a>00315         <span class="keywordflow">return</span> 1;       
+<a name="l00316"></a>00316 }
+<a name="l00317"></a>00317 
+<a name="l00318"></a>00318 
+<a name="l00319"></a>00319 <span class="comment">/* probe size and set a default one for unknow cams */</span>
+<a name="l00320"></a><a class="code" href="camv4l_8c.html#bee824dc095955f0175643284986b23e">00320</a> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="camv4l_8c.html#bee824dc095955f0175643284986b23e">probeSize</a> ( <span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd )
+<a name="l00321"></a>00321 {
+<a name="l00322"></a>00322         <span class="keyword">struct </span>video_window win;
+<a name="l00323"></a>00323         <span class="keywordtype">int</span> maxw,minw,maxh,minh;
+<a name="l00324"></a>00324         <span class="keywordtype">int</span> masq = 0x1;
+<a name="l00325"></a>00325         <span class="keywordtype">int</span> <a class="code" href="grab__mpeg_8c.html#cb559820d9ca11295b4500f179ef6392">i</a> = 0;
+<a name="l00326"></a>00326         <span class="keywordtype">int</span> defaut = 1 ;
+<a name="l00327"></a>00327         <span class="comment">/* initialize de parameters */</span>
+<a name="l00328"></a>00328         maxw = vd-&gt;<a class="code" href="structvdIn.html#6ff6c76abc3558e5065c29f7a4e22e62">videocap</a>.maxwidth;
+<a name="l00329"></a>00329         minw = vd-&gt;<a class="code" href="structvdIn.html#6ff6c76abc3558e5065c29f7a4e22e62">videocap</a>.minwidth;
+<a name="l00330"></a>00330         maxh = vd-&gt;<a class="code" href="structvdIn.html#6ff6c76abc3558e5065c29f7a4e22e62">videocap</a>.maxheight;
+<a name="l00331"></a>00331         minh = vd-&gt;<a class="code" href="structvdIn.html#6ff6c76abc3558e5065c29f7a4e22e62">videocap</a>.minheight;
+<a name="l00332"></a>00332         printf(<span class="stringliteral">"probe size in \n"</span>);
+<a name="l00333"></a>00333 
+<a name="l00334"></a>00334         <span class="keywordflow">while</span> (<a class="code" href="camv4l_8c.html#26ffb7e515435a5ff2d24656ecacd181">SIZE</a>[i] &gt; maxw){
+<a name="l00335"></a>00335                 printf(<span class="stringliteral">"skip size %d x %d\n"</span>,<a class="code" href="camv4l_8c.html#26ffb7e515435a5ff2d24656ecacd181">SIZE</a>[i],<a class="code" href="camv4l_8c.html#26ffb7e515435a5ff2d24656ecacd181">SIZE</a>[i+1]);
+<a name="l00336"></a>00336                 i += 2;
+<a name="l00337"></a>00337                 masq = masq &lt;&lt; 1;
+<a name="l00338"></a>00338                 <span class="keywordflow">if</span> (i &gt; 13) <span class="keywordflow">break</span>;
+<a name="l00339"></a>00339         }
+<a name="l00340"></a>00340         <span class="comment">/* initialize the internal struct */</span>
+<a name="l00341"></a>00341         <span class="keywordflow">if</span> (ioctl (vd-&gt;<a class="code" href="structvdIn.html#1fa060f09cd0b1a126c5cfe7f8755aa0">fd</a>, VIDIOCGWIN, &amp;win) &lt; 0) {
+<a name="l00342"></a>00342                 perror (<span class="stringliteral">"VIDIOCGWIN failed \n"</span>);
+<a name="l00343"></a>00343                 <span class="keywordflow">return</span> -1;
+<a name="l00344"></a>00344         }
+<a name="l00345"></a>00345         <span class="comment">/* now i is on the first possible width */</span>
+<a name="l00346"></a>00346         <span class="keywordflow">while</span> ((<a class="code" href="camv4l_8c.html#26ffb7e515435a5ff2d24656ecacd181">SIZE</a>[i] &gt;= minw) &amp;&amp; i &lt; 13) {
+<a name="l00347"></a>00347                 win.width = <a class="code" href="camv4l_8c.html#26ffb7e515435a5ff2d24656ecacd181">SIZE</a>[i];
+<a name="l00348"></a>00348                 win.height = <a class="code" href="camv4l_8c.html#26ffb7e515435a5ff2d24656ecacd181">SIZE</a>[i+1];
+<a name="l00349"></a>00349                 <span class="keywordflow">if</span> (ioctl (vd-&gt;<a class="code" href="structvdIn.html#1fa060f09cd0b1a126c5cfe7f8755aa0">fd</a>, VIDIOCSWIN, &amp;win) &lt; 0) {
+<a name="l00350"></a>00350                 printf (<span class="stringliteral">"VIDIOCSWIN reject width %d  height %d \n"</span>,
+<a name="l00351"></a>00351                         win.width, win.height);       
+<a name="l00352"></a>00352         } <span class="keywordflow">else</span> {
+<a name="l00353"></a>00353                         vd-&gt;<a class="code" href="structvdIn.html#c9e3e139d21e29564e594b3375bc14bf">sizeothers</a> = vd-&gt;<a class="code" href="structvdIn.html#c9e3e139d21e29564e594b3375bc14bf">sizeothers</a> | masq;
+<a name="l00354"></a>00354                         printf (<span class="stringliteral">"Available Resolutions width %d  heigth %d \n"</span>,
+<a name="l00355"></a>00355                         win.width, win.height);
+<a name="l00356"></a>00356                         <span class="keywordflow">if</span> (defaut){
+<a name="l00357"></a>00357                                 vd-&gt;<a class="code" href="structvdIn.html#21a92e9c30017da96ee881bef3469f18">hdrwidth</a> = win.width;
+<a name="l00358"></a>00358                                 vd-&gt;<a class="code" href="structvdIn.html#2de78c4cff91808eb64ccab86e8d56b9">hdrheight</a> = win.height;
+<a name="l00359"></a>00359                                 defaut = 0;
+<a name="l00360"></a>00360                         }
+<a name="l00361"></a>00361                 }
+<a name="l00362"></a>00362                 masq = masq &lt;&lt; 1 ;
+<a name="l00363"></a>00363                 i += 2;
+<a name="l00364"></a>00364         }
+<a name="l00365"></a>00365         <span class="keywordflow">return</span> 1;       
+<a name="l00366"></a>00366 }
+<a name="l00367"></a>00367 
+<a name="l00368"></a><a class="code" href="group__common.html#gc42ddb12fdb3b8855b07988e18d09432">00368</a> <span class="keywordtype">int</span> <a class="code" href="group__common.html#gc42ddb12fdb3b8855b07988e18d09432">changeSize</a> (<span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd)
+<a name="l00369"></a>00369 {
+<a name="l00370"></a>00370         <span class="keywordtype">int</span> erreur;
+<a name="l00371"></a>00371         erreur = <a class="code" href="camv4l_8c.html#8cb6f747fd7726860f771609946d09b3">GetVideoPict</a> (vd);
+<a name="l00372"></a>00372         vd-&gt;<a class="code" href="structvdIn.html#da1a8b7c0f40c9d997f8e8fddd4bc27d">formatIn</a> = vd-&gt;<a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a>.palette;
+<a name="l00373"></a>00373         vd-&gt;<a class="code" href="structvdIn.html#d8c35d451233262ff9a8f8e65be8b340">bppIn</a> = vd-&gt;<a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a>.depth;
+<a name="l00374"></a>00374         <span class="comment">/* To Compute the estimate frame size perhaps not need !!! */</span>
+<a name="l00375"></a>00375         <span class="keywordflow">if</span> ((vd-&gt;<a class="code" href="structvdIn.html#d8c35d451233262ff9a8f8e65be8b340">bppIn</a> = <a class="code" href="camv4l_8c.html#283b0e82a3d74f512e682a8ac52659b7">GetDepth</a> (vd-&gt;<a class="code" href="structvdIn.html#da1a8b7c0f40c9d997f8e8fddd4bc27d">formatIn</a>)) &lt; 0){
+<a name="l00376"></a>00376                 perror (<span class="stringliteral">"getdepth  failed \n"</span>);
+<a name="l00377"></a>00377       exit (1);
+<a name="l00378"></a>00378         }
+<a name="l00379"></a>00379         <span class="keywordflow">if</span> (vd-&gt;<a class="code" href="structvdIn.html#faaf5caccac448b15a6f350cd02756b3">grabMethod</a>){
+<a name="l00380"></a>00380       vd-&gt;<a class="code" href="structvdIn.html#c9dc3dcb02f1472c47022ccc9f7a642a">vmmap</a>.height = vd-&gt;<a class="code" href="structvdIn.html#2de78c4cff91808eb64ccab86e8d56b9">hdrheight</a>;
+<a name="l00381"></a>00381       vd-&gt;<a class="code" href="structvdIn.html#c9dc3dcb02f1472c47022ccc9f7a642a">vmmap</a>.width = vd-&gt;<a class="code" href="structvdIn.html#21a92e9c30017da96ee881bef3469f18">hdrwidth</a>;
+<a name="l00382"></a>00382       vd-&gt;<a class="code" href="structvdIn.html#c9dc3dcb02f1472c47022ccc9f7a642a">vmmap</a>.format = vd-&gt;<a class="code" href="structvdIn.html#da1a8b7c0f40c9d997f8e8fddd4bc27d">formatIn</a>;
+<a name="l00383"></a>00383    } <span class="keywordflow">else</span> {
+<a name="l00384"></a>00384                 <span class="keywordflow">if</span> (ioctl (vd-&gt;<a class="code" href="structvdIn.html#1fa060f09cd0b1a126c5cfe7f8755aa0">fd</a>, VIDIOCGWIN, &amp;vd-&gt;<a class="code" href="structvdIn.html#0e7511ef2c4e487b09c0cf0786cde912">videowin</a>) &lt; 0)
+<a name="l00385"></a>00385                         perror (<span class="stringliteral">"VIDIOCGWIN failed \n"</span>);
+<a name="l00386"></a>00386       vd-&gt;<a class="code" href="structvdIn.html#0e7511ef2c4e487b09c0cf0786cde912">videowin</a>.height = vd-&gt;<a class="code" href="structvdIn.html#2de78c4cff91808eb64ccab86e8d56b9">hdrheight</a>;
+<a name="l00387"></a>00387       vd-&gt;<a class="code" href="structvdIn.html#0e7511ef2c4e487b09c0cf0786cde912">videowin</a>.width = vd-&gt;<a class="code" href="structvdIn.html#21a92e9c30017da96ee881bef3469f18">hdrwidth</a>;
+<a name="l00388"></a>00388       <span class="keywordflow">if</span> (ioctl (vd-&gt;<a class="code" href="structvdIn.html#1fa060f09cd0b1a126c5cfe7f8755aa0">fd</a>, VIDIOCSWIN, &amp;vd-&gt;<a class="code" href="structvdIn.html#0e7511ef2c4e487b09c0cf0786cde912">videowin</a>) &lt; 0)
+<a name="l00389"></a>00389                         perror (<span class="stringliteral">"VIDIOCSWIN failed \n"</span>);
+<a name="l00390"></a>00390 
+<a name="l00391"></a>00391       printf (<span class="stringliteral">"VIDIOCGWIN height %d  width %d \n"</span>,vd-&gt;<a class="code" href="structvdIn.html#0e7511ef2c4e487b09c0cf0786cde912">videowin</a>.height, vd-&gt;<a class="code" href="structvdIn.html#0e7511ef2c4e487b09c0cf0786cde912">videowin</a>.width);
+<a name="l00392"></a>00392    }
+<a name="l00393"></a>00393         vd-&gt;<a class="code" href="structvdIn.html#cc3732f98af3fe5088007d0b7b08cdca">framesizeIn</a> = ((vd-&gt;<a class="code" href="structvdIn.html#21a92e9c30017da96ee881bef3469f18">hdrwidth</a> * vd-&gt;<a class="code" href="structvdIn.html#2de78c4cff91808eb64ccab86e8d56b9">hdrheight</a> * vd-&gt;<a class="code" href="structvdIn.html#d8c35d451233262ff9a8f8e65be8b340">bppIn</a>) &gt;&gt; 3);
+<a name="l00394"></a>00394         vd-&gt;<a class="code" href="structvdIn.html#ab1c2508d67a5ad1ec88bf69b0a41fb7">pixTmp</a> =
+<a name="l00395"></a>00395    (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *) realloc (vd-&gt;<a class="code" href="structvdIn.html#ab1c2508d67a5ad1ec88bf69b0a41fb7">pixTmp</a>, (size_t) vd-&gt;<a class="code" href="structvdIn.html#cc3732f98af3fe5088007d0b7b08cdca">framesizeIn</a>);
+<a name="l00396"></a>00396         <span class="keywordflow">return</span> 1;
+<a name="l00397"></a>00397 }
+<a name="l00398"></a>00398 
+<a name="l00399"></a>00399 
+<a name="l00400"></a><a class="code" href="camv4l_8c.html#8cb6f747fd7726860f771609946d09b3">00400</a> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="camv4l_8c.html#8cb6f747fd7726860f771609946d09b3">GetVideoPict</a> (<span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd)
+<a name="l00401"></a>00401 {
+<a name="l00402"></a>00402   <span class="keywordflow">if</span> (ioctl (vd-&gt;<a class="code" href="structvdIn.html#1fa060f09cd0b1a126c5cfe7f8755aa0">fd</a>, VIDIOCGPICT, &amp;vd-&gt;<a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a>) &lt; 0){
+<a name="l00403"></a>00403       perror (<span class="stringliteral">"Couldnt get videopict params with VIDIOCGPICT\n"</span>);
+<a name="l00404"></a>00404       <span class="keywordflow">return</span> -1;
+<a name="l00405"></a>00405   }
+<a name="l00406"></a>00406 
+<a name="l00407"></a>00407   printf (<span class="stringliteral">"VIDIOCGPICT brightnes=%d hue=%d color=%d contrast=%d whiteness=%d"</span>
+<a name="l00408"></a>00408           <span class="stringliteral">"depth=%d palette=%d\n"</span>, vd-&gt;<a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a>.brightness,
+<a name="l00409"></a>00409           vd-&gt;<a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a>.hue, vd-&gt;<a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a>.colour, vd-&gt;<a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a>.contrast,
+<a name="l00410"></a>00410           vd-&gt;<a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a>.whiteness, vd-&gt;<a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a>.depth,
+<a name="l00411"></a>00411           vd-&gt;<a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a>.palette);
+<a name="l00412"></a>00412 
+<a name="l00413"></a>00413   <span class="keywordflow">return</span> 0;
+<a name="l00414"></a>00414 }
+<a name="l00415"></a>00415 
+<a name="l00416"></a><a class="code" href="camv4l_8c.html#6391de2c695ffff5ba0a8632f6db3c1f">00416</a> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="camv4l_8c.html#6391de2c695ffff5ba0a8632f6db3c1f">SetVideoPict</a> (<span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd)
+<a name="l00417"></a>00417 {
+<a name="l00418"></a>00418         <span class="keywordflow">if</span> (ioctl (vd-&gt;<a class="code" href="structvdIn.html#1fa060f09cd0b1a126c5cfe7f8755aa0">fd</a>, VIDIOCSPICT, &amp;vd-&gt;<a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a>) &lt; 0){
+<a name="l00419"></a>00419       perror (<span class="stringliteral">"Couldnt set videopict params with VIDIOCSPICT\n"</span>);
+<a name="l00420"></a>00420       <span class="keywordflow">return</span> -1;
+<a name="l00421"></a>00421         }
+<a name="l00422"></a>00422         
+<a name="l00423"></a>00423         printf (<span class="stringliteral">"VIDIOCSPICT brightnes=%d hue=%d color=%d contrast=%d whiteness=%d"</span>
+<a name="l00424"></a>00424           <span class="stringliteral">"depth=%d palette=%d\n"</span>, vd-&gt;<a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a>.brightness,
+<a name="l00425"></a>00425           vd-&gt;<a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a>.hue, vd-&gt;<a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a>.colour, vd-&gt;<a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a>.contrast,
+<a name="l00426"></a>00426           vd-&gt;<a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a>.whiteness, vd-&gt;<a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a>.depth,
+<a name="l00427"></a>00427           vd-&gt;<a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a>.palette);
+<a name="l00428"></a>00428 
+<a name="l00429"></a>00429   <span class="keywordflow">return</span> 0;
+<a name="l00430"></a>00430 }
+<a name="l00431"></a>00431 
+<a name="l00432"></a><a class="code" href="camv4l_8c.html#283b0e82a3d74f512e682a8ac52659b7">00432</a> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="camv4l_8c.html#283b0e82a3d74f512e682a8ac52659b7">GetDepth</a>(<span class="keywordtype">int</span> format)
+<a name="l00433"></a>00433 {
+<a name="l00434"></a>00434   <span class="keywordtype">int</span> depth;
+<a name="l00435"></a>00435   <span class="keywordflow">switch</span> (format)
+<a name="l00436"></a>00436     {
+<a name="l00437"></a>00437     <span class="keywordflow">case</span> <a class="code" href="camv4l_8h.html#f86678f63c4ac31acaf68b38d90d94a9">VIDEO_PALETTE_RAW_JPEG</a>:
+<a name="l00438"></a>00438       {
+<a name="l00439"></a>00439         depth = 8;              <span class="comment">// be sure spca50x ask raw data</span>
+<a name="l00440"></a>00440       }
+<a name="l00441"></a>00441       <span class="keywordflow">break</span>;
+<a name="l00442"></a>00442     <span class="keywordflow">case</span> <a class="code" href="camv4l_8h.html#dea1e94780da3ba61a1a1d9a11affdd2">VIDEO_PALETTE_YUV420P</a>:
+<a name="l00443"></a>00443       {
+<a name="l00444"></a>00444         depth = (8 * 3) &gt;&gt; 1;
+<a name="l00445"></a>00445       }
+<a name="l00446"></a>00446       <span class="keywordflow">break</span>;
+<a name="l00447"></a>00447     <span class="keywordflow">case</span> <a class="code" href="camv4l_8h.html#dbf692218d97fffa111494787562d9e8">VIDEO_PALETTE_RGB565</a>:
+<a name="l00448"></a>00448       depth = 16;
+<a name="l00449"></a>00449       <span class="keywordflow">break</span>;
+<a name="l00450"></a>00450     <span class="keywordflow">case</span> <a class="code" href="camv4l_8h.html#8dd93a2c957ded118f8ff17680cbf220">VIDEO_PALETTE_RGB24</a>:
+<a name="l00451"></a>00451       depth = 24;
+<a name="l00452"></a>00452       <span class="keywordflow">break</span>;
+<a name="l00453"></a>00453     <span class="keywordflow">case</span> <a class="code" href="camv4l_8h.html#d50994973596a30826522de0701ad02b">VIDEO_PALETTE_RGB32</a>:
+<a name="l00454"></a>00454       {
+<a name="l00455"></a>00455         depth = 32;
+<a name="l00456"></a>00456       }
+<a name="l00457"></a>00457       <span class="keywordflow">break</span>;
+<a name="l00458"></a>00458     <span class="keywordflow">default</span>:
+<a name="l00459"></a>00459       depth = -1;
+<a name="l00460"></a>00460       <span class="keywordflow">break</span>;
+<a name="l00461"></a>00461     }
+<a name="l00462"></a>00462   <span class="keywordflow">return</span> depth;
+<a name="l00463"></a>00463 }
+<a name="l00464"></a>00464 
+<a name="l00465"></a><a class="code" href="group__common.html#ga35212f7c527f755fd38ed31f6567876">00465</a> __u8 <a class="code" href="group__common.html#ga35212f7c527f755fd38ed31f6567876">getBrightness</a> (<span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> * vdin)
+<a name="l00466"></a>00466 {
+<a name="l00467"></a>00467   <span class="keywordflow">if</span> (<a class="code" href="camv4l_8c.html#8cb6f747fd7726860f771609946d09b3">GetVideoPict</a> (vdin) &lt; 0)
+<a name="l00468"></a>00468     {
+<a name="l00469"></a>00469       printf (<span class="stringliteral">" Error getBrightness \n"</span>);
+<a name="l00470"></a>00470       <span class="keywordflow">return</span> 0;
+<a name="l00471"></a>00471     }
+<a name="l00472"></a>00472   <span class="keywordflow">return</span> ((vdin-&gt;videopict.brightness) &gt;&gt; 8);
+<a name="l00473"></a>00473 }
+<a name="l00474"></a>00474 
+<a name="l00475"></a><a class="code" href="group__common.html#ge1d8001afa8f1cbe9ff187e53e9089bb">00475</a> <span class="keywordtype">void</span> <a class="code" href="group__common.html#ge1d8001afa8f1cbe9ff187e53e9089bb">setBrightness</a> (<span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vdin, __u8 bright)
+<a name="l00476"></a>00476 {
+<a name="l00477"></a>00477   vdin-&gt;<a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a>.brightness = bright &lt;&lt; 8;
+<a name="l00478"></a>00478   <span class="keywordflow">if</span> (<a class="code" href="camv4l_8c.html#6391de2c695ffff5ba0a8632f6db3c1f">SetVideoPict</a> (vdin) &lt; 0)
+<a name="l00479"></a>00479     {
+<a name="l00480"></a>00480       printf (<span class="stringliteral">" Error setBrightness \n"</span>);
+<a name="l00481"></a>00481     }
+<a name="l00482"></a>00482 
+<a name="l00483"></a>00483 }
+<a name="l00484"></a>00484 
+<a name="l00485"></a><a class="code" href="group__common.html#g27a2a2aa5b19632b19ebc8c0652b097e">00485</a> __u8 <a class="code" href="group__common.html#g27a2a2aa5b19632b19ebc8c0652b097e">getContrast</a> (<span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vdin)
+<a name="l00486"></a>00486 {
+<a name="l00487"></a>00487   <span class="keywordflow">if</span> (<a class="code" href="camv4l_8c.html#8cb6f747fd7726860f771609946d09b3">GetVideoPict</a> (vdin) &lt; 0)
+<a name="l00488"></a>00488     {
+<a name="l00489"></a>00489       printf (<span class="stringliteral">" Error getContrast \n"</span>);
+<a name="l00490"></a>00490       <span class="keywordflow">return</span> 0;
+<a name="l00491"></a>00491     }
+<a name="l00492"></a>00492   <span class="keywordflow">return</span> ((vdin-&gt;videopict.contrast) &gt;&gt; 8);
+<a name="l00493"></a>00493 }
+<a name="l00494"></a>00494 
+<a name="l00495"></a><a class="code" href="group__common.html#g3386f2919710868906af5025aa220f64">00495</a> <span class="keywordtype">void</span> <a class="code" href="group__common.html#g3386f2919710868906af5025aa220f64">setContrast</a> (<span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vdin, __u8 contrast)
+<a name="l00496"></a>00496 {
+<a name="l00497"></a>00497   vdin-&gt;<a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a>.contrast = contrast &lt;&lt; 8;
+<a name="l00498"></a>00498   <span class="keywordflow">if</span> (<a class="code" href="camv4l_8c.html#6391de2c695ffff5ba0a8632f6db3c1f">SetVideoPict</a> (vdin) &lt; 0)
+<a name="l00499"></a>00499     {
+<a name="l00500"></a>00500       printf (<span class="stringliteral">" Error setContrast \n"</span>);
+<a name="l00501"></a>00501     }
+<a name="l00502"></a>00502 }
+<a name="l00503"></a><a class="code" href="group__common.html#g099243def65c4c72efa563e1c3a95f6a">00503</a> __u8 <a class="code" href="group__common.html#g099243def65c4c72efa563e1c3a95f6a">getColors</a> (<span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vdin)
+<a name="l00504"></a>00504 {
+<a name="l00505"></a>00505   <span class="keywordflow">if</span> (<a class="code" href="camv4l_8c.html#8cb6f747fd7726860f771609946d09b3">GetVideoPict</a> (vdin) &lt; 0)
+<a name="l00506"></a>00506     {
+<a name="l00507"></a>00507       printf (<span class="stringliteral">" Error getColors \n"</span>);
+<a name="l00508"></a>00508       <span class="keywordflow">return</span> 0;
+<a name="l00509"></a>00509     }
+<a name="l00510"></a>00510   <span class="keywordflow">return</span> ((vdin-&gt;videopict.colour) &gt;&gt; 8);
+<a name="l00511"></a>00511 }
+<a name="l00512"></a>00512 
+<a name="l00513"></a><a class="code" href="group__common.html#g20703b2ca537132fde1e0a9fccbfd6c5">00513</a> <span class="keywordtype">void</span> <a class="code" href="group__common.html#g20703b2ca537132fde1e0a9fccbfd6c5">setColors</a> (<span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vdin, __u8 colors)
+<a name="l00514"></a>00514 {
+<a name="l00515"></a>00515   vdin-&gt;<a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a>.colour = colors &lt;&lt; 8;
+<a name="l00516"></a>00516   <span class="keywordflow">if</span> (<a class="code" href="camv4l_8c.html#6391de2c695ffff5ba0a8632f6db3c1f">SetVideoPict</a> (vdin) &lt; 0)
+<a name="l00517"></a>00517     {
+<a name="l00518"></a>00518       printf (<span class="stringliteral">" Error setColors \n"</span>);
+<a name="l00519"></a>00519     }
+<a name="l00520"></a>00520 }
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Jan 26 20:51:50 2009 for Camera grab convert to MPEG by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+</body>
+</html>
diff --git a/doc/html/camv4l_8c.html b/doc/html/camv4l_8c.html
new file mode 100644 (file)
index 0000000..854a5a5
--- /dev/null
@@ -0,0 +1,322 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Camera grab convert to MPEG: camv4l.c File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<h1>camv4l.c File Reference</h1>This file implement function. <a href="#_details">More...</a>
+<p>
+<code>#include &quot;<a class="el" href="camv4l_8h-source.html">camv4l.h</a>&quot;</code><br>
+
+<p>
+Include dependency graph for camv4l.c:
+<p>
+<a href="camv4l_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="camv4l_8c.html#1ae3f99c00fbdb4eec4a4eb4fdfeacd0">LEN_PALLETE</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="camv4l_8c.html#8cb6f747fd7726860f771609946d09b3">GetVideoPict</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="camv4l_8c.html#6391de2c695ffff5ba0a8632f6db3c1f">SetVideoPict</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="camv4l_8c.html#283b0e82a3d74f512e682a8ac52659b7">GetDepth</a> (int format)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="camv4l_8c.html#e2f8dd81ccfc3b70fdeb99b07586a1b1">probePalette</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="camv4l_8c.html#bee824dc095955f0175643284986b23e">probeSize</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#gdc0c206abad8d7210c57022190f93dc4">init_v4l</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#ga7b6cf1c3b04b4758f8c256879c96672">close_v4l</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="camv4l_8c.html#1da8db34b1923c570a40f54e2b22ca39">flipUV</a> (unsigned char *src, int format, int w, int h)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#g2b042146ea433ba800a754e3d056a86d">grab</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#g4f1b347f61daa1e55c12a2a3ebb22ee3">setPalette</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#gc42ddb12fdb3b8855b07988e18d09432">changeSize</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">__u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#ga35212f7c527f755fd38ed31f6567876">getBrightness</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vdin)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#ge1d8001afa8f1cbe9ff187e53e9089bb">setBrightness</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vdin, __u8 bright)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">__u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#g27a2a2aa5b19632b19ebc8c0652b097e">getContrast</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vdin)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#g3386f2919710868906af5025aa220f64">setContrast</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vdin, __u8 contrast)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">__u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#g099243def65c4c72efa563e1c3a95f6a">getColors</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vdin)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#g20703b2ca537132fde1e0a9fccbfd6c5">setColors</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vdin, __u8 colors)</td></tr>
+
+<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="camv4l_8c.html#ee54b939c70ffe5540c8e77e8b75c331">PAL</a> [] = {VIDEO_PALETTE_YUV420P,VIDEO_PALETTE_RGB565,VIDEO_PALETTE_RGB24,VIDEO_PALETTE_RGB32}</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Definitions.  <a href="#ee54b939c70ffe5540c8e77e8b75c331"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="camv4l_8c.html#26ffb7e515435a5ff2d24656ecacd181">SIZE</a> [] = { 640,480,384,288,352,288,320,240,192,144,176,144,160,120 }</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+This file implement function. 
+<p>
+
+<p>
+Definition in file <a class="el" href="camv4l_8c-source.html">camv4l.c</a>.<hr><h2>Define Documentation</h2>
+<a class="anchor" name="1ae3f99c00fbdb4eec4a4eb4fdfeacd0"></a><!-- doxytag: member="camv4l.c::LEN_PALLETE" ref="1ae3f99c00fbdb4eec4a4eb4fdfeacd0" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define LEN_PALLETE&nbsp;&nbsp;&nbsp;4          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8c-source.html#l00012">12</a> of file <a class="el" href="camv4l_8c-source.html">camv4l.c</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00273">probePalette()</a>.
+</div>
+</div><p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="1da8db34b1923c570a40f54e2b22ca39"></a><!-- doxytag: member="camv4l.c::flipUV" ref="1da8db34b1923c570a40f54e2b22ca39" args="(unsigned char *src, int format, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void flipUV           </td>
+          <td>(</td>
+          <td class="paramtype">unsigned char *&nbsp;</td>
+          <td class="paramname"> <em>src</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>format</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8c-source.html#l00151">151</a> of file <a class="el" href="camv4l_8c-source.html">camv4l.c</a>.
+<p>
+References <a class="el" href="grab__mpeg_8c-source.html#l00042">i</a>, <a class="el" href="camv4l_8h-source.html#l00035">VIDEO_PALETTE_RAW_JPEG</a>, <a class="el" href="camv4l_8h-source.html#l00032">VIDEO_PALETTE_RGB24</a>, <a class="el" href="camv4l_8h-source.html#l00033">VIDEO_PALETTE_RGB32</a>, <a class="el" href="camv4l_8h-source.html#l00031">VIDEO_PALETTE_RGB565</a>, and <a class="el" href="camv4l_8h-source.html#l00034">VIDEO_PALETTE_YUV420P</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00212">grab()</a>.
+</div>
+</div><p>
+<a class="anchor" name="283b0e82a3d74f512e682a8ac52659b7"></a><!-- doxytag: member="camv4l.c::GetDepth" ref="283b0e82a3d74f512e682a8ac52659b7" args="(int format)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static int GetDepth           </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>format</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8c-source.html#l00432">432</a> of file <a class="el" href="camv4l_8c-source.html">camv4l.c</a>.
+<p>
+References <a class="el" href="camv4l_8h-source.html#l00035">VIDEO_PALETTE_RAW_JPEG</a>, <a class="el" href="camv4l_8h-source.html#l00032">VIDEO_PALETTE_RGB24</a>, <a class="el" href="camv4l_8h-source.html#l00033">VIDEO_PALETTE_RGB32</a>, <a class="el" href="camv4l_8h-source.html#l00031">VIDEO_PALETTE_RGB565</a>, and <a class="el" href="camv4l_8h-source.html#l00034">VIDEO_PALETTE_YUV420P</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00368">changeSize()</a>, <a class="el" href="camv4l_8c-source.html#l00273">probePalette()</a>, and <a class="el" href="camv4l_8c-source.html#l00260">setPalette()</a>.
+</div>
+</div><p>
+<a class="anchor" name="8cb6f747fd7726860f771609946d09b3"></a><!-- doxytag: member="camv4l.c::GetVideoPict" ref="8cb6f747fd7726860f771609946d09b3" args="(struct vdIn *vd)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static int GetVideoPict           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structvdIn.html">vdIn</a> *&nbsp;</td>
+          <td class="paramname"> <em>vd</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8c-source.html#l00400">400</a> of file <a class="el" href="camv4l_8c-source.html">camv4l.c</a>.
+<p>
+References <a class="el" href="camv4l_8h-source.html#l00055">vdIn::fd</a>, and <a class="el" href="camv4l_8h-source.html#l00062">vdIn::videopict</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00368">changeSize()</a>, <a class="el" href="camv4l_8c-source.html#l00465">getBrightness()</a>, <a class="el" href="camv4l_8c-source.html#l00503">getColors()</a>, <a class="el" href="camv4l_8c-source.html#l00485">getContrast()</a>, and <a class="el" href="camv4l_8c-source.html#l00031">init_v4l()</a>.
+</div>
+</div><p>
+<a class="anchor" name="e2f8dd81ccfc3b70fdeb99b07586a1b1"></a><!-- doxytag: member="camv4l.c::probePalette" ref="e2f8dd81ccfc3b70fdeb99b07586a1b1" args="(struct vdIn *vd)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static int probePalette           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structvdIn.html">vdIn</a> *&nbsp;</td>
+          <td class="paramname"> <em>vd</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8c-source.html#l00273">273</a> of file <a class="el" href="camv4l_8c-source.html">camv4l.c</a>.
+<p>
+References <a class="el" href="camv4l_8h-source.html#l00080">vdIn::bppIn</a>, <a class="el" href="camv4l_8h-source.html#l00055">vdIn::fd</a>, <a class="el" href="camv4l_8h-source.html#l00083">vdIn::formatIn</a>, <a class="el" href="camv4l_8c-source.html#l00432">GetDepth()</a>, <a class="el" href="grab__mpeg_8c-source.html#l00042">i</a>, <a class="el" href="camv4l_8c-source.html#l00012">LEN_PALLETE</a>, <a class="el" href="camv4l_8c-source.html#l00010">PAL</a>, and <a class="el" href="camv4l_8h-source.html#l00072">vdIn::palette</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00031">init_v4l()</a>.
+</div>
+</div><p>
+<a class="anchor" name="bee824dc095955f0175643284986b23e"></a><!-- doxytag: member="camv4l.c::probeSize" ref="bee824dc095955f0175643284986b23e" args="(struct vdIn *vd)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static int probeSize           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structvdIn.html">vdIn</a> *&nbsp;</td>
+          <td class="paramname"> <em>vd</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8c-source.html#l00320">320</a> of file <a class="el" href="camv4l_8c-source.html">camv4l.c</a>.
+<p>
+References <a class="el" href="camv4l_8h-source.html#l00055">vdIn::fd</a>, <a class="el" href="camv4l_8h-source.html#l00082">vdIn::hdrheight</a>, <a class="el" href="camv4l_8h-source.html#l00081">vdIn::hdrwidth</a>, <a class="el" href="grab__mpeg_8c-source.html#l00042">i</a>, <a class="el" href="camv4l_8c-source.html#l00014">SIZE</a>, <a class="el" href="camv4l_8h-source.html#l00071">vdIn::sizeothers</a>, and <a class="el" href="camv4l_8h-source.html#l00059">vdIn::videocap</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00031">init_v4l()</a>.
+</div>
+</div><p>
+<a class="anchor" name="6391de2c695ffff5ba0a8632f6db3c1f"></a><!-- doxytag: member="camv4l.c::SetVideoPict" ref="6391de2c695ffff5ba0a8632f6db3c1f" args="(struct vdIn *vd)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static int SetVideoPict           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structvdIn.html">vdIn</a> *&nbsp;</td>
+          <td class="paramname"> <em>vd</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8c-source.html#l00416">416</a> of file <a class="el" href="camv4l_8c-source.html">camv4l.c</a>.
+<p>
+References <a class="el" href="camv4l_8h-source.html#l00055">vdIn::fd</a>, and <a class="el" href="camv4l_8h-source.html#l00062">vdIn::videopict</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00475">setBrightness()</a>, <a class="el" href="camv4l_8c-source.html#l00513">setColors()</a>, <a class="el" href="camv4l_8c-source.html#l00495">setContrast()</a>, and <a class="el" href="camv4l_8c-source.html#l00260">setPalette()</a>.
+</div>
+</div><p>
+<hr><h2>Variable Documentation</h2>
+<a class="anchor" name="ee54b939c70ffe5540c8e77e8b75c331"></a><!-- doxytag: member="camv4l.c::PAL" ref="ee54b939c70ffe5540c8e77e8b75c331" args="[]" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="camv4l_8c.html#ee54b939c70ffe5540c8e77e8b75c331">PAL</a>[] = {VIDEO_PALETTE_YUV420P,VIDEO_PALETTE_RGB565,VIDEO_PALETTE_RGB24,VIDEO_PALETTE_RGB32}          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Definitions. 
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8c-source.html#l00010">10</a> of file <a class="el" href="camv4l_8c-source.html">camv4l.c</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00273">probePalette()</a>.
+</div>
+</div><p>
+<a class="anchor" name="26ffb7e515435a5ff2d24656ecacd181"></a><!-- doxytag: member="camv4l.c::SIZE" ref="26ffb7e515435a5ff2d24656ecacd181" args="[]" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="camv4l_8c.html#26ffb7e515435a5ff2d24656ecacd181">SIZE</a>[] = { 640,480,384,288,352,288,320,240,192,144,176,144,160,120 }          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8c-source.html#l00014">14</a> of file <a class="el" href="camv4l_8c-source.html">camv4l.c</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00320">probeSize()</a>.
+</div>
+</div><p>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jan 26 20:51:51 2009 for Camera grab convert to MPEG by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+</body>
+</html>
diff --git a/doc/html/camv4l_8c__incl.dot b/doc/html/camv4l_8c__incl.dot
new file mode 100644 (file)
index 0000000..5522476
--- /dev/null
@@ -0,0 +1,9 @@
+digraph G
+{
+  edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10];
+  node [fontname="FreeSans.ttf",fontsize=10,shape=record];
+  rankdir=LR;
+  Node1 [label="camv4l.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
+  Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node2 [label="camv4l.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$camv4l_8h.html"];
+}
diff --git a/doc/html/camv4l_8c__incl.md5 b/doc/html/camv4l_8c__incl.md5
new file mode 100644 (file)
index 0000000..fc6a45e
--- /dev/null
@@ -0,0 +1 @@
+573ca771940b819f569d7b1c70c72aa3
\ No newline at end of file
diff --git a/doc/html/camv4l_8h-source.html b/doc/html/camv4l_8h-source.html
new file mode 100644 (file)
index 0000000..28067ef
--- /dev/null
@@ -0,0 +1,153 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Camera grab convert to MPEG: camv4l.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<h1>camv4l.h</h1><a href="camv4l_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef CAM_V4L_H</span>
+<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define CAM_V4L_H</span>
+<a name="l00003"></a>00003 <span class="preprocessor"></span>
+<a name="l00009"></a>00009 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
+<a name="l00010"></a>00010 <span class="preprocessor">#include &lt;unistd.h&gt;</span>
+<a name="l00011"></a>00011 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;string.h&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;fcntl.h&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;signal.h&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;errno.h&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;time.h&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;math.h&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;stdarg.h&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;linux/types.h&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;linux/videodev.h&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;sys/mman.h&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;sys/ioctl.h&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;sys/file.h&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;sys/types.h&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;sys/stat.h&gt;</span>
+<a name="l00026"></a>00026 
+<a name="l00027"></a><a class="code" href="camv4l_8h.html#7f32e26ea2ffbc0c5408e65b30d4f0c8">00027</a> <span class="preprocessor">#define DWIDTH 320      </span>
+<a name="l00028"></a><a class="code" href="camv4l_8h.html#2c0e9cadedb91327295c0249e8a3ad6f">00028</a> <span class="preprocessor">#define DHEIGHT 240  </span>
+<a name="l00029"></a>00029 <span class="preprocessor"></span>
+<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="comment">/* Input data output Palette define here */</span>
+<a name="l00031"></a><a class="code" href="camv4l_8h.html#dbf692218d97fffa111494787562d9e8">00031</a> <span class="preprocessor">#define VIDEO_PALETTE_RGB565 3          </span><span class="comment">/* 16bit RGB */</span>
+<a name="l00032"></a><a class="code" href="camv4l_8h.html#8dd93a2c957ded118f8ff17680cbf220">00032</a> <span class="preprocessor">#define VIDEO_PALETTE_RGB24  4          </span><span class="comment">/* 24bit RGB */</span>
+<a name="l00033"></a><a class="code" href="camv4l_8h.html#d50994973596a30826522de0701ad02b">00033</a> <span class="preprocessor">#define VIDEO_PALETTE_RGB32  5          </span><span class="comment">/* 32bit RGB */</span>
+<a name="l00034"></a><a class="code" href="camv4l_8h.html#dea1e94780da3ba61a1a1d9a11affdd2">00034</a> <span class="preprocessor">#define VIDEO_PALETTE_YUV420P 15        </span><span class="comment">/* YUV 420P */</span>
+<a name="l00035"></a><a class="code" href="camv4l_8h.html#f86678f63c4ac31acaf68b38d90d94a9">00035</a> <span class="preprocessor">#define VIDEO_PALETTE_RAW_JPEG  20</span>
+<a name="l00036"></a>00036 <span class="preprocessor"></span>
+<a name="l00037"></a>00037 
+<a name="l00041"></a><a class="code" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe2161">00041</a> <span class="keyword">enum</span> <a class="code" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe2161">cam_form</a> {
+<a name="l00042"></a>00042         <a class="code" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe216196f4d8a8c2070cf7bdd2236a48eae07a">JPEG</a>,
+<a name="l00043"></a>00043         <a class="code" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe21619c6051edb55a8fb694528d81aa2c92dc">YUVY</a>,
+<a name="l00044"></a>00044         <a class="code" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe21614dd75c8cff6ed2dad455d9b1e3066a7c">YYUV</a>,
+<a name="l00045"></a>00045         <a class="code" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe21610105757557d0eed9bac6f9f1c0185a0b">YUYV</a>,
+<a name="l00046"></a>00046         <a class="code" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe216138566822dbd9408c447abfd3ed4a85d2">GREY</a>,
+<a name="l00047"></a>00047         <a class="code" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe21613cae9f5260ee8e2b52164f174e076fa2">GBRG</a>,
+<a name="l00048"></a>00048         <a class="code" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe216109b024ff449662360c66ce18d20096fa">UNKNOW</a>,
+<a name="l00049"></a>00049 };
+<a name="l00050"></a>00050 
+<a name="l00054"></a><a class="code" href="structvdIn.html">00054</a> <span class="keyword">struct </span><a class="code" href="structvdIn.html">vdIn</a> {
+<a name="l00055"></a><a class="code" href="structvdIn.html#1fa060f09cd0b1a126c5cfe7f8755aa0">00055</a>         <span class="keywordtype">int</span> <a class="code" href="structvdIn.html#1fa060f09cd0b1a126c5cfe7f8755aa0">fd</a>;   <span class="comment">// file descriptor</span>
+<a name="l00056"></a><a class="code" href="structvdIn.html#a5bc365f449fae0bacc9ef7e813dfcdd">00056</a>         <span class="keywordtype">char</span> *<a class="code" href="structvdIn.html#a5bc365f449fae0bacc9ef7e813dfcdd">videodevice</a> ; <span class="comment">//name of camera</span>
+<a name="l00057"></a>00057 
+<a name="l00058"></a><a class="code" href="structvdIn.html#c9dc3dcb02f1472c47022ccc9f7a642a">00058</a>         <span class="keyword">struct </span>video_mmap vmmap;
+<a name="l00059"></a><a class="code" href="structvdIn.html#6ff6c76abc3558e5065c29f7a4e22e62">00059</a>         <span class="keyword">struct </span>video_capability videocap;
+<a name="l00060"></a><a class="code" href="structvdIn.html#b3e9cc01144f94caa3b30bde3ec7a353">00060</a>         <span class="keywordtype">int</span> <a class="code" href="structvdIn.html#b3e9cc01144f94caa3b30bde3ec7a353">mmapsize</a>;
+<a name="l00061"></a><a class="code" href="structvdIn.html#f87db67e1e35c6699921cb9fa9712e95">00061</a>         <span class="keyword">struct </span>video_mbuf videombuf;
+<a name="l00062"></a><a class="code" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">00062</a>         <span class="keyword">struct </span>video_picture videopict;
+<a name="l00063"></a><a class="code" href="structvdIn.html#0e7511ef2c4e487b09c0cf0786cde912">00063</a>         <span class="keyword">struct </span>video_window videowin;
+<a name="l00064"></a><a class="code" href="structvdIn.html#962c1ced095a997ba8715b281cf53e9e">00064</a>         <span class="keyword">struct </span>video_channel videochan;
+<a name="l00065"></a>00065         
+<a name="l00066"></a><a class="code" href="structvdIn.html#2aa4853006d92f1445ad83a91159693f">00066</a>         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structvdIn.html#2aa4853006d92f1445ad83a91159693f">format</a> ;   <span class="comment">/* Format asked by apps for this frame */</span>
+<a name="l00067"></a><a class="code" href="structvdIn.html#eabdb3eeaf3a80b396cf19fec19d9294">00067</a>         <span class="keywordtype">int</span> <a class="code" href="structvdIn.html#eabdb3eeaf3a80b396cf19fec19d9294">cameratype</a> ;                <span class="comment">/* native in frame format */</span>
+<a name="l00068"></a><a class="code" href="structvdIn.html#676d43607601940f318ee3b274e4716b">00068</a>         <span class="keywordtype">char</span> *<a class="code" href="structvdIn.html#676d43607601940f318ee3b274e4716b">cameraname</a>;
+<a name="l00069"></a><a class="code" href="structvdIn.html#4dcb789ec776b466e9e0ee388686e3b6">00069</a>         <span class="keywordtype">char</span> *<a class="code" href="structvdIn.html#4dcb789ec776b466e9e0ee388686e3b6">bridge</a>;
+<a name="l00070"></a><a class="code" href="structvdIn.html#ce0f632ba9e72c3801f77f04f5a5376b">00070</a>         <span class="keywordtype">int</span> <a class="code" href="structvdIn.html#ce0f632ba9e72c3801f77f04f5a5376b">sizenative</a>;
+<a name="l00071"></a><a class="code" href="structvdIn.html#c9e3e139d21e29564e594b3375bc14bf">00071</a>         <span class="keywordtype">int</span> <a class="code" href="structvdIn.html#c9e3e139d21e29564e594b3375bc14bf">sizeothers</a>;
+<a name="l00072"></a><a class="code" href="structvdIn.html#c14641e9e17d20d732e717f3d2d4abe6">00072</a>         <span class="keywordtype">int</span> <a class="code" href="structvdIn.html#c14641e9e17d20d732e717f3d2d4abe6">palette</a>;
+<a name="l00073"></a><a class="code" href="structvdIn.html#92643e1a47d62b760a57fa2746d9e148">00073</a>         <span class="keywordtype">int</span> <a class="code" href="structvdIn.html#92643e1a47d62b760a57fa2746d9e148">norme</a> ;
+<a name="l00074"></a><a class="code" href="structvdIn.html#a5d5047850f329a3bf4be872615552ad">00074</a>         <span class="keywordtype">int</span> <a class="code" href="structvdIn.html#a5d5047850f329a3bf4be872615552ad">channel</a> ;
+<a name="l00075"></a><a class="code" href="structvdIn.html#faaf5caccac448b15a6f350cd02756b3">00075</a>         <span class="keywordtype">int</span> <a class="code" href="structvdIn.html#faaf5caccac448b15a6f350cd02756b3">grabMethod</a> ;                
+<a name="l00076"></a><a class="code" href="structvdIn.html#d25392b0e37b39942b75f36ef87b6de7">00076</a>         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<a class="code" href="structvdIn.html#d25392b0e37b39942b75f36ef87b6de7">pFramebuffer</a>;
+<a name="l00077"></a><a class="code" href="structvdIn.html#ab1c2508d67a5ad1ec88bf69b0a41fb7">00077</a>         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<a class="code" href="structvdIn.html#ab1c2508d67a5ad1ec88bf69b0a41fb7">pixTmp</a>;  
+<a name="l00078"></a><a class="code" href="structvdIn.html#cc3732f98af3fe5088007d0b7b08cdca">00078</a>         <span class="keywordtype">int</span> <a class="code" href="structvdIn.html#cc3732f98af3fe5088007d0b7b08cdca">framesizeIn</a> ;
+<a name="l00079"></a><a class="code" href="structvdIn.html#6418a49afd84cd22a8318fa4768a6713">00079</a>         <span class="keywordtype">int</span> <a class="code" href="structvdIn.html#6418a49afd84cd22a8318fa4768a6713">frame_cour</a>;
+<a name="l00080"></a><a class="code" href="structvdIn.html#d8c35d451233262ff9a8f8e65be8b340">00080</a>         <span class="keywordtype">int</span> <a class="code" href="structvdIn.html#d8c35d451233262ff9a8f8e65be8b340">bppIn</a>;
+<a name="l00081"></a><a class="code" href="structvdIn.html#21a92e9c30017da96ee881bef3469f18">00081</a>         <span class="keywordtype">int</span> <a class="code" href="structvdIn.html#21a92e9c30017da96ee881bef3469f18">hdrwidth</a>;
+<a name="l00082"></a><a class="code" href="structvdIn.html#2de78c4cff91808eb64ccab86e8d56b9">00082</a>         <span class="keywordtype">int</span> <a class="code" href="structvdIn.html#2de78c4cff91808eb64ccab86e8d56b9">hdrheight</a>;
+<a name="l00083"></a><a class="code" href="structvdIn.html#da1a8b7c0f40c9d997f8e8fddd4bc27d">00083</a>         <span class="keywordtype">int</span> <a class="code" href="structvdIn.html#da1a8b7c0f40c9d997f8e8fddd4bc27d">formatIn</a>;
+<a name="l00084"></a><a class="code" href="structvdIn.html#3f2e15b67a340cc20fd9d8503afa574b">00084</a>         <span class="keywordtype">int</span> <a class="code" href="structvdIn.html#3f2e15b67a340cc20fd9d8503afa574b">flipUV</a>;
+<a name="l00085"></a>00085 };
+<a name="l00086"></a>00086 
+<a name="l00087"></a>00087 <span class="comment">/*</span>
+<a name="l00088"></a>00088 <span class="comment">struct palette_list {</span>
+<a name="l00089"></a>00089 <span class="comment">        int num;</span>
+<a name="l00090"></a>00090 <span class="comment">        const char *name;</span>
+<a name="l00091"></a>00091 <span class="comment">};</span>
+<a name="l00092"></a>00092 <span class="comment"></span>
+<a name="l00093"></a>00093 <span class="comment"></span>
+<a name="l00094"></a>00094 <span class="comment">//Camera type jpeg yuvy yyuv yuyv grey gbrg</span>
+<a name="l00095"></a>00095 <span class="comment">static struct palette_list Plist[] ={</span>
+<a name="l00096"></a>00096 <span class="comment">        {JPEG,"JPEG"},</span>
+<a name="l00097"></a>00097 <span class="comment">        {YUVY,"YUVY"},</span>
+<a name="l00098"></a>00098 <span class="comment">        {YYUV,"YYUV"},</span>
+<a name="l00099"></a>00099 <span class="comment">        {YUYV,"YUYV"},</span>
+<a name="l00100"></a>00100 <span class="comment">        {GREY,"GREY"},</span>
+<a name="l00101"></a>00101 <span class="comment">        {GBRG,"GBRG"},</span>
+<a name="l00102"></a>00102 <span class="comment">        {-1,NULL}</span>
+<a name="l00103"></a>00103 <span class="comment">};</span>
+<a name="l00104"></a>00104 <span class="comment">*/</span>
+<a name="l00105"></a>00105 
+<a name="l00106"></a>00106 
+<a name="l00112"></a>00112 <span class="keywordtype">int</span> <a class="code" href="group__common.html#gdc0c206abad8d7210c57022190f93dc4">init_v4l</a> ( <span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd );
+<a name="l00113"></a>00113 
+<a name="l00119"></a>00119 <span class="keywordtype">int</span> <a class="code" href="group__common.html#g2b042146ea433ba800a754e3d056a86d">grab</a> (<span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd );
+<a name="l00120"></a>00120 
+<a name="l00126"></a>00126 <span class="keywordtype">int</span> <a class="code" href="group__common.html#ga7b6cf1c3b04b4758f8c256879c96672">close_v4l</a> (<span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd);
+<a name="l00127"></a>00127 
+<a name="l00133"></a>00133 <span class="keywordtype">int</span> <a class="code" href="group__common.html#g4f1b347f61daa1e55c12a2a3ebb22ee3">setPalette</a> (<span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd);
+<a name="l00134"></a>00134 
+<a name="l00140"></a>00140 <span class="keywordtype">int</span> <a class="code" href="group__common.html#gc42ddb12fdb3b8855b07988e18d09432">changeSize</a> (<span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd);
+<a name="l00141"></a>00141 
+<a name="l00142"></a>00142 
+<a name="l00148"></a>00148 __u8 <a class="code" href="group__common.html#ga35212f7c527f755fd38ed31f6567876">getBrightness</a> ( <span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd);
+<a name="l00149"></a>00149 
+<a name="l00156"></a>00156 <span class="keywordtype">void</span> <a class="code" href="group__common.html#ge1d8001afa8f1cbe9ff187e53e9089bb">setBrightness</a> ( <span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd, __u8 bright);
+<a name="l00157"></a>00157 
+<a name="l00163"></a>00163 __u8 <a class="code" href="group__common.html#g27a2a2aa5b19632b19ebc8c0652b097e">getContrast</a> ( <span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd);
+<a name="l00164"></a>00164 
+<a name="l00171"></a>00171 <span class="keywordtype">void</span> <a class="code" href="group__common.html#g3386f2919710868906af5025aa220f64">setContrast</a> ( <span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd, __u8 contrast);
+<a name="l00172"></a>00172 
+<a name="l00178"></a>00178 __u8 <a class="code" href="group__common.html#g099243def65c4c72efa563e1c3a95f6a">getColors</a> ( <span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd);
+<a name="l00179"></a>00179 
+<a name="l00186"></a>00186 <span class="keywordtype">void</span> <a class="code" href="group__common.html#g20703b2ca537132fde1e0a9fccbfd6c5">setColors</a> ( <span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd, __u8 colors);
+<a name="l00187"></a>00187 
+<a name="l00193"></a>00193 __u8 <a class="code" href="group__common.html#g31aba12be45387bd98ccf111606f15e6">getNorme</a> ( <span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd);
+<a name="l00194"></a>00194 
+<a name="l00201"></a>00201 <span class="keywordtype">void</span> <a class="code" href="group__common.html#ga723eaba9e11996dc99e8dace7b87aa5">setNorme</a> (<span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd,__u8 norme);
+<a name="l00202"></a>00202 
+<a name="l00208"></a>00208 __u8 <a class="code" href="group__common.html#g0f30a35aefb43f696c8700e8ee086158">getChannel</a> (<span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> *vd);
+<a name="l00209"></a>00209 
+<a name="l00216"></a>00216 <span class="keywordtype">void</span> <a class="code" href="group__common.html#g934ec7ef103b0ad6b7f319b289c13094">setChannel</a>( <span class="keyword">struct</span> <a class="code" href="structvdIn.html">vdIn</a> * vd,__u8 channel);
+<a name="l00217"></a>00217 
+<a name="l00218"></a>00218 
+<a name="l00219"></a>00219 <span class="preprocessor">#endif </span><span class="comment">/*CAM_V4L_H*/</span>
+<a name="l00220"></a>00220 
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Jan 26 20:51:50 2009 for Camera grab convert to MPEG by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+</body>
+</html>
diff --git a/doc/html/camv4l_8h.html b/doc/html/camv4l_8h.html
new file mode 100644 (file)
index 0000000..3e30006
--- /dev/null
@@ -0,0 +1,281 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Camera grab convert to MPEG: camv4l.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<h1>camv4l.h File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
+<code>#include &lt;unistd.h&gt;</code><br>
+<code>#include &lt;stdlib.h&gt;</code><br>
+<code>#include &lt;string.h&gt;</code><br>
+<code>#include &lt;fcntl.h&gt;</code><br>
+<code>#include &lt;signal.h&gt;</code><br>
+<code>#include &lt;errno.h&gt;</code><br>
+<code>#include &lt;time.h&gt;</code><br>
+<code>#include &lt;math.h&gt;</code><br>
+<code>#include &lt;stdarg.h&gt;</code><br>
+<code>#include &lt;linux/types.h&gt;</code><br>
+<code>#include &lt;linux/videodev.h&gt;</code><br>
+<code>#include &lt;sys/mman.h&gt;</code><br>
+<code>#include &lt;sys/ioctl.h&gt;</code><br>
+<code>#include &lt;sys/file.h&gt;</code><br>
+<code>#include &lt;sys/types.h&gt;</code><br>
+<code>#include &lt;sys/stat.h&gt;</code><br>
+
+<p>
+Include dependency graph for camv4l.h:
+<p>
+This graph shows which files directly or indirectly include this file:
+<p>
+<a href="camv4l_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html">vdIn</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="camv4l_8h.html#7f32e26ea2ffbc0c5408e65b30d4f0c8">DWIDTH</a>&nbsp;&nbsp;&nbsp;320</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="camv4l_8h.html#2c0e9cadedb91327295c0249e8a3ad6f">DHEIGHT</a>&nbsp;&nbsp;&nbsp;240</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="camv4l_8h.html#dbf692218d97fffa111494787562d9e8">VIDEO_PALETTE_RGB565</a>&nbsp;&nbsp;&nbsp;3</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="camv4l_8h.html#8dd93a2c957ded118f8ff17680cbf220">VIDEO_PALETTE_RGB24</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="camv4l_8h.html#d50994973596a30826522de0701ad02b">VIDEO_PALETTE_RGB32</a>&nbsp;&nbsp;&nbsp;5</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="camv4l_8h.html#dea1e94780da3ba61a1a1d9a11affdd2">VIDEO_PALETTE_YUV420P</a>&nbsp;&nbsp;&nbsp;15</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="camv4l_8h.html#f86678f63c4ac31acaf68b38d90d94a9">VIDEO_PALETTE_RAW_JPEG</a>&nbsp;&nbsp;&nbsp;20</td></tr>
+
+<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe2161">cam_form</a> { <br>
+&nbsp;&nbsp;<a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe216196f4d8a8c2070cf7bdd2236a48eae07a">JPEG</a>, 
+<a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe21619c6051edb55a8fb694528d81aa2c92dc">YUVY</a>, 
+<a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe21614dd75c8cff6ed2dad455d9b1e3066a7c">YYUV</a>, 
+<a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe21610105757557d0eed9bac6f9f1c0185a0b">YUYV</a>, 
+<br>
+&nbsp;&nbsp;<a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe216138566822dbd9408c447abfd3ed4a85d2">GREY</a>, 
+<a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe21613cae9f5260ee8e2b52164f174e076fa2">GBRG</a>, 
+<a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe216109b024ff449662360c66ce18d20096fa">UNKNOW</a>
+<br>
+ }</td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#gdc0c206abad8d7210c57022190f93dc4">init_v4l</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#g2b042146ea433ba800a754e3d056a86d">grab</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#ga7b6cf1c3b04b4758f8c256879c96672">close_v4l</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#g4f1b347f61daa1e55c12a2a3ebb22ee3">setPalette</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#gc42ddb12fdb3b8855b07988e18d09432">changeSize</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">__u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#ga35212f7c527f755fd38ed31f6567876">getBrightness</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#ge1d8001afa8f1cbe9ff187e53e9089bb">setBrightness</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd, __u8 bright)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">__u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#g27a2a2aa5b19632b19ebc8c0652b097e">getContrast</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#g3386f2919710868906af5025aa220f64">setContrast</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd, __u8 contrast)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">__u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#g099243def65c4c72efa563e1c3a95f6a">getColors</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#g20703b2ca537132fde1e0a9fccbfd6c5">setColors</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd, __u8 colors)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">__u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#g31aba12be45387bd98ccf111606f15e6">getNorme</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#ga723eaba9e11996dc99e8dace7b87aa5">setNorme</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd, __u8 norme)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">__u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#g0f30a35aefb43f696c8700e8ee086158">getChannel</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#g934ec7ef103b0ad6b7f319b289c13094">setChannel</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd, __u8 channel)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+
+<p>
+Definition in file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.<hr><h2>Define Documentation</h2>
+<a class="anchor" name="2c0e9cadedb91327295c0249e8a3ad6f"></a><!-- doxytag: member="camv4l.h::DHEIGHT" ref="2c0e9cadedb91327295c0249e8a3ad6f" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define DHEIGHT&nbsp;&nbsp;&nbsp;240          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00028">28</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+</div>
+</div><p>
+<a class="anchor" name="7f32e26ea2ffbc0c5408e65b30d4f0c8"></a><!-- doxytag: member="camv4l.h::DWIDTH" ref="7f32e26ea2ffbc0c5408e65b30d4f0c8" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define DWIDTH&nbsp;&nbsp;&nbsp;320          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00027">27</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+</div>
+</div><p>
+<a class="anchor" name="f86678f63c4ac31acaf68b38d90d94a9"></a><!-- doxytag: member="camv4l.h::VIDEO_PALETTE_RAW_JPEG" ref="f86678f63c4ac31acaf68b38d90d94a9" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define VIDEO_PALETTE_RAW_JPEG&nbsp;&nbsp;&nbsp;20          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00035">35</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00151">flipUV()</a>, and <a class="el" href="camv4l_8c-source.html#l00432">GetDepth()</a>.
+</div>
+</div><p>
+<a class="anchor" name="8dd93a2c957ded118f8ff17680cbf220"></a><!-- doxytag: member="camv4l.h::VIDEO_PALETTE_RGB24" ref="8dd93a2c957ded118f8ff17680cbf220" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define VIDEO_PALETTE_RGB24&nbsp;&nbsp;&nbsp;4          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00032">32</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00151">flipUV()</a>, and <a class="el" href="camv4l_8c-source.html#l00432">GetDepth()</a>.
+</div>
+</div><p>
+<a class="anchor" name="d50994973596a30826522de0701ad02b"></a><!-- doxytag: member="camv4l.h::VIDEO_PALETTE_RGB32" ref="d50994973596a30826522de0701ad02b" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define VIDEO_PALETTE_RGB32&nbsp;&nbsp;&nbsp;5          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00033">33</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00151">flipUV()</a>, and <a class="el" href="camv4l_8c-source.html#l00432">GetDepth()</a>.
+</div>
+</div><p>
+<a class="anchor" name="dbf692218d97fffa111494787562d9e8"></a><!-- doxytag: member="camv4l.h::VIDEO_PALETTE_RGB565" ref="dbf692218d97fffa111494787562d9e8" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define VIDEO_PALETTE_RGB565&nbsp;&nbsp;&nbsp;3          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00031">31</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00151">flipUV()</a>, and <a class="el" href="camv4l_8c-source.html#l00432">GetDepth()</a>.
+</div>
+</div><p>
+<a class="anchor" name="dea1e94780da3ba61a1a1d9a11affdd2"></a><!-- doxytag: member="camv4l.h::VIDEO_PALETTE_YUV420P" ref="dea1e94780da3ba61a1a1d9a11affdd2" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define VIDEO_PALETTE_YUV420P&nbsp;&nbsp;&nbsp;15          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00034">34</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00151">flipUV()</a>, <a class="el" href="camv4l_8c-source.html#l00432">GetDepth()</a>, and <a class="el" href="grab__mpeg_8c-source.html#l00137">processvideo()</a>.
+</div>
+</div><p>
+<hr><h2>Enumeration Type Documentation</h2>
+<a class="anchor" name="2f8d40fca22af63d98fcaad73efe2161"></a><!-- doxytag: member="camv4l.h::cam_form" ref="2f8d40fca22af63d98fcaad73efe2161" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe2161">cam_form</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Camera type format date <dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="2f8d40fca22af63d98fcaad73efe216196f4d8a8c2070cf7bdd2236a48eae07a"></a><!-- doxytag: member="JPEG" ref="2f8d40fca22af63d98fcaad73efe216196f4d8a8c2070cf7bdd2236a48eae07a" args="" -->JPEG</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="2f8d40fca22af63d98fcaad73efe21619c6051edb55a8fb694528d81aa2c92dc"></a><!-- doxytag: member="YUVY" ref="2f8d40fca22af63d98fcaad73efe21619c6051edb55a8fb694528d81aa2c92dc" args="" -->YUVY</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="2f8d40fca22af63d98fcaad73efe21614dd75c8cff6ed2dad455d9b1e3066a7c"></a><!-- doxytag: member="YYUV" ref="2f8d40fca22af63d98fcaad73efe21614dd75c8cff6ed2dad455d9b1e3066a7c" args="" -->YYUV</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="2f8d40fca22af63d98fcaad73efe21610105757557d0eed9bac6f9f1c0185a0b"></a><!-- doxytag: member="YUYV" ref="2f8d40fca22af63d98fcaad73efe21610105757557d0eed9bac6f9f1c0185a0b" args="" -->YUYV</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="2f8d40fca22af63d98fcaad73efe216138566822dbd9408c447abfd3ed4a85d2"></a><!-- doxytag: member="GREY" ref="2f8d40fca22af63d98fcaad73efe216138566822dbd9408c447abfd3ed4a85d2" args="" -->GREY</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="2f8d40fca22af63d98fcaad73efe21613cae9f5260ee8e2b52164f174e076fa2"></a><!-- doxytag: member="GBRG" ref="2f8d40fca22af63d98fcaad73efe21613cae9f5260ee8e2b52164f174e076fa2" args="" -->GBRG</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="2f8d40fca22af63d98fcaad73efe216109b024ff449662360c66ce18d20096fa"></a><!-- doxytag: member="UNKNOW" ref="2f8d40fca22af63d98fcaad73efe216109b024ff449662360c66ce18d20096fa" args="" -->UNKNOW</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00041">41</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+</div>
+</div><p>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jan 26 20:51:51 2009 for Camera grab convert to MPEG by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+</body>
+</html>
diff --git a/doc/html/camv4l_8h__dep__incl.dot b/doc/html/camv4l_8h__dep__incl.dot
new file mode 100644 (file)
index 0000000..aef24ea
--- /dev/null
@@ -0,0 +1,11 @@
+digraph G
+{
+  edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10];
+  node [fontname="FreeSans.ttf",fontsize=10,shape=record];
+  rankdir=LR;
+  Node1 [label="camv4l.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
+  Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node2 [label="camv4l.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$camv4l_8c.html"];
+  Node1 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node3 [label="grab_mpeg.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$grab__mpeg_8c.html"];
+}
diff --git a/doc/html/camv4l_8h__dep__incl.md5 b/doc/html/camv4l_8h__dep__incl.md5
new file mode 100644 (file)
index 0000000..8e13f60
--- /dev/null
@@ -0,0 +1 @@
+90e11acdedbbd610cb10d305ed99ea36
\ No newline at end of file
diff --git a/doc/html/camv4l_8h__incl.dot b/doc/html/camv4l_8h__incl.dot
new file mode 100644 (file)
index 0000000..753db06
--- /dev/null
@@ -0,0 +1,41 @@
+digraph G
+{
+  edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10];
+  node [fontname="FreeSans.ttf",fontsize=10,shape=record];
+  rankdir=LR;
+  Node1 [label="camv4l.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
+  Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node2 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node3 [label="unistd.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node4 [label="stdlib.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node5 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node6 [label="fcntl.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node7 [label="signal.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node8 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node8 [label="errno.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node9 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node9 [label="time.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node10 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node10 [label="math.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node11 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node11 [label="stdarg.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node12 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node12 [label="linux/types.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node13 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node13 [label="linux/videodev.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node14 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node14 [label="sys/mman.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node15 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node15 [label="sys/ioctl.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node16 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node16 [label="sys/file.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node17 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node17 [label="sys/types.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node18 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node18 [label="sys/stat.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+}
diff --git a/doc/html/camv4l_8h__incl.md5 b/doc/html/camv4l_8h__incl.md5
new file mode 100644 (file)
index 0000000..96ff62d
--- /dev/null
@@ -0,0 +1 @@
+ce2f1adf56b026a454d14ab5c024408a
\ No newline at end of file
diff --git a/doc/html/doxygen.css b/doc/html/doxygen.css
new file mode 100644 (file)
index 0000000..c7db1a8
--- /dev/null
@@ -0,0 +1,358 @@
+BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
+       font-family: Geneva, Arial, Helvetica, sans-serif;
+}
+BODY,TD {
+       font-size: 90%;
+}
+H1 {
+       text-align: center;
+       font-size: 160%;
+}
+H2 {
+       font-size: 120%;
+}
+H3 {
+       font-size: 100%;
+}
+CAPTION { font-weight: bold }
+DIV.qindex {
+       width: 100%;
+       background-color: #e8eef2;
+       border: 1px solid #84b0c7;
+       text-align: center;
+       margin: 2px;
+       padding: 2px;
+       line-height: 140%;
+}
+DIV.nav {
+       width: 100%;
+       background-color: #e8eef2;
+       border: 1px solid #84b0c7;
+       text-align: center;
+       margin: 2px;
+       padding: 2px;
+       line-height: 140%;
+}
+DIV.navtab {
+       background-color: #e8eef2;
+       border: 1px solid #84b0c7;
+       text-align: center;
+       margin: 2px;
+       margin-right: 15px;
+       padding: 2px;
+}
+TD.navtab {
+       font-size: 70%;
+}
+A.qindex {
+       text-decoration: none;
+       font-weight: bold;
+       color: #1A419D;
+}
+A.qindex:visited {
+       text-decoration: none;
+       font-weight: bold;
+       color: #1A419D
+}
+A.qindex:hover {
+       text-decoration: none;
+       background-color: #ddddff;
+}
+A.qindexHL {
+       text-decoration: none;
+       font-weight: bold;
+       background-color: #6666cc;
+       color: #ffffff;
+       border: 1px double #9295C2;
+}
+A.qindexHL:hover {
+       text-decoration: none;
+       background-color: #6666cc;
+       color: #ffffff;
+}
+A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff }
+A.el { text-decoration: none; font-weight: bold }
+A.elRef { font-weight: bold }
+A.code:link { text-decoration: none; font-weight: normal; color: #0000FF}
+A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF}
+A.codeRef:link { font-weight: normal; color: #0000FF}
+A.codeRef:visited { font-weight: normal; color: #0000FF}
+A:hover { text-decoration: none; background-color: #f2f2ff }
+DL.el { margin-left: -1cm }
+.fragment {
+       font-family: monospace, fixed;
+       font-size: 95%;
+}
+PRE.fragment {
+       border: 1px solid #CCCCCC;
+       background-color: #f5f5f5;
+       margin-top: 4px;
+       margin-bottom: 4px;
+       margin-left: 2px;
+       margin-right: 8px;
+       padding-left: 6px;
+       padding-right: 6px;
+       padding-top: 4px;
+       padding-bottom: 4px;
+}
+DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
+
+DIV.groupHeader {
+       margin-left: 16px;
+       margin-top: 12px;
+       margin-bottom: 6px;
+       font-weight: bold;
+}
+DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% }
+BODY {
+       background: white;
+       color: black;
+       margin-right: 20px;
+       margin-left: 20px;
+}
+TD.indexkey {
+       background-color: #e8eef2;
+       font-weight: bold;
+       padding-right  : 10px;
+       padding-top    : 2px;
+       padding-left   : 10px;
+       padding-bottom : 2px;
+       margin-left    : 0px;
+       margin-right   : 0px;
+       margin-top     : 2px;
+       margin-bottom  : 2px;
+       border: 1px solid #CCCCCC;
+}
+TD.indexvalue {
+       background-color: #e8eef2;
+       font-style: italic;
+       padding-right  : 10px;
+       padding-top    : 2px;
+       padding-left   : 10px;
+       padding-bottom : 2px;
+       margin-left    : 0px;
+       margin-right   : 0px;
+       margin-top     : 2px;
+       margin-bottom  : 2px;
+       border: 1px solid #CCCCCC;
+}
+TR.memlist {
+   background-color: #f0f0f0; 
+}
+P.formulaDsp { text-align: center; }
+IMG.formulaDsp { }
+IMG.formulaInl { vertical-align: middle; }
+SPAN.keyword       { color: #008000 }
+SPAN.keywordtype   { color: #604020 }
+SPAN.keywordflow   { color: #e08000 }
+SPAN.comment       { color: #800000 }
+SPAN.preprocessor  { color: #806020 }
+SPAN.stringliteral { color: #002080 }
+SPAN.charliteral   { color: #008080 }
+.mdescLeft {
+       padding: 0px 8px 4px 8px;
+       font-size: 80%;
+       font-style: italic;
+       background-color: #FAFAFA;
+       border-top: 1px none #E0E0E0;
+       border-right: 1px none #E0E0E0;
+       border-bottom: 1px none #E0E0E0;
+       border-left: 1px none #E0E0E0;
+       margin: 0px;
+}
+.mdescRight {
+       padding: 0px 8px 4px 8px;
+       font-size: 80%;
+       font-style: italic;
+       background-color: #FAFAFA;
+       border-top: 1px none #E0E0E0;
+       border-right: 1px none #E0E0E0;
+       border-bottom: 1px none #E0E0E0;
+       border-left: 1px none #E0E0E0;
+       margin: 0px;
+}
+.memItemLeft {
+       padding: 1px 0px 0px 8px;
+       margin: 4px;
+       border-top-width: 1px;
+       border-right-width: 1px;
+       border-bottom-width: 1px;
+       border-left-width: 1px;
+       border-top-color: #E0E0E0;
+       border-right-color: #E0E0E0;
+       border-bottom-color: #E0E0E0;
+       border-left-color: #E0E0E0;
+       border-top-style: solid;
+       border-right-style: none;
+       border-bottom-style: none;
+       border-left-style: none;
+       background-color: #FAFAFA;
+       font-size: 80%;
+}
+.memItemRight {
+       padding: 1px 8px 0px 8px;
+       margin: 4px;
+       border-top-width: 1px;
+       border-right-width: 1px;
+       border-bottom-width: 1px;
+       border-left-width: 1px;
+       border-top-color: #E0E0E0;
+       border-right-color: #E0E0E0;
+       border-bottom-color: #E0E0E0;
+       border-left-color: #E0E0E0;
+       border-top-style: solid;
+       border-right-style: none;
+       border-bottom-style: none;
+       border-left-style: none;
+       background-color: #FAFAFA;
+       font-size: 80%;
+}
+.memTemplItemLeft {
+       padding: 1px 0px 0px 8px;
+       margin: 4px;
+       border-top-width: 1px;
+       border-right-width: 1px;
+       border-bottom-width: 1px;
+       border-left-width: 1px;
+       border-top-color: #E0E0E0;
+       border-right-color: #E0E0E0;
+       border-bottom-color: #E0E0E0;
+       border-left-color: #E0E0E0;
+       border-top-style: none;
+       border-right-style: none;
+       border-bottom-style: none;
+       border-left-style: none;
+       background-color: #FAFAFA;
+       font-size: 80%;
+}
+.memTemplItemRight {
+       padding: 1px 8px 0px 8px;
+       margin: 4px;
+       border-top-width: 1px;
+       border-right-width: 1px;
+       border-bottom-width: 1px;
+       border-left-width: 1px;
+       border-top-color: #E0E0E0;
+       border-right-color: #E0E0E0;
+       border-bottom-color: #E0E0E0;
+       border-left-color: #E0E0E0;
+       border-top-style: none;
+       border-right-style: none;
+       border-bottom-style: none;
+       border-left-style: none;
+       background-color: #FAFAFA;
+       font-size: 80%;
+}
+.memTemplParams {
+       padding: 1px 0px 0px 8px;
+       margin: 4px;
+       border-top-width: 1px;
+       border-right-width: 1px;
+       border-bottom-width: 1px;
+       border-left-width: 1px;
+       border-top-color: #E0E0E0;
+       border-right-color: #E0E0E0;
+       border-bottom-color: #E0E0E0;
+       border-left-color: #E0E0E0;
+       border-top-style: solid;
+       border-right-style: none;
+       border-bottom-style: none;
+       border-left-style: none;
+       color: #606060;
+       background-color: #FAFAFA;
+       font-size: 80%;
+}
+.search     { color: #003399;
+              font-weight: bold;
+}
+FORM.search {
+              margin-bottom: 0px;
+              margin-top: 0px;
+}
+INPUT.search { font-size: 75%;
+               color: #000080;
+               font-weight: normal;
+               background-color: #e8eef2;
+}
+TD.tiny      { font-size: 75%;
+}
+a {
+       color: #1A41A8;
+}
+a:visited {
+       color: #2A3798;
+}
+.dirtab { padding: 4px;
+          border-collapse: collapse;
+          border: 1px solid #84b0c7;
+}
+TH.dirtab { background: #e8eef2;
+            font-weight: bold;
+}
+HR { height: 1px;
+     border: none;
+     border-top: 1px solid black;
+}
+
+/* Style for detailed member documentation */
+.memtemplate {
+  font-size: 80%;
+  color: #606060;
+  font-weight: normal;
+} 
+.memnav { 
+  background-color: #e8eef2;
+  border: 1px solid #84b0c7;
+  text-align: center;
+  margin: 2px;
+  margin-right: 15px;
+  padding: 2px;
+}
+.memitem {
+  padding: 4px;
+  background-color: #eef3f5;
+  border-width: 1px;
+  border-style: solid;
+  border-color: #dedeee;
+  -moz-border-radius: 8px 8px 8px 8px;
+}
+.memname {
+  white-space: nowrap;
+  font-weight: bold;
+}
+.memdoc{
+  padding-left: 10px;
+}
+.memproto {
+  background-color: #d5e1e8;
+  width: 100%;
+  border-width: 1px;
+  border-style: solid;
+  border-color: #84b0c7;
+  font-weight: bold;
+  -moz-border-radius: 8px 8px 8px 8px;
+}
+.paramkey {
+  text-align: right;
+}
+.paramtype {
+  white-space: nowrap;
+}
+.paramname {
+  color: #602020;
+  font-style: italic;
+  white-space: nowrap;
+}
+/* End Styling for detailed member documentation */
+
+/* for the tree view */
+.ftvtree {
+       font-family: sans-serif;
+       margin:0.5em;
+}
+.directory { font-size: 9pt; font-weight: bold; }
+.directory h3 { margin: 0px; margin-top: 1em; font-size: 11pt; }
+.directory > h3 { margin-top: 0; }
+.directory p { margin: 0px; white-space: nowrap; }
+.directory div { display: none; margin: 0px; }
+.directory img { vertical-align: -30%; }
diff --git a/doc/html/doxygen.png b/doc/html/doxygen.png
new file mode 100644 (file)
index 0000000..f0a274b
Binary files /dev/null and b/doc/html/doxygen.png differ
diff --git a/doc/html/files.html b/doc/html/files.html
new file mode 100644 (file)
index 0000000..04e3dbc
--- /dev/null
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Camera grab convert to MPEG: File Index</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li id="current"><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<h1>Camera grab convert to MPEG File List</h1>Here is a list of all files with brief descriptions:<table>
+  <tr><td class="indexkey"><a class="el" href="camv4l_8c.html">camv4l.c</a> <a href="camv4l_8c-source.html">[code]</a></td><td class="indexvalue">This file implement function </td></tr>
+  <tr><td class="indexkey"><a class="el" href="camv4l_8h.html">camv4l.h</a> <a href="camv4l_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="grab__mpeg_8c.html">grab_mpeg.c</a> <a href="grab__mpeg_8c-source.html">[code]</a></td><td class="indexvalue">This is the main file where application run </td></tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jan 26 20:51:51 2009 for Camera grab convert to MPEG by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+</body>
+</html>
diff --git a/doc/html/ftv2blank.png b/doc/html/ftv2blank.png
new file mode 100644 (file)
index 0000000..493c3c0
Binary files /dev/null and b/doc/html/ftv2blank.png differ
diff --git a/doc/html/ftv2doc.png b/doc/html/ftv2doc.png
new file mode 100644 (file)
index 0000000..f72999f
Binary files /dev/null and b/doc/html/ftv2doc.png differ
diff --git a/doc/html/ftv2folderclosed.png b/doc/html/ftv2folderclosed.png
new file mode 100644 (file)
index 0000000..d6d0634
Binary files /dev/null and b/doc/html/ftv2folderclosed.png differ
diff --git a/doc/html/ftv2folderopen.png b/doc/html/ftv2folderopen.png
new file mode 100644 (file)
index 0000000..bbe2c91
Binary files /dev/null and b/doc/html/ftv2folderopen.png differ
diff --git a/doc/html/ftv2lastnode.png b/doc/html/ftv2lastnode.png
new file mode 100644 (file)
index 0000000..e7b9ba9
Binary files /dev/null and b/doc/html/ftv2lastnode.png differ
diff --git a/doc/html/ftv2link.png b/doc/html/ftv2link.png
new file mode 100644 (file)
index 0000000..14f3fed
Binary files /dev/null and b/doc/html/ftv2link.png differ
diff --git a/doc/html/ftv2mlastnode.png b/doc/html/ftv2mlastnode.png
new file mode 100644 (file)
index 0000000..09ceb6a
Binary files /dev/null and b/doc/html/ftv2mlastnode.png differ
diff --git a/doc/html/ftv2mnode.png b/doc/html/ftv2mnode.png
new file mode 100644 (file)
index 0000000..3254c05
Binary files /dev/null and b/doc/html/ftv2mnode.png differ
diff --git a/doc/html/ftv2node.png b/doc/html/ftv2node.png
new file mode 100644 (file)
index 0000000..c9f06a5
Binary files /dev/null and b/doc/html/ftv2node.png differ
diff --git a/doc/html/ftv2plastnode.png b/doc/html/ftv2plastnode.png
new file mode 100644 (file)
index 0000000..0b07e00
Binary files /dev/null and b/doc/html/ftv2plastnode.png differ
diff --git a/doc/html/ftv2pnode.png b/doc/html/ftv2pnode.png
new file mode 100644 (file)
index 0000000..2001b79
Binary files /dev/null and b/doc/html/ftv2pnode.png differ
diff --git a/doc/html/ftv2vertline.png b/doc/html/ftv2vertline.png
new file mode 100644 (file)
index 0000000..b330f3a
Binary files /dev/null and b/doc/html/ftv2vertline.png differ
diff --git a/doc/html/functions.html b/doc/html/functions.html
new file mode 100644 (file)
index 0000000..134c533
--- /dev/null
@@ -0,0 +1,90 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Camera grab convert to MPEG: Data Fields</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li id="current"><a href="functions.html"><span>All</span></a></li>
+    <li><a href="functions_vars.html"><span>Variables</span></a></li>
+  </ul>
+</div>
+Here is a list of all struct and union fields with links to the structures/unions they belong to:
+<p>
+<ul>
+<li>bppIn
+: <a class="el" href="structvdIn.html#d8c35d451233262ff9a8f8e65be8b340">vdIn</a>
+<li>bridge
+: <a class="el" href="structvdIn.html#4dcb789ec776b466e9e0ee388686e3b6">vdIn</a>
+<li>cameraname
+: <a class="el" href="structvdIn.html#676d43607601940f318ee3b274e4716b">vdIn</a>
+<li>cameratype
+: <a class="el" href="structvdIn.html#eabdb3eeaf3a80b396cf19fec19d9294">vdIn</a>
+<li>channel
+: <a class="el" href="structvdIn.html#a5d5047850f329a3bf4be872615552ad">vdIn</a>
+<li>fd
+: <a class="el" href="structvdIn.html#1fa060f09cd0b1a126c5cfe7f8755aa0">vdIn</a>
+<li>flipUV
+: <a class="el" href="structvdIn.html#3f2e15b67a340cc20fd9d8503afa574b">vdIn</a>
+<li>format
+: <a class="el" href="structvdIn.html#2aa4853006d92f1445ad83a91159693f">vdIn</a>
+<li>formatIn
+: <a class="el" href="structvdIn.html#da1a8b7c0f40c9d997f8e8fddd4bc27d">vdIn</a>
+<li>frame_cour
+: <a class="el" href="structvdIn.html#6418a49afd84cd22a8318fa4768a6713">vdIn</a>
+<li>framesizeIn
+: <a class="el" href="structvdIn.html#cc3732f98af3fe5088007d0b7b08cdca">vdIn</a>
+<li>grabMethod
+: <a class="el" href="structvdIn.html#faaf5caccac448b15a6f350cd02756b3">vdIn</a>
+<li>hdrheight
+: <a class="el" href="structvdIn.html#2de78c4cff91808eb64ccab86e8d56b9">vdIn</a>
+<li>hdrwidth
+: <a class="el" href="structvdIn.html#21a92e9c30017da96ee881bef3469f18">vdIn</a>
+<li>mmapsize
+: <a class="el" href="structvdIn.html#b3e9cc01144f94caa3b30bde3ec7a353">vdIn</a>
+<li>norme
+: <a class="el" href="structvdIn.html#92643e1a47d62b760a57fa2746d9e148">vdIn</a>
+<li>palette
+: <a class="el" href="structvdIn.html#c14641e9e17d20d732e717f3d2d4abe6">vdIn</a>
+<li>pFramebuffer
+: <a class="el" href="structvdIn.html#d25392b0e37b39942b75f36ef87b6de7">vdIn</a>
+<li>pixTmp
+: <a class="el" href="structvdIn.html#ab1c2508d67a5ad1ec88bf69b0a41fb7">vdIn</a>
+<li>sizenative
+: <a class="el" href="structvdIn.html#ce0f632ba9e72c3801f77f04f5a5376b">vdIn</a>
+<li>sizeothers
+: <a class="el" href="structvdIn.html#c9e3e139d21e29564e594b3375bc14bf">vdIn</a>
+<li>videocap
+: <a class="el" href="structvdIn.html#6ff6c76abc3558e5065c29f7a4e22e62">vdIn</a>
+<li>videochan
+: <a class="el" href="structvdIn.html#962c1ced095a997ba8715b281cf53e9e">vdIn</a>
+<li>videodevice
+: <a class="el" href="structvdIn.html#a5bc365f449fae0bacc9ef7e813dfcdd">vdIn</a>
+<li>videombuf
+: <a class="el" href="structvdIn.html#f87db67e1e35c6699921cb9fa9712e95">vdIn</a>
+<li>videopict
+: <a class="el" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">vdIn</a>
+<li>videowin
+: <a class="el" href="structvdIn.html#0e7511ef2c4e487b09c0cf0786cde912">vdIn</a>
+<li>vmmap
+: <a class="el" href="structvdIn.html#c9dc3dcb02f1472c47022ccc9f7a642a">vdIn</a>
+</ul>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jan 26 20:51:51 2009 for Camera grab convert to MPEG by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+</body>
+</html>
diff --git a/doc/html/functions_vars.html b/doc/html/functions_vars.html
new file mode 100644 (file)
index 0000000..dc1fce7
--- /dev/null
@@ -0,0 +1,90 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Camera grab convert to MPEG: Data Fields - Variables</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="functions.html"><span>All</span></a></li>
+    <li id="current"><a href="functions_vars.html"><span>Variables</span></a></li>
+  </ul>
+</div>
+&nbsp;
+<p>
+<ul>
+<li>bppIn
+: <a class="el" href="structvdIn.html#d8c35d451233262ff9a8f8e65be8b340">vdIn</a>
+<li>bridge
+: <a class="el" href="structvdIn.html#4dcb789ec776b466e9e0ee388686e3b6">vdIn</a>
+<li>cameraname
+: <a class="el" href="structvdIn.html#676d43607601940f318ee3b274e4716b">vdIn</a>
+<li>cameratype
+: <a class="el" href="structvdIn.html#eabdb3eeaf3a80b396cf19fec19d9294">vdIn</a>
+<li>channel
+: <a class="el" href="structvdIn.html#a5d5047850f329a3bf4be872615552ad">vdIn</a>
+<li>fd
+: <a class="el" href="structvdIn.html#1fa060f09cd0b1a126c5cfe7f8755aa0">vdIn</a>
+<li>flipUV
+: <a class="el" href="structvdIn.html#3f2e15b67a340cc20fd9d8503afa574b">vdIn</a>
+<li>format
+: <a class="el" href="structvdIn.html#2aa4853006d92f1445ad83a91159693f">vdIn</a>
+<li>formatIn
+: <a class="el" href="structvdIn.html#da1a8b7c0f40c9d997f8e8fddd4bc27d">vdIn</a>
+<li>frame_cour
+: <a class="el" href="structvdIn.html#6418a49afd84cd22a8318fa4768a6713">vdIn</a>
+<li>framesizeIn
+: <a class="el" href="structvdIn.html#cc3732f98af3fe5088007d0b7b08cdca">vdIn</a>
+<li>grabMethod
+: <a class="el" href="structvdIn.html#faaf5caccac448b15a6f350cd02756b3">vdIn</a>
+<li>hdrheight
+: <a class="el" href="structvdIn.html#2de78c4cff91808eb64ccab86e8d56b9">vdIn</a>
+<li>hdrwidth
+: <a class="el" href="structvdIn.html#21a92e9c30017da96ee881bef3469f18">vdIn</a>
+<li>mmapsize
+: <a class="el" href="structvdIn.html#b3e9cc01144f94caa3b30bde3ec7a353">vdIn</a>
+<li>norme
+: <a class="el" href="structvdIn.html#92643e1a47d62b760a57fa2746d9e148">vdIn</a>
+<li>palette
+: <a class="el" href="structvdIn.html#c14641e9e17d20d732e717f3d2d4abe6">vdIn</a>
+<li>pFramebuffer
+: <a class="el" href="structvdIn.html#d25392b0e37b39942b75f36ef87b6de7">vdIn</a>
+<li>pixTmp
+: <a class="el" href="structvdIn.html#ab1c2508d67a5ad1ec88bf69b0a41fb7">vdIn</a>
+<li>sizenative
+: <a class="el" href="structvdIn.html#ce0f632ba9e72c3801f77f04f5a5376b">vdIn</a>
+<li>sizeothers
+: <a class="el" href="structvdIn.html#c9e3e139d21e29564e594b3375bc14bf">vdIn</a>
+<li>videocap
+: <a class="el" href="structvdIn.html#6ff6c76abc3558e5065c29f7a4e22e62">vdIn</a>
+<li>videochan
+: <a class="el" href="structvdIn.html#962c1ced095a997ba8715b281cf53e9e">vdIn</a>
+<li>videodevice
+: <a class="el" href="structvdIn.html#a5bc365f449fae0bacc9ef7e813dfcdd">vdIn</a>
+<li>videombuf
+: <a class="el" href="structvdIn.html#f87db67e1e35c6699921cb9fa9712e95">vdIn</a>
+<li>videopict
+: <a class="el" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">vdIn</a>
+<li>videowin
+: <a class="el" href="structvdIn.html#0e7511ef2c4e487b09c0cf0786cde912">vdIn</a>
+<li>vmmap
+: <a class="el" href="structvdIn.html#c9dc3dcb02f1472c47022ccc9f7a642a">vdIn</a>
+</ul>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jan 26 20:51:51 2009 for Camera grab convert to MPEG by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+</body>
+</html>
diff --git a/doc/html/globals.html b/doc/html/globals.html
new file mode 100644 (file)
index 0000000..608a845
--- /dev/null
@@ -0,0 +1,203 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Camera grab convert to MPEG: Data Fields</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li id="current"><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li id="current"><a href="globals.html"><span>All</span></a></li>
+    <li><a href="globals_func.html"><span>Functions</span></a></li>
+    <li><a href="globals_vars.html"><span>Variables</span></a></li>
+    <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+    <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+    <li><a href="globals_defs.html"><span>Defines</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="#index_c"><span>c</span></a></li>
+    <li><a href="#index_d"><span>d</span></a></li>
+    <li><a href="#index_f"><span>f</span></a></li>
+    <li><a href="#index_g"><span>g</span></a></li>
+    <li><a href="#index_i"><span>i</span></a></li>
+    <li><a href="#index_j"><span>j</span></a></li>
+    <li><a href="#index_l"><span>l</span></a></li>
+    <li><a href="#index_m"><span>m</span></a></li>
+    <li><a href="#index_o"><span>o</span></a></li>
+    <li><a href="#index_p"><span>p</span></a></li>
+    <li><a href="#index_s"><span>s</span></a></li>
+    <li><a href="#index_u"><span>u</span></a></li>
+    <li><a href="#index_v"><span>v</span></a></li>
+    <li><a href="#index_y"><span>y</span></a></li>
+  </ul>
+</div>
+
+<p>
+Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+<p>
+<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
+<li>c
+: <a class="el" href="grab__mpeg_8c.html#e7991e0075301e249fa7d40d5b0eec81">grab_mpeg.c</a>
+<li>cam_form
+: <a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe2161">camv4l.h</a>
+<li>changeSize()
+: <a class="el" href="group__common.html#gc42ddb12fdb3b8855b07988e18d09432">camv4l.c</a>
+, <a class="el" href="group__common.html#gc42ddb12fdb3b8855b07988e18d09432">camv4l.h</a>
+<li>close_v4l()
+: <a class="el" href="group__common.html#ga7b6cf1c3b04b4758f8c256879c96672">camv4l.h</a>
+, <a class="el" href="group__common.html#ga7b6cf1c3b04b4758f8c256879c96672">camv4l.c</a>
+<li>codec
+: <a class="el" href="grab__mpeg_8c.html#3d92780da6f5146c4f47f425dd151d96">grab_mpeg.c</a>
+</ul>
+<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
+<li>DHEIGHT
+: <a class="el" href="camv4l_8h.html#2c0e9cadedb91327295c0249e8a3ad6f">camv4l.h</a>
+<li>DWIDTH
+: <a class="el" href="camv4l_8h.html#7f32e26ea2ffbc0c5408e65b30d4f0c8">camv4l.h</a>
+</ul>
+<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
+<li>f
+: <a class="el" href="grab__mpeg_8c.html#3efb0e1a16208deecbd84c15401f7cf8">grab_mpeg.c</a>
+<li>flipUV()
+: <a class="el" href="camv4l_8c.html#1da8db34b1923c570a40f54e2b22ca39">camv4l.c</a>
+</ul>
+<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
+<li>GBRG
+: <a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe21613cae9f5260ee8e2b52164f174e076fa2">camv4l.h</a>
+<li>getBrightness()
+: <a class="el" href="group__common.html#ga35212f7c527f755fd38ed31f6567876">camv4l.h</a>
+, <a class="el" href="group__common.html#ga35212f7c527f755fd38ed31f6567876">camv4l.c</a>
+<li>getChannel()
+: <a class="el" href="group__common.html#g0f30a35aefb43f696c8700e8ee086158">camv4l.h</a>
+<li>getColors()
+: <a class="el" href="group__common.html#g099243def65c4c72efa563e1c3a95f6a">camv4l.c</a>
+, <a class="el" href="group__common.html#g099243def65c4c72efa563e1c3a95f6a">camv4l.h</a>
+<li>getContrast()
+: <a class="el" href="group__common.html#g27a2a2aa5b19632b19ebc8c0652b097e">camv4l.h</a>
+, <a class="el" href="group__common.html#g27a2a2aa5b19632b19ebc8c0652b097e">camv4l.c</a>
+<li>GetDepth()
+: <a class="el" href="camv4l_8c.html#283b0e82a3d74f512e682a8ac52659b7">camv4l.c</a>
+<li>getNorme()
+: <a class="el" href="group__common.html#g31aba12be45387bd98ccf111606f15e6">camv4l.h</a>
+<li>GetVideoPict()
+: <a class="el" href="camv4l_8c.html#8cb6f747fd7726860f771609946d09b3">camv4l.c</a>
+<li>grab()
+: <a class="el" href="group__common.html#g2b042146ea433ba800a754e3d056a86d">camv4l.c</a>
+, <a class="el" href="group__common.html#g2b042146ea433ba800a754e3d056a86d">camv4l.h</a>
+<li>GREY
+: <a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe216138566822dbd9408c447abfd3ed4a85d2">camv4l.h</a>
+</ul>
+<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
+<li>i
+: <a class="el" href="grab__mpeg_8c.html#cb559820d9ca11295b4500f179ef6392">grab_mpeg.c</a>
+<li>init_v4l()
+: <a class="el" href="group__common.html#gdc0c206abad8d7210c57022190f93dc4">camv4l.h</a>
+, <a class="el" href="group__common.html#gdc0c206abad8d7210c57022190f93dc4">camv4l.c</a>
+</ul>
+<h3><a class="anchor" name="index_j">- j -</a></h3><ul>
+<li>JPEG
+: <a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe216196f4d8a8c2070cf7bdd2236a48eae07a">camv4l.h</a>
+</ul>
+<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
+<li>LEN_PALLETE
+: <a class="el" href="camv4l_8c.html#1ae3f99c00fbdb4eec4a4eb4fdfeacd0">camv4l.c</a>
+</ul>
+<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+<li>main()
+: <a class="el" href="grab__mpeg_8c.html#99ed24fde392ba5e0c427c04cd8ad429">grab_mpeg.c</a>
+<li>myvidIn
+: <a class="el" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">grab_mpeg.c</a>
+</ul>
+<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
+<li>out_size
+: <a class="el" href="grab__mpeg_8c.html#6b2e93f2f2db9a65b19a2487c6b1f78b">grab_mpeg.c</a>
+<li>outbuf
+: <a class="el" href="grab__mpeg_8c.html#a85f3649904a9e7c4d21c42f95a2eac8">grab_mpeg.c</a>
+<li>outbuf_size
+: <a class="el" href="grab__mpeg_8c.html#7143b1416521b958e981da0f56586e8e">grab_mpeg.c</a>
+</ul>
+<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+<li>PAL
+: <a class="el" href="camv4l_8c.html#ee54b939c70ffe5540c8e77e8b75c331">camv4l.c</a>
+<li>picture
+: <a class="el" href="grab__mpeg_8c.html#65f6cfcea30372e03b387bd67c2f8a8d">grab_mpeg.c</a>
+<li>probePalette()
+: <a class="el" href="camv4l_8c.html#e2f8dd81ccfc3b70fdeb99b07586a1b1">camv4l.c</a>
+<li>probeSize()
+: <a class="el" href="camv4l_8c.html#bee824dc095955f0175643284986b23e">camv4l.c</a>
+<li>processvideo()
+: <a class="el" href="grab__mpeg_8c.html#28603e93ac81b15f759127bbfdc7cb37">grab_mpeg.c</a>
+</ul>
+<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+<li>setBrightness()
+: <a class="el" href="group__common.html#ge1d8001afa8f1cbe9ff187e53e9089bb">camv4l.c</a>
+, <a class="el" href="group__common.html#ge1d8001afa8f1cbe9ff187e53e9089bb">camv4l.h</a>
+<li>setChannel()
+: <a class="el" href="group__common.html#g934ec7ef103b0ad6b7f319b289c13094">camv4l.h</a>
+<li>setColors()
+: <a class="el" href="group__common.html#g20703b2ca537132fde1e0a9fccbfd6c5">camv4l.h</a>
+, <a class="el" href="group__common.html#g20703b2ca537132fde1e0a9fccbfd6c5">camv4l.c</a>
+<li>setContrast()
+: <a class="el" href="group__common.html#g3386f2919710868906af5025aa220f64">camv4l.h</a>
+, <a class="el" href="group__common.html#g3386f2919710868906af5025aa220f64">camv4l.c</a>
+<li>setNorme()
+: <a class="el" href="group__common.html#ga723eaba9e11996dc99e8dace7b87aa5">camv4l.h</a>
+<li>setPalette()
+: <a class="el" href="group__common.html#g4f1b347f61daa1e55c12a2a3ebb22ee3">camv4l.c</a>
+, <a class="el" href="group__common.html#g4f1b347f61daa1e55c12a2a3ebb22ee3">camv4l.h</a>
+<li>SetVideoPict()
+: <a class="el" href="camv4l_8c.html#6391de2c695ffff5ba0a8632f6db3c1f">camv4l.c</a>
+<li>size
+: <a class="el" href="grab__mpeg_8c.html#439227feff9d7f55384e8780cfc2eb82">grab_mpeg.c</a>
+<li>SIZE
+: <a class="el" href="camv4l_8c.html#26ffb7e515435a5ff2d24656ecacd181">camv4l.c</a>
+</ul>
+<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
+<li>UNKNOW
+: <a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe216109b024ff449662360c66ce18d20096fa">camv4l.h</a>
+</ul>
+<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
+<li>video_encode_alloc()
+: <a class="el" href="grab__mpeg_8c.html#dedd16f8b46d848fe3ef6179dd54956c">grab_mpeg.c</a>
+<li>video_encode_free()
+: <a class="el" href="grab__mpeg_8c.html#074665588885b7b51505b9331ba690e9">grab_mpeg.c</a>
+<li>video_encode_mpeg()
+: <a class="el" href="grab__mpeg_8c.html#aadbb0611fc321cf111d581db0ff62e4">grab_mpeg.c</a>
+<li>VIDEO_PALETTE_RAW_JPEG
+: <a class="el" href="camv4l_8h.html#f86678f63c4ac31acaf68b38d90d94a9">camv4l.h</a>
+<li>VIDEO_PALETTE_RGB24
+: <a class="el" href="camv4l_8h.html#8dd93a2c957ded118f8ff17680cbf220">camv4l.h</a>
+<li>VIDEO_PALETTE_RGB32
+: <a class="el" href="camv4l_8h.html#d50994973596a30826522de0701ad02b">camv4l.h</a>
+<li>VIDEO_PALETTE_RGB565
+: <a class="el" href="camv4l_8h.html#dbf692218d97fffa111494787562d9e8">camv4l.h</a>
+<li>VIDEO_PALETTE_YUV420P
+: <a class="el" href="camv4l_8h.html#dea1e94780da3ba61a1a1d9a11affdd2">camv4l.h</a>
+</ul>
+<h3><a class="anchor" name="index_y">- y -</a></h3><ul>
+<li>YUVY
+: <a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe21619c6051edb55a8fb694528d81aa2c92dc">camv4l.h</a>
+<li>YUYV
+: <a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe21610105757557d0eed9bac6f9f1c0185a0b">camv4l.h</a>
+<li>YYUV
+: <a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe21614dd75c8cff6ed2dad455d9b1e3066a7c">camv4l.h</a>
+</ul>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jan 26 20:51:51 2009 for Camera grab convert to MPEG by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+</body>
+</html>
diff --git a/doc/html/globals_defs.html b/doc/html/globals_defs.html
new file mode 100644 (file)
index 0000000..3dce741
--- /dev/null
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Camera grab convert to MPEG: Data Fields</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li id="current"><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="globals.html"><span>All</span></a></li>
+    <li><a href="globals_func.html"><span>Functions</span></a></li>
+    <li><a href="globals_vars.html"><span>Variables</span></a></li>
+    <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+    <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+    <li id="current"><a href="globals_defs.html"><span>Defines</span></a></li>
+  </ul>
+</div>
+&nbsp;
+<p>
+<ul>
+<li>DHEIGHT
+: <a class="el" href="camv4l_8h.html#2c0e9cadedb91327295c0249e8a3ad6f">camv4l.h</a>
+<li>DWIDTH
+: <a class="el" href="camv4l_8h.html#7f32e26ea2ffbc0c5408e65b30d4f0c8">camv4l.h</a>
+<li>LEN_PALLETE
+: <a class="el" href="camv4l_8c.html#1ae3f99c00fbdb4eec4a4eb4fdfeacd0">camv4l.c</a>
+<li>VIDEO_PALETTE_RAW_JPEG
+: <a class="el" href="camv4l_8h.html#f86678f63c4ac31acaf68b38d90d94a9">camv4l.h</a>
+<li>VIDEO_PALETTE_RGB24
+: <a class="el" href="camv4l_8h.html#8dd93a2c957ded118f8ff17680cbf220">camv4l.h</a>
+<li>VIDEO_PALETTE_RGB32
+: <a class="el" href="camv4l_8h.html#d50994973596a30826522de0701ad02b">camv4l.h</a>
+<li>VIDEO_PALETTE_RGB565
+: <a class="el" href="camv4l_8h.html#dbf692218d97fffa111494787562d9e8">camv4l.h</a>
+<li>VIDEO_PALETTE_YUV420P
+: <a class="el" href="camv4l_8h.html#dea1e94780da3ba61a1a1d9a11affdd2">camv4l.h</a>
+</ul>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jan 26 20:51:51 2009 for Camera grab convert to MPEG by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+</body>
+</html>
diff --git a/doc/html/globals_enum.html b/doc/html/globals_enum.html
new file mode 100644 (file)
index 0000000..cb55f83
--- /dev/null
@@ -0,0 +1,40 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Camera grab convert to MPEG: Data Fields</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li id="current"><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="globals.html"><span>All</span></a></li>
+    <li><a href="globals_func.html"><span>Functions</span></a></li>
+    <li><a href="globals_vars.html"><span>Variables</span></a></li>
+    <li id="current"><a href="globals_enum.html"><span>Enumerations</span></a></li>
+    <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+    <li><a href="globals_defs.html"><span>Defines</span></a></li>
+  </ul>
+</div>
+&nbsp;
+<p>
+<ul>
+<li>cam_form
+: <a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe2161">camv4l.h</a>
+</ul>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jan 26 20:51:51 2009 for Camera grab convert to MPEG by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+</body>
+</html>
diff --git a/doc/html/globals_eval.html b/doc/html/globals_eval.html
new file mode 100644 (file)
index 0000000..530e543
--- /dev/null
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Camera grab convert to MPEG: Data Fields</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li id="current"><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="globals.html"><span>All</span></a></li>
+    <li><a href="globals_func.html"><span>Functions</span></a></li>
+    <li><a href="globals_vars.html"><span>Variables</span></a></li>
+    <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+    <li id="current"><a href="globals_eval.html"><span>Enumerator</span></a></li>
+    <li><a href="globals_defs.html"><span>Defines</span></a></li>
+  </ul>
+</div>
+&nbsp;
+<p>
+<ul>
+<li>GBRG
+: <a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe21613cae9f5260ee8e2b52164f174e076fa2">camv4l.h</a>
+<li>GREY
+: <a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe216138566822dbd9408c447abfd3ed4a85d2">camv4l.h</a>
+<li>JPEG
+: <a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe216196f4d8a8c2070cf7bdd2236a48eae07a">camv4l.h</a>
+<li>UNKNOW
+: <a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe216109b024ff449662360c66ce18d20096fa">camv4l.h</a>
+<li>YUVY
+: <a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe21619c6051edb55a8fb694528d81aa2c92dc">camv4l.h</a>
+<li>YUYV
+: <a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe21610105757557d0eed9bac6f9f1c0185a0b">camv4l.h</a>
+<li>YYUV
+: <a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe21614dd75c8cff6ed2dad455d9b1e3066a7c">camv4l.h</a>
+</ul>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jan 26 20:51:51 2009 for Camera grab convert to MPEG by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+</body>
+</html>
diff --git a/doc/html/globals_func.html b/doc/html/globals_func.html
new file mode 100644 (file)
index 0000000..1e7b9f9
--- /dev/null
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Camera grab convert to MPEG: Data Fields</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li id="current"><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="globals.html"><span>All</span></a></li>
+    <li id="current"><a href="globals_func.html"><span>Functions</span></a></li>
+    <li><a href="globals_vars.html"><span>Variables</span></a></li>
+    <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+    <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+    <li><a href="globals_defs.html"><span>Defines</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="#index_c"><span>c</span></a></li>
+    <li><a href="#index_f"><span>f</span></a></li>
+    <li><a href="#index_g"><span>g</span></a></li>
+    <li><a href="#index_i"><span>i</span></a></li>
+    <li><a href="#index_m"><span>m</span></a></li>
+    <li><a href="#index_p"><span>p</span></a></li>
+    <li><a href="#index_s"><span>s</span></a></li>
+    <li><a href="#index_v"><span>v</span></a></li>
+  </ul>
+</div>
+
+<p>
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
+<li>changeSize()
+: <a class="el" href="group__common.html#gc42ddb12fdb3b8855b07988e18d09432">camv4l.c</a>
+, <a class="el" href="group__common.html#gc42ddb12fdb3b8855b07988e18d09432">camv4l.h</a>
+<li>close_v4l()
+: <a class="el" href="group__common.html#ga7b6cf1c3b04b4758f8c256879c96672">camv4l.h</a>
+, <a class="el" href="group__common.html#ga7b6cf1c3b04b4758f8c256879c96672">camv4l.c</a>
+</ul>
+<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
+<li>flipUV()
+: <a class="el" href="camv4l_8c.html#1da8db34b1923c570a40f54e2b22ca39">camv4l.c</a>
+</ul>
+<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
+<li>getBrightness()
+: <a class="el" href="group__common.html#ga35212f7c527f755fd38ed31f6567876">camv4l.c</a>
+, <a class="el" href="group__common.html#ga35212f7c527f755fd38ed31f6567876">camv4l.h</a>
+<li>getChannel()
+: <a class="el" href="group__common.html#g0f30a35aefb43f696c8700e8ee086158">camv4l.h</a>
+<li>getColors()
+: <a class="el" href="group__common.html#g099243def65c4c72efa563e1c3a95f6a">camv4l.h</a>
+, <a class="el" href="group__common.html#g099243def65c4c72efa563e1c3a95f6a">camv4l.c</a>
+<li>getContrast()
+: <a class="el" href="group__common.html#g27a2a2aa5b19632b19ebc8c0652b097e">camv4l.c</a>
+, <a class="el" href="group__common.html#g27a2a2aa5b19632b19ebc8c0652b097e">camv4l.h</a>
+<li>GetDepth()
+: <a class="el" href="camv4l_8c.html#283b0e82a3d74f512e682a8ac52659b7">camv4l.c</a>
+<li>getNorme()
+: <a class="el" href="group__common.html#g31aba12be45387bd98ccf111606f15e6">camv4l.h</a>
+<li>GetVideoPict()
+: <a class="el" href="camv4l_8c.html#8cb6f747fd7726860f771609946d09b3">camv4l.c</a>
+<li>grab()
+: <a class="el" href="group__common.html#g2b042146ea433ba800a754e3d056a86d">camv4l.h</a>
+, <a class="el" href="group__common.html#g2b042146ea433ba800a754e3d056a86d">camv4l.c</a>
+</ul>
+<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
+<li>init_v4l()
+: <a class="el" href="group__common.html#gdc0c206abad8d7210c57022190f93dc4">camv4l.c</a>
+, <a class="el" href="group__common.html#gdc0c206abad8d7210c57022190f93dc4">camv4l.h</a>
+</ul>
+<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+<li>main()
+: <a class="el" href="grab__mpeg_8c.html#99ed24fde392ba5e0c427c04cd8ad429">grab_mpeg.c</a>
+</ul>
+<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+<li>probePalette()
+: <a class="el" href="camv4l_8c.html#e2f8dd81ccfc3b70fdeb99b07586a1b1">camv4l.c</a>
+<li>probeSize()
+: <a class="el" href="camv4l_8c.html#bee824dc095955f0175643284986b23e">camv4l.c</a>
+<li>processvideo()
+: <a class="el" href="grab__mpeg_8c.html#28603e93ac81b15f759127bbfdc7cb37">grab_mpeg.c</a>
+</ul>
+<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+<li>setBrightness()
+: <a class="el" href="group__common.html#ge1d8001afa8f1cbe9ff187e53e9089bb">camv4l.c</a>
+, <a class="el" href="group__common.html#ge1d8001afa8f1cbe9ff187e53e9089bb">camv4l.h</a>
+<li>setChannel()
+: <a class="el" href="group__common.html#g934ec7ef103b0ad6b7f319b289c13094">camv4l.h</a>
+<li>setColors()
+: <a class="el" href="group__common.html#g20703b2ca537132fde1e0a9fccbfd6c5">camv4l.h</a>
+, <a class="el" href="group__common.html#g20703b2ca537132fde1e0a9fccbfd6c5">camv4l.c</a>
+<li>setContrast()
+: <a class="el" href="group__common.html#g3386f2919710868906af5025aa220f64">camv4l.h</a>
+, <a class="el" href="group__common.html#g3386f2919710868906af5025aa220f64">camv4l.c</a>
+<li>setNorme()
+: <a class="el" href="group__common.html#ga723eaba9e11996dc99e8dace7b87aa5">camv4l.h</a>
+<li>setPalette()
+: <a class="el" href="group__common.html#g4f1b347f61daa1e55c12a2a3ebb22ee3">camv4l.c</a>
+, <a class="el" href="group__common.html#g4f1b347f61daa1e55c12a2a3ebb22ee3">camv4l.h</a>
+<li>SetVideoPict()
+: <a class="el" href="camv4l_8c.html#6391de2c695ffff5ba0a8632f6db3c1f">camv4l.c</a>
+</ul>
+<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
+<li>video_encode_alloc()
+: <a class="el" href="grab__mpeg_8c.html#dedd16f8b46d848fe3ef6179dd54956c">grab_mpeg.c</a>
+<li>video_encode_free()
+: <a class="el" href="grab__mpeg_8c.html#074665588885b7b51505b9331ba690e9">grab_mpeg.c</a>
+<li>video_encode_mpeg()
+: <a class="el" href="grab__mpeg_8c.html#aadbb0611fc321cf111d581db0ff62e4">grab_mpeg.c</a>
+</ul>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jan 26 20:51:51 2009 for Camera grab convert to MPEG by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+</body>
+</html>
diff --git a/doc/html/globals_vars.html b/doc/html/globals_vars.html
new file mode 100644 (file)
index 0000000..e3dcf46
--- /dev/null
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Camera grab convert to MPEG: Data Fields</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li id="current"><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="globals.html"><span>All</span></a></li>
+    <li><a href="globals_func.html"><span>Functions</span></a></li>
+    <li id="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+    <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+    <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+    <li><a href="globals_defs.html"><span>Defines</span></a></li>
+  </ul>
+</div>
+&nbsp;
+<p>
+<ul>
+<li>c
+: <a class="el" href="grab__mpeg_8c.html#e7991e0075301e249fa7d40d5b0eec81">grab_mpeg.c</a>
+<li>codec
+: <a class="el" href="grab__mpeg_8c.html#3d92780da6f5146c4f47f425dd151d96">grab_mpeg.c</a>
+<li>f
+: <a class="el" href="grab__mpeg_8c.html#3efb0e1a16208deecbd84c15401f7cf8">grab_mpeg.c</a>
+<li>i
+: <a class="el" href="grab__mpeg_8c.html#cb559820d9ca11295b4500f179ef6392">grab_mpeg.c</a>
+<li>myvidIn
+: <a class="el" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">grab_mpeg.c</a>
+<li>out_size
+: <a class="el" href="grab__mpeg_8c.html#6b2e93f2f2db9a65b19a2487c6b1f78b">grab_mpeg.c</a>
+<li>outbuf
+: <a class="el" href="grab__mpeg_8c.html#a85f3649904a9e7c4d21c42f95a2eac8">grab_mpeg.c</a>
+<li>outbuf_size
+: <a class="el" href="grab__mpeg_8c.html#7143b1416521b958e981da0f56586e8e">grab_mpeg.c</a>
+<li>PAL
+: <a class="el" href="camv4l_8c.html#ee54b939c70ffe5540c8e77e8b75c331">camv4l.c</a>
+<li>picture
+: <a class="el" href="grab__mpeg_8c.html#65f6cfcea30372e03b387bd67c2f8a8d">grab_mpeg.c</a>
+<li>SIZE
+: <a class="el" href="camv4l_8c.html#26ffb7e515435a5ff2d24656ecacd181">camv4l.c</a>
+<li>size
+: <a class="el" href="grab__mpeg_8c.html#439227feff9d7f55384e8780cfc2eb82">grab_mpeg.c</a>
+</ul>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jan 26 20:51:51 2009 for Camera grab convert to MPEG by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+</body>
+</html>
diff --git a/doc/html/grab__mpeg_8c-source.html b/doc/html/grab__mpeg_8c-source.html
new file mode 100644 (file)
index 0000000..265420d
--- /dev/null
@@ -0,0 +1,228 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Camera grab convert to MPEG: grab_mpeg.c Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<h1>grab_mpeg.c</h1><a href="grab__mpeg_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;string.h&gt;</span>
+<a name="l00031"></a>00031 
+<a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="camv4l_8h.html">camv4l.h</a>"</span>
+<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;ffmpeg/avcodec.h&gt;</span>
+<a name="l00034"></a>00034 
+<a name="l00035"></a>00035 
+<a name="l00037"></a><a class="code" href="grab__mpeg_8c.html#3d92780da6f5146c4f47f425dd151d96">00037</a> AVCodec *<a class="code" href="grab__mpeg_8c.html#3d92780da6f5146c4f47f425dd151d96">codec</a>;
+<a name="l00038"></a>00038 
+<a name="l00040"></a><a class="code" href="grab__mpeg_8c.html#e7991e0075301e249fa7d40d5b0eec81">00040</a> AVCodecContext *<a class="code" href="grab__mpeg_8c.html#e7991e0075301e249fa7d40d5b0eec81">c</a>;
+<a name="l00041"></a>00041 
+<a name="l00042"></a><a class="code" href="grab__mpeg_8c.html#cb559820d9ca11295b4500f179ef6392">00042</a> <span class="keywordtype">int</span> <a class="code" href="grab__mpeg_8c.html#cb559820d9ca11295b4500f179ef6392">i</a>;
+<a name="l00043"></a><a class="code" href="grab__mpeg_8c.html#6b2e93f2f2db9a65b19a2487c6b1f78b">00043</a> <span class="keywordtype">int</span> <a class="code" href="grab__mpeg_8c.html#6b2e93f2f2db9a65b19a2487c6b1f78b">out_size</a>;
+<a name="l00044"></a><a class="code" href="grab__mpeg_8c.html#439227feff9d7f55384e8780cfc2eb82">00044</a> <span class="keywordtype">int</span> <a class="code" href="grab__mpeg_8c.html#439227feff9d7f55384e8780cfc2eb82">size</a>;
+<a name="l00045"></a>00045 
+<a name="l00047"></a><a class="code" href="grab__mpeg_8c.html#3efb0e1a16208deecbd84c15401f7cf8">00047</a> FILE *<a class="code" href="grab__mpeg_8c.html#3efb0e1a16208deecbd84c15401f7cf8">f</a>;
+<a name="l00048"></a>00048 
+<a name="l00050"></a><a class="code" href="grab__mpeg_8c.html#65f6cfcea30372e03b387bd67c2f8a8d">00050</a> AVFrame *<a class="code" href="grab__mpeg_8c.html#65f6cfcea30372e03b387bd67c2f8a8d">picture</a>;
+<a name="l00051"></a>00051 
+<a name="l00053"></a><a class="code" href="grab__mpeg_8c.html#a85f3649904a9e7c4d21c42f95a2eac8">00053</a> uint8_t *<a class="code" href="grab__mpeg_8c.html#a85f3649904a9e7c4d21c42f95a2eac8">outbuf</a>;<span class="comment">// *picture_buf;</span>
+<a name="l00054"></a>00054 <span class="comment">//Size of output </span>
+<a name="l00055"></a><a class="code" href="grab__mpeg_8c.html#7143b1416521b958e981da0f56586e8e">00055</a> <span class="keywordtype">int</span> <a class="code" href="grab__mpeg_8c.html#7143b1416521b958e981da0f56586e8e">outbuf_size</a>;
+<a name="l00056"></a>00056 
+<a name="l00057"></a>00057 
+<a name="l00059"></a><a class="code" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">00059</a> <span class="keyword">struct </span><a class="code" href="structvdIn.html">vdIn</a> <a class="code" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a>;
+<a name="l00060"></a>00060 
+<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="grab__mpeg_8c.html#28603e93ac81b15f759127bbfdc7cb37">processvideo</a> ();
+<a name="l00065"></a>00065 
+<a name="l00069"></a>00069 <span class="keywordtype">void</span> <a class="code" href="grab__mpeg_8c.html#dedd16f8b46d848fe3ef6179dd54956c">video_encode_alloc</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename,uint8_t* in_buffer);
+<a name="l00070"></a>00070 
+<a name="l00074"></a>00074 <span class="keywordtype">void</span> <a class="code" href="grab__mpeg_8c.html#aadbb0611fc321cf111d581db0ff62e4">video_encode_mpeg</a>();
+<a name="l00075"></a>00075 
+<a name="l00079"></a>00079 <span class="keywordtype">void</span> <a class="code" href="grab__mpeg_8c.html#074665588885b7b51505b9331ba690e9">video_encode_free</a>();
+<a name="l00080"></a>00080 
+<a name="l00081"></a>00081 
+<a name="l00088"></a><a class="code" href="grab__mpeg_8c.html#99ed24fde392ba5e0c427c04cd8ad429">00088</a> <span class="keywordtype">int</span> <a class="code" href="grab__mpeg_8c.html#99ed24fde392ba5e0c427c04cd8ad429">main</a>(<span class="keywordtype">int</span> count, <span class="keywordtype">char</span> *strings[])
+<a name="l00089"></a>00089 {       
+<a name="l00090"></a>00090         <a class="code" href="grab__mpeg_8c.html#e7991e0075301e249fa7d40d5b0eec81">c</a>= NULL;
+<a name="l00091"></a>00091         <span class="keywordtype">int</span> retval;
+<a name="l00092"></a>00092         <span class="comment">//int cnt=10;</span>
+<a name="l00093"></a>00093 
+<a name="l00094"></a>00094         <span class="comment">//prevziti parametru z prikazove radky</span>
+<a name="l00095"></a>00095         <span class="comment">/*if ( count != 2 ){//kontrola zda jsme zadali port</span>
+<a name="l00096"></a>00096 <span class="comment">                printf("usage: %s &lt;port&gt;\n...Using default port (%d).\n", strings[0], port);</span>
+<a name="l00097"></a>00097 <span class="comment">        }</span>
+<a name="l00098"></a>00098 <span class="comment">        else {</span>
+<a name="l00099"></a>00099 <span class="comment">                port = atoi(strings[1]); //prevod z parametru</span>
+<a name="l00100"></a>00100 <span class="comment">        }*/</span>
+<a name="l00101"></a>00101 
+<a name="l00102"></a>00102         <span class="keyword">const</span> <span class="keywordtype">char</span> *videodev =<span class="stringliteral">"/dev/video0"</span>;
+<a name="l00103"></a>00103         <span class="keyword">const</span> <span class="keywordtype">char</span> *filename = <span class="stringliteral">"pokus.mpg"</span>;
+<a name="l00104"></a>00104         <span class="keywordtype">int</span> grabmethod = 1; <span class="comment">//or 0</span>
+<a name="l00105"></a>00105 
+<a name="l00106"></a>00106         <span class="comment">/* make room for init data */</span>
+<a name="l00107"></a>00107         <a class="code" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a>.<a class="code" href="structvdIn.html#a5bc365f449fae0bacc9ef7e813dfcdd">videodevice</a> = NULL;
+<a name="l00108"></a>00108         <a class="code" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a>.<a class="code" href="structvdIn.html#676d43607601940f318ee3b274e4716b">cameraname</a> = NULL;
+<a name="l00109"></a>00109         <a class="code" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a>.<a class="code" href="structvdIn.html#4dcb789ec776b466e9e0ee388686e3b6">bridge</a> = NULL;
+<a name="l00110"></a>00110         <a class="code" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a>.<a class="code" href="structvdIn.html#a5bc365f449fae0bacc9ef7e813dfcdd">videodevice</a> = (<span class="keywordtype">char</span> *) realloc (<a class="code" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a>.<a class="code" href="structvdIn.html#a5bc365f449fae0bacc9ef7e813dfcdd">videodevice</a>, 16);
+<a name="l00111"></a>00111         <a class="code" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a>.<a class="code" href="structvdIn.html#676d43607601940f318ee3b274e4716b">cameraname</a> = (<span class="keywordtype">char</span> *) realloc (<a class="code" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a>.<a class="code" href="structvdIn.html#676d43607601940f318ee3b274e4716b">cameraname</a>, 32);
+<a name="l00112"></a>00112         <a class="code" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a>.<a class="code" href="structvdIn.html#4dcb789ec776b466e9e0ee388686e3b6">bridge</a> = (<span class="keywordtype">char</span> *) realloc (<a class="code" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a>.<a class="code" href="structvdIn.html#4dcb789ec776b466e9e0ee388686e3b6">bridge</a>, 9);
+<a name="l00113"></a>00113         <a class="code" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a>.<a class="code" href="structvdIn.html#faaf5caccac448b15a6f350cd02756b3">grabMethod</a> = grabmethod;        <span class="comment">// 1 mmap 0 read</span>
+<a name="l00114"></a>00114         snprintf (<a class="code" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a>.<a class="code" href="structvdIn.html#a5bc365f449fae0bacc9ef7e813dfcdd">videodevice</a>, 12, <span class="stringliteral">"%s"</span>, videodev);
+<a name="l00115"></a>00115         printf (<span class="stringliteral">"video device %s\n"</span>, <a class="code" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a>.<a class="code" href="structvdIn.html#a5bc365f449fae0bacc9ef7e813dfcdd">videodevice</a>);
+<a name="l00116"></a>00116         retval=<a class="code" href="group__common.html#gdc0c206abad8d7210c57022190f93dc4">init_v4l</a> (&amp;<a class="code" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a>);
+<a name="l00117"></a>00117         printf(<span class="stringliteral">"Device was been initialized %d \n"</span>,retval);
+<a name="l00118"></a>00118 
+<a name="l00119"></a>00119         <a class="code" href="grab__mpeg_8c.html#dedd16f8b46d848fe3ef6179dd54956c">video_encode_alloc</a>(filename,<a class="code" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a>.<a class="code" href="structvdIn.html#ab1c2508d67a5ad1ec88bf69b0a41fb7">pixTmp</a>);
+<a name="l00120"></a>00120         
+<a name="l00121"></a>00121         <a class="code" href="grab__mpeg_8c.html#28603e93ac81b15f759127bbfdc7cb37">processvideo</a>();
+<a name="l00122"></a>00122         
+<a name="l00123"></a>00123         <a class="code" href="grab__mpeg_8c.html#074665588885b7b51505b9331ba690e9">video_encode_free</a>();
+<a name="l00124"></a>00124 
+<a name="l00125"></a>00125         free (<a class="code" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a>.<a class="code" href="structvdIn.html#a5bc365f449fae0bacc9ef7e813dfcdd">videodevice</a>);
+<a name="l00126"></a>00126         free (<a class="code" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a>.<a class="code" href="structvdIn.html#676d43607601940f318ee3b274e4716b">cameraname</a>);
+<a name="l00127"></a>00127         free (<a class="code" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a>.<a class="code" href="structvdIn.html#4dcb789ec776b466e9e0ee388686e3b6">bridge</a>);
+<a name="l00128"></a>00128         <a class="code" href="group__common.html#ga7b6cf1c3b04b4758f8c256879c96672">close_v4l</a> (&amp;<a class="code" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a>);
+<a name="l00129"></a>00129 
+<a name="l00130"></a>00130         printf(<span class="stringliteral">"Zavreni \n"</span>);
+<a name="l00131"></a>00131 
+<a name="l00132"></a>00132         <span class="keywordflow">return</span> 1;
+<a name="l00133"></a>00133 }
+<a name="l00134"></a>00134 
+<a name="l00135"></a>00135 
+<a name="l00136"></a>00136 
+<a name="l00137"></a><a class="code" href="grab__mpeg_8c.html#28603e93ac81b15f759127bbfdc7cb37">00137</a> <span class="keywordtype">void</span> <a class="code" href="grab__mpeg_8c.html#28603e93ac81b15f759127bbfdc7cb37">processvideo</a> () 
+<a name="l00138"></a>00138 {
+<a name="l00139"></a>00139         <span class="keywordtype">int</span> run = 1;
+<a name="l00140"></a>00140         <span class="keywordtype">int</span> cnt=0;
+<a name="l00141"></a>00141 
+<a name="l00142"></a>00142         <span class="comment">//set size of video</span>
+<a name="l00143"></a>00143         <a class="code" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a>.<a class="code" href="structvdIn.html#21a92e9c30017da96ee881bef3469f18">hdrwidth</a> = 384;
+<a name="l00144"></a>00144         <a class="code" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a>.<a class="code" href="structvdIn.html#2de78c4cff91808eb64ccab86e8d56b9">hdrheight</a> = 288;
+<a name="l00145"></a>00145         <a class="code" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a>.<a class="code" href="structvdIn.html#da1a8b7c0f40c9d997f8e8fddd4bc27d">formatIn</a> = <a class="code" href="camv4l_8h.html#dea1e94780da3ba61a1a1d9a11affdd2">VIDEO_PALETTE_YUV420P</a>;
+<a name="l00146"></a>00146         <span class="comment">/* input data maybe a jpeg one */</span>
+<a name="l00147"></a>00147         <a class="code" href="group__common.html#g4f1b347f61daa1e55c12a2a3ebb22ee3">setPalette</a> (&amp;<a class="code" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a>);
+<a name="l00148"></a>00148 
+<a name="l00149"></a>00149         <span class="keywordflow">while</span> (run){    
+<a name="l00150"></a>00150                 <a class="code" href="group__common.html#g2b042146ea433ba800a754e3d056a86d">grab</a> (&amp;<a class="code" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a>);
+<a name="l00151"></a>00151 
+<a name="l00152"></a>00152                 <span class="keywordflow">if</span>(cnt&gt;3)
+<a name="l00153"></a>00153                         <a class="code" href="grab__mpeg_8c.html#aadbb0611fc321cf111d581db0ff62e4">video_encode_mpeg</a>();
+<a name="l00154"></a>00154 
+<a name="l00155"></a>00155                 <span class="comment">//sleep(1);</span>
+<a name="l00156"></a>00156       cnt++;
+<a name="l00157"></a>00157                 <span class="keywordflow">if</span>(cnt==50){run=0;}
+<a name="l00158"></a>00158                 printf(<span class="stringliteral">"Frame %d\n"</span>,cnt);
+<a name="l00159"></a>00159         }
+<a name="l00160"></a>00160 }
+<a name="l00161"></a>00161 
+<a name="l00162"></a><a class="code" href="grab__mpeg_8c.html#dedd16f8b46d848fe3ef6179dd54956c">00162</a> <span class="keywordtype">void</span> <a class="code" href="grab__mpeg_8c.html#dedd16f8b46d848fe3ef6179dd54956c">video_encode_alloc</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename,uint8_t* in_buffer){
+<a name="l00163"></a>00163         
+<a name="l00164"></a>00164         <span class="comment">/* must be called before using avcodec lib */</span>
+<a name="l00165"></a>00165    avcodec_init();
+<a name="l00166"></a>00166  
+<a name="l00167"></a>00167    <span class="comment">/* register all the codecs */</span>
+<a name="l00168"></a>00168         avcodec_register_all();
+<a name="l00169"></a>00169 
+<a name="l00170"></a>00170         <span class="comment">//printf("Video encoding\n");</span>
+<a name="l00171"></a>00171         <span class="comment">/* find the mpeg1 video encoder */</span>
+<a name="l00172"></a>00172         <a class="code" href="grab__mpeg_8c.html#3d92780da6f5146c4f47f425dd151d96">codec</a> = avcodec_find_encoder(CODEC_ID_MPEG1VIDEO);
+<a name="l00173"></a>00173         <span class="keywordflow">if</span> (!<a class="code" href="grab__mpeg_8c.html#3d92780da6f5146c4f47f425dd151d96">codec</a>) {
+<a name="l00174"></a>00174                 fprintf(stderr, <span class="stringliteral">"codec not found\n"</span>);
+<a name="l00175"></a>00175                 exit(1);
+<a name="l00176"></a>00176         }
+<a name="l00177"></a>00177 
+<a name="l00178"></a>00178         <a class="code" href="grab__mpeg_8c.html#e7991e0075301e249fa7d40d5b0eec81">c</a>= avcodec_alloc_context();
+<a name="l00179"></a>00179         <a class="code" href="grab__mpeg_8c.html#65f6cfcea30372e03b387bd67c2f8a8d">picture</a>= avcodec_alloc_frame();
+<a name="l00180"></a>00180         <span class="comment">/* put sample parameters */</span>
+<a name="l00181"></a>00181         <a class="code" href="grab__mpeg_8c.html#e7991e0075301e249fa7d40d5b0eec81">c</a>-&gt;bit_rate = 1000000;
+<a name="l00182"></a>00182         <span class="comment">/* resolution must be a multiple of two */</span>
+<a name="l00183"></a>00183         <a class="code" href="grab__mpeg_8c.html#e7991e0075301e249fa7d40d5b0eec81">c</a>-&gt;width = 384;
+<a name="l00184"></a>00184         <a class="code" href="grab__mpeg_8c.html#e7991e0075301e249fa7d40d5b0eec81">c</a>-&gt;height = 288;
+<a name="l00185"></a>00185         <span class="comment">/* frames per second */</span>
+<a name="l00186"></a>00186         <a class="code" href="grab__mpeg_8c.html#e7991e0075301e249fa7d40d5b0eec81">c</a>-&gt;time_base= (AVRational){1,25};
+<a name="l00187"></a>00187         <a class="code" href="grab__mpeg_8c.html#e7991e0075301e249fa7d40d5b0eec81">c</a>-&gt;gop_size = 10; <span class="comment">/* emit one intra frame every ten frames */</span>
+<a name="l00188"></a>00188         <a class="code" href="grab__mpeg_8c.html#e7991e0075301e249fa7d40d5b0eec81">c</a>-&gt;max_b_frames=1;
+<a name="l00189"></a>00189         <a class="code" href="grab__mpeg_8c.html#e7991e0075301e249fa7d40d5b0eec81">c</a>-&gt;pix_fmt = PIX_FMT_YUV420P;
+<a name="l00190"></a>00190  
+<a name="l00191"></a>00191         <span class="comment">/* open codec */</span>
+<a name="l00192"></a>00192         <span class="keywordflow">if</span> (avcodec_open(<a class="code" href="grab__mpeg_8c.html#e7991e0075301e249fa7d40d5b0eec81">c</a>, <a class="code" href="grab__mpeg_8c.html#3d92780da6f5146c4f47f425dd151d96">codec</a>) &lt; 0) {
+<a name="l00193"></a>00193                 fprintf(stderr, <span class="stringliteral">"could not open codec\n"</span>);
+<a name="l00194"></a>00194                 exit(1);
+<a name="l00195"></a>00195         }
+<a name="l00196"></a>00196 
+<a name="l00197"></a>00197         <a class="code" href="grab__mpeg_8c.html#3efb0e1a16208deecbd84c15401f7cf8">f</a> = fopen(filename, <span class="stringliteral">"wb"</span>);
+<a name="l00198"></a>00198         <span class="keywordflow">if</span> (!<a class="code" href="grab__mpeg_8c.html#3efb0e1a16208deecbd84c15401f7cf8">f</a>) {
+<a name="l00199"></a>00199                 fprintf(stderr, <span class="stringliteral">"could not open %s\n"</span>, filename);
+<a name="l00200"></a>00200                 exit(1);
+<a name="l00201"></a>00201         }
+<a name="l00202"></a>00202 
+<a name="l00203"></a>00203         <span class="comment">/* alloc image and output buffer */</span>
+<a name="l00204"></a>00204         <span class="comment">//buffer pro zakodovany obrazek mpegem</span>
+<a name="l00205"></a>00205         <a class="code" href="grab__mpeg_8c.html#7143b1416521b958e981da0f56586e8e">outbuf_size</a> = 100000;
+<a name="l00206"></a>00206         <a class="code" href="grab__mpeg_8c.html#a85f3649904a9e7c4d21c42f95a2eac8">outbuf</a> = malloc(<a class="code" href="grab__mpeg_8c.html#7143b1416521b958e981da0f56586e8e">outbuf_size</a>);
+<a name="l00207"></a>00207 
+<a name="l00208"></a>00208         <a class="code" href="grab__mpeg_8c.html#439227feff9d7f55384e8780cfc2eb82">size</a> = <a class="code" href="grab__mpeg_8c.html#e7991e0075301e249fa7d40d5b0eec81">c</a>-&gt;width * <a class="code" href="grab__mpeg_8c.html#e7991e0075301e249fa7d40d5b0eec81">c</a>-&gt;height;
+<a name="l00209"></a>00209 
+<a name="l00210"></a>00210         <a class="code" href="grab__mpeg_8c.html#65f6cfcea30372e03b387bd67c2f8a8d">picture</a>-&gt;data[0] = in_buffer;
+<a name="l00211"></a>00211         <a class="code" href="grab__mpeg_8c.html#65f6cfcea30372e03b387bd67c2f8a8d">picture</a>-&gt;data[1] = <a class="code" href="grab__mpeg_8c.html#65f6cfcea30372e03b387bd67c2f8a8d">picture</a>-&gt;data[0] + <a class="code" href="grab__mpeg_8c.html#439227feff9d7f55384e8780cfc2eb82">size</a>;
+<a name="l00212"></a>00212         <a class="code" href="grab__mpeg_8c.html#65f6cfcea30372e03b387bd67c2f8a8d">picture</a>-&gt;data[2] = <a class="code" href="grab__mpeg_8c.html#65f6cfcea30372e03b387bd67c2f8a8d">picture</a>-&gt;data[1] + <a class="code" href="grab__mpeg_8c.html#439227feff9d7f55384e8780cfc2eb82">size</a> / 4;
+<a name="l00213"></a>00213         <a class="code" href="grab__mpeg_8c.html#65f6cfcea30372e03b387bd67c2f8a8d">picture</a>-&gt;linesize[0] = <a class="code" href="grab__mpeg_8c.html#e7991e0075301e249fa7d40d5b0eec81">c</a>-&gt;width;
+<a name="l00214"></a>00214         <a class="code" href="grab__mpeg_8c.html#65f6cfcea30372e03b387bd67c2f8a8d">picture</a>-&gt;linesize[1] = <a class="code" href="grab__mpeg_8c.html#e7991e0075301e249fa7d40d5b0eec81">c</a>-&gt;width / 2;
+<a name="l00215"></a>00215         <a class="code" href="grab__mpeg_8c.html#65f6cfcea30372e03b387bd67c2f8a8d">picture</a>-&gt;linesize[2] = <a class="code" href="grab__mpeg_8c.html#e7991e0075301e249fa7d40d5b0eec81">c</a>-&gt;width / 2;
+<a name="l00216"></a>00216 }
+<a name="l00217"></a>00217 
+<a name="l00218"></a><a class="code" href="grab__mpeg_8c.html#aadbb0611fc321cf111d581db0ff62e4">00218</a> <span class="keywordtype">void</span> <a class="code" href="grab__mpeg_8c.html#aadbb0611fc321cf111d581db0ff62e4">video_encode_mpeg</a>(){
+<a name="l00219"></a>00219         
+<a name="l00220"></a>00220         <span class="comment">/* encode the image */</span>
+<a name="l00221"></a>00221         <a class="code" href="grab__mpeg_8c.html#6b2e93f2f2db9a65b19a2487c6b1f78b">out_size</a> = avcodec_encode_video(<a class="code" href="grab__mpeg_8c.html#e7991e0075301e249fa7d40d5b0eec81">c</a>, <a class="code" href="grab__mpeg_8c.html#a85f3649904a9e7c4d21c42f95a2eac8">outbuf</a>, <a class="code" href="grab__mpeg_8c.html#7143b1416521b958e981da0f56586e8e">outbuf_size</a>, <a class="code" href="grab__mpeg_8c.html#65f6cfcea30372e03b387bd67c2f8a8d">picture</a>);
+<a name="l00222"></a>00222         <span class="comment">//printf("encoding frame %3d (size=%5d)\n", i, out_size);</span>
+<a name="l00223"></a>00223         fwrite(<a class="code" href="grab__mpeg_8c.html#a85f3649904a9e7c4d21c42f95a2eac8">outbuf</a>, 1, <a class="code" href="grab__mpeg_8c.html#6b2e93f2f2db9a65b19a2487c6b1f78b">out_size</a>, <a class="code" href="grab__mpeg_8c.html#3efb0e1a16208deecbd84c15401f7cf8">f</a>);
+<a name="l00224"></a>00224 }
+<a name="l00225"></a>00225 
+<a name="l00226"></a>00226 
+<a name="l00227"></a><a class="code" href="grab__mpeg_8c.html#074665588885b7b51505b9331ba690e9">00227</a> <span class="keywordtype">void</span> <a class="code" href="grab__mpeg_8c.html#074665588885b7b51505b9331ba690e9">video_encode_free</a>(){
+<a name="l00228"></a>00228 
+<a name="l00229"></a>00229         <span class="comment">/* get the delayed frames */</span>
+<a name="l00230"></a>00230         <span class="keywordflow">for</span>(; <a class="code" href="grab__mpeg_8c.html#6b2e93f2f2db9a65b19a2487c6b1f78b">out_size</a>; <a class="code" href="grab__mpeg_8c.html#cb559820d9ca11295b4500f179ef6392">i</a>++) {
+<a name="l00231"></a>00231                 fflush(stdout);
+<a name="l00232"></a>00232                 <a class="code" href="grab__mpeg_8c.html#6b2e93f2f2db9a65b19a2487c6b1f78b">out_size</a> = avcodec_encode_video(<a class="code" href="grab__mpeg_8c.html#e7991e0075301e249fa7d40d5b0eec81">c</a>, <a class="code" href="grab__mpeg_8c.html#a85f3649904a9e7c4d21c42f95a2eac8">outbuf</a>, <a class="code" href="grab__mpeg_8c.html#7143b1416521b958e981da0f56586e8e">outbuf_size</a>, NULL);
+<a name="l00233"></a>00233                 printf(<span class="stringliteral">"write frame %3d (size=%5d)\n"</span>, <a class="code" href="grab__mpeg_8c.html#cb559820d9ca11295b4500f179ef6392">i</a>, <a class="code" href="grab__mpeg_8c.html#6b2e93f2f2db9a65b19a2487c6b1f78b">out_size</a>);
+<a name="l00234"></a>00234                 fwrite(<a class="code" href="grab__mpeg_8c.html#a85f3649904a9e7c4d21c42f95a2eac8">outbuf</a>, 1, <a class="code" href="grab__mpeg_8c.html#6b2e93f2f2db9a65b19a2487c6b1f78b">out_size</a>, <a class="code" href="grab__mpeg_8c.html#3efb0e1a16208deecbd84c15401f7cf8">f</a>);
+<a name="l00235"></a>00235         }
+<a name="l00236"></a>00236 
+<a name="l00237"></a>00237         <span class="comment">/* add sequence end code to have a real mpeg file */</span>
+<a name="l00238"></a>00238         <a class="code" href="grab__mpeg_8c.html#a85f3649904a9e7c4d21c42f95a2eac8">outbuf</a>[0] = 0x00;
+<a name="l00239"></a>00239         <a class="code" href="grab__mpeg_8c.html#a85f3649904a9e7c4d21c42f95a2eac8">outbuf</a>[1] = 0x00;
+<a name="l00240"></a>00240         <a class="code" href="grab__mpeg_8c.html#a85f3649904a9e7c4d21c42f95a2eac8">outbuf</a>[2] = 0x01;
+<a name="l00241"></a>00241         <a class="code" href="grab__mpeg_8c.html#a85f3649904a9e7c4d21c42f95a2eac8">outbuf</a>[3] = 0xb7;
+<a name="l00242"></a>00242 
+<a name="l00243"></a>00243         fwrite(<a class="code" href="grab__mpeg_8c.html#a85f3649904a9e7c4d21c42f95a2eac8">outbuf</a>, 1, 4, <a class="code" href="grab__mpeg_8c.html#3efb0e1a16208deecbd84c15401f7cf8">f</a>);
+<a name="l00244"></a>00244 
+<a name="l00245"></a>00245         fclose(<a class="code" href="grab__mpeg_8c.html#3efb0e1a16208deecbd84c15401f7cf8">f</a>);
+<a name="l00246"></a>00246         <span class="comment">//free(picture_buf);</span>
+<a name="l00247"></a>00247         free(<a class="code" href="grab__mpeg_8c.html#a85f3649904a9e7c4d21c42f95a2eac8">outbuf</a>);
+<a name="l00248"></a>00248 
+<a name="l00249"></a>00249         avcodec_close(<a class="code" href="grab__mpeg_8c.html#e7991e0075301e249fa7d40d5b0eec81">c</a>);
+<a name="l00250"></a>00250         av_free(<a class="code" href="grab__mpeg_8c.html#e7991e0075301e249fa7d40d5b0eec81">c</a>);
+<a name="l00251"></a>00251         av_free(<a class="code" href="grab__mpeg_8c.html#65f6cfcea30372e03b387bd67c2f8a8d">picture</a>);
+<a name="l00252"></a>00252         printf(<span class="stringliteral">"\n"</span>);
+<a name="l00253"></a>00253         printf(<span class="stringliteral">"video codev was been freed\n"</span>);
+<a name="l00254"></a>00254 }
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Jan 26 20:51:50 2009 for Camera grab convert to MPEG by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+</body>
+</html>
diff --git a/doc/html/grab__mpeg_8c.html b/doc/html/grab__mpeg_8c.html
new file mode 100644 (file)
index 0000000..1a36b9c
--- /dev/null
@@ -0,0 +1,435 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Camera grab convert to MPEG: grab_mpeg.c File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li id="current"><a href="files.html"><span>Files</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>Globals</span></a></li>
+  </ul></div>
+<h1>grab_mpeg.c File Reference</h1>This is the main file where application run. <a href="#_details">More...</a>
+<p>
+<code>#include &lt;stdlib.h&gt;</code><br>
+<code>#include &lt;stdio.h&gt;</code><br>
+<code>#include &lt;string.h&gt;</code><br>
+<code>#include &quot;<a class="el" href="camv4l_8h-source.html">camv4l.h</a>&quot;</code><br>
+<code>#include &lt;ffmpeg/avcodec.h&gt;</code><br>
+
+<p>
+Include dependency graph for grab_mpeg.c:
+<p>
+<a href="grab__mpeg_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="grab__mpeg_8c.html#28603e93ac81b15f759127bbfdc7cb37">processvideo</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="grab__mpeg_8c.html#dedd16f8b46d848fe3ef6179dd54956c">video_encode_alloc</a> (const char *filename, uint8_t *in_buffer)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="grab__mpeg_8c.html#aadbb0611fc321cf111d581db0ff62e4">video_encode_mpeg</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="grab__mpeg_8c.html#074665588885b7b51505b9331ba690e9">video_encode_free</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="grab__mpeg_8c.html#99ed24fde392ba5e0c427c04cd8ad429">main</a> (int count, char *strings[])</td></tr>
+
+<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">AVCodec *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="grab__mpeg_8c.html#3d92780da6f5146c4f47f425dd151d96">codec</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Codec.  <a href="#3d92780da6f5146c4f47f425dd151d96"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">AVCodecContext *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="grab__mpeg_8c.html#e7991e0075301e249fa7d40d5b0eec81">c</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Contex of codec.  <a href="#e7991e0075301e249fa7d40d5b0eec81"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="grab__mpeg_8c.html#cb559820d9ca11295b4500f179ef6392">i</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="grab__mpeg_8c.html#6b2e93f2f2db9a65b19a2487c6b1f78b">out_size</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="grab__mpeg_8c.html#439227feff9d7f55384e8780cfc2eb82">size</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">FILE *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="grab__mpeg_8c.html#3efb0e1a16208deecbd84c15401f7cf8">f</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">File name.  <a href="#3efb0e1a16208deecbd84c15401f7cf8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">AVFrame *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="grab__mpeg_8c.html#65f6cfcea30372e03b387bd67c2f8a8d">picture</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frame of picture.  <a href="#65f6cfcea30372e03b387bd67c2f8a8d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">uint8_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="grab__mpeg_8c.html#a85f3649904a9e7c4d21c42f95a2eac8">outbuf</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Output mpeg frame.  <a href="#a85f3649904a9e7c4d21c42f95a2eac8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="grab__mpeg_8c.html#7143b1416521b958e981da0f56586e8e">outbuf_size</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structvdIn.html">vdIn</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">V4L device.  <a href="#d282c1ee4754687cc4e30bce27cedf8f"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+This is the main file where application run. 
+<p>
+
+<p>
+Definition in file <a class="el" href="grab__mpeg_8c-source.html">grab_mpeg.c</a>.<hr><h2>Function Documentation</h2>
+<a class="anchor" name="99ed24fde392ba5e0c427c04cd8ad429"></a><!-- doxytag: member="grab_mpeg.c::main" ref="99ed24fde392ba5e0c427c04cd8ad429" args="(int count, char *strings[])" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int main           </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>count</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>strings</em>[]</td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+The main function <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>Count of byte </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>strings</em>&nbsp;</td><td>String after run sequnce of aplicationss </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if all good </dd></dl>
+
+<p>
+Definition at line <a class="el" href="grab__mpeg_8c-source.html#l00088">88</a> of file <a class="el" href="grab__mpeg_8c-source.html">grab_mpeg.c</a>.
+<p>
+References <a class="el" href="camv4l_8h-source.html#l00069">vdIn::bridge</a>, <a class="el" href="grab__mpeg_8c-source.html#l00040">c</a>, <a class="el" href="camv4l_8h-source.html#l00068">vdIn::cameraname</a>, <a class="el" href="camv4l_8c-source.html#l00137">close_v4l()</a>, <a class="el" href="camv4l_8h-source.html#l00075">vdIn::grabMethod</a>, <a class="el" href="camv4l_8c-source.html#l00031">init_v4l()</a>, <a class="el" href="grab__mpeg_8c-source.html#l00059">myvidIn</a>, <a class="el" href="camv4l_8h-source.html#l00077">vdIn::pixTmp</a>, <a class="el" href="grab__mpeg_8c-source.html#l00137">processvideo()</a>, <a class="el" href="grab__mpeg_8c-source.html#l00162">video_encode_alloc()</a>, <a class="el" href="grab__mpeg_8c-source.html#l00227">video_encode_free()</a>, and <a class="el" href="camv4l_8h-source.html#l00056">vdIn::videodevice</a>.
+</div>
+</div><p>
+<a class="anchor" name="28603e93ac81b15f759127bbfdc7cb37"></a><!-- doxytag: member="grab_mpeg.c::processvideo" ref="28603e93ac81b15f759127bbfdc7cb37" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void processvideo           </td>
+          <td>(</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Function make frame from videodevice and send to. 
+<p>
+Definition at line <a class="el" href="grab__mpeg_8c-source.html#l00137">137</a> of file <a class="el" href="grab__mpeg_8c-source.html">grab_mpeg.c</a>.
+<p>
+References <a class="el" href="camv4l_8h-source.html#l00083">vdIn::formatIn</a>, <a class="el" href="camv4l_8c-source.html#l00212">grab()</a>, <a class="el" href="camv4l_8h-source.html#l00082">vdIn::hdrheight</a>, <a class="el" href="camv4l_8h-source.html#l00081">vdIn::hdrwidth</a>, <a class="el" href="grab__mpeg_8c-source.html#l00059">myvidIn</a>, <a class="el" href="camv4l_8c-source.html#l00260">setPalette()</a>, <a class="el" href="grab__mpeg_8c-source.html#l00218">video_encode_mpeg()</a>, and <a class="el" href="camv4l_8h-source.html#l00034">VIDEO_PALETTE_YUV420P</a>.
+<p>
+Referenced by <a class="el" href="grab__mpeg_8c-source.html#l00088">main()</a>.
+</div>
+</div><p>
+<a class="anchor" name="dedd16f8b46d848fe3ef6179dd54956c"></a><!-- doxytag: member="grab_mpeg.c::video_encode_alloc" ref="dedd16f8b46d848fe3ef6179dd54956c" args="(const char *filename, uint8_t *in_buffer)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void video_encode_alloc           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>filename</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint8_t *&nbsp;</td>
+          <td class="paramname"> <em>in_buffer</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Alloc and set codec 
+<p>
+Definition at line <a class="el" href="grab__mpeg_8c-source.html#l00162">162</a> of file <a class="el" href="grab__mpeg_8c-source.html">grab_mpeg.c</a>.
+<p>
+References <a class="el" href="grab__mpeg_8c-source.html#l00040">c</a>, <a class="el" href="grab__mpeg_8c-source.html#l00037">codec</a>, <a class="el" href="grab__mpeg_8c-source.html#l00047">f</a>, <a class="el" href="grab__mpeg_8c-source.html#l00053">outbuf</a>, <a class="el" href="grab__mpeg_8c-source.html#l00055">outbuf_size</a>, <a class="el" href="grab__mpeg_8c-source.html#l00050">picture</a>, and <a class="el" href="grab__mpeg_8c-source.html#l00044">size</a>.
+<p>
+Referenced by <a class="el" href="grab__mpeg_8c-source.html#l00088">main()</a>.
+</div>
+</div><p>
+<a class="anchor" name="074665588885b7b51505b9331ba690e9"></a><!-- doxytag: member="grab_mpeg.c::video_encode_free" ref="074665588885b7b51505b9331ba690e9" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void video_encode_free           </td>
+          <td>(</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Free memory 
+<p>
+Definition at line <a class="el" href="grab__mpeg_8c-source.html#l00227">227</a> of file <a class="el" href="grab__mpeg_8c-source.html">grab_mpeg.c</a>.
+<p>
+References <a class="el" href="grab__mpeg_8c-source.html#l00040">c</a>, <a class="el" href="grab__mpeg_8c-source.html#l00047">f</a>, <a class="el" href="grab__mpeg_8c-source.html#l00042">i</a>, <a class="el" href="grab__mpeg_8c-source.html#l00043">out_size</a>, <a class="el" href="grab__mpeg_8c-source.html#l00053">outbuf</a>, <a class="el" href="grab__mpeg_8c-source.html#l00055">outbuf_size</a>, and <a class="el" href="grab__mpeg_8c-source.html#l00050">picture</a>.
+<p>
+Referenced by <a class="el" href="grab__mpeg_8c-source.html#l00088">main()</a>.
+</div>
+</div><p>
+<a class="anchor" name="aadbb0611fc321cf111d581db0ff62e4"></a><!-- doxytag: member="grab_mpeg.c::video_encode_mpeg" ref="aadbb0611fc321cf111d581db0ff62e4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void video_encode_mpeg           </td>
+          <td>(</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Encode global buffer from picture . 
+<p>
+Definition at line <a class="el" href="grab__mpeg_8c-source.html#l00218">218</a> of file <a class="el" href="grab__mpeg_8c-source.html">grab_mpeg.c</a>.
+<p>
+References <a class="el" href="grab__mpeg_8c-source.html#l00040">c</a>, <a class="el" href="grab__mpeg_8c-source.html#l00047">f</a>, <a class="el" href="grab__mpeg_8c-source.html#l00043">out_size</a>, <a class="el" href="grab__mpeg_8c-source.html#l00053">outbuf</a>, <a class="el" href="grab__mpeg_8c-source.html#l00055">outbuf_size</a>, and <a class="el" href="grab__mpeg_8c-source.html#l00050">picture</a>.
+<p>
+Referenced by <a class="el" href="grab__mpeg_8c-source.html#l00137">processvideo()</a>.
+</div>
+</div><p>
+<hr><h2>Variable Documentation</h2>
+<a class="anchor" name="e7991e0075301e249fa7d40d5b0eec81"></a><!-- doxytag: member="grab_mpeg.c::c" ref="e7991e0075301e249fa7d40d5b0eec81" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">AVCodecContext* <a class="el" href="grab__mpeg_8c.html#e7991e0075301e249fa7d40d5b0eec81">c</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Contex of codec. 
+<p>
+
+<p>
+Definition at line <a class="el" href="grab__mpeg_8c-source.html#l00040">40</a> of file <a class="el" href="grab__mpeg_8c-source.html">grab_mpeg.c</a>.
+<p>
+Referenced by <a class="el" href="grab__mpeg_8c-source.html#l00088">main()</a>, <a class="el" href="grab__mpeg_8c-source.html#l00162">video_encode_alloc()</a>, <a class="el" href="grab__mpeg_8c-source.html#l00227">video_encode_free()</a>, and <a class="el" href="grab__mpeg_8c-source.html#l00218">video_encode_mpeg()</a>.
+</div>
+</div><p>
+<a class="anchor" name="3d92780da6f5146c4f47f425dd151d96"></a><!-- doxytag: member="grab_mpeg.c::codec" ref="3d92780da6f5146c4f47f425dd151d96" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">AVCodec* <a class="el" href="grab__mpeg_8c.html#3d92780da6f5146c4f47f425dd151d96">codec</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Codec. 
+<p>
+
+<p>
+Definition at line <a class="el" href="grab__mpeg_8c-source.html#l00037">37</a> of file <a class="el" href="grab__mpeg_8c-source.html">grab_mpeg.c</a>.
+<p>
+Referenced by <a class="el" href="grab__mpeg_8c-source.html#l00162">video_encode_alloc()</a>.
+</div>
+</div><p>
+<a class="anchor" name="3efb0e1a16208deecbd84c15401f7cf8"></a><!-- doxytag: member="grab_mpeg.c::f" ref="3efb0e1a16208deecbd84c15401f7cf8" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">FILE* <a class="el" href="grab__mpeg_8c.html#3efb0e1a16208deecbd84c15401f7cf8">f</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+File name. 
+<p>
+
+<p>
+Definition at line <a class="el" href="grab__mpeg_8c-source.html#l00047">47</a> of file <a class="el" href="grab__mpeg_8c-source.html">grab_mpeg.c</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00031">init_v4l()</a>, <a class="el" href="grab__mpeg_8c-source.html#l00162">video_encode_alloc()</a>, <a class="el" href="grab__mpeg_8c-source.html#l00227">video_encode_free()</a>, and <a class="el" href="grab__mpeg_8c-source.html#l00218">video_encode_mpeg()</a>.
+</div>
+</div><p>
+<a class="anchor" name="cb559820d9ca11295b4500f179ef6392"></a><!-- doxytag: member="grab_mpeg.c::i" ref="cb559820d9ca11295b4500f179ef6392" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="grab__mpeg_8c.html#cb559820d9ca11295b4500f179ef6392">i</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="grab__mpeg_8c-source.html#l00042">42</a> of file <a class="el" href="grab__mpeg_8c-source.html">grab_mpeg.c</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00151">flipUV()</a>, <a class="el" href="camv4l_8c-source.html#l00273">probePalette()</a>, <a class="el" href="camv4l_8c-source.html#l00320">probeSize()</a>, and <a class="el" href="grab__mpeg_8c-source.html#l00227">video_encode_free()</a>.
+</div>
+</div><p>
+<a class="anchor" name="d282c1ee4754687cc4e30bce27cedf8f"></a><!-- doxytag: member="grab_mpeg.c::myvidIn" ref="d282c1ee4754687cc4e30bce27cedf8f" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct <a class="el" href="structvdIn.html">vdIn</a> <a class="el" href="grab__mpeg_8c.html#d282c1ee4754687cc4e30bce27cedf8f">myvidIn</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+V4L device. 
+<p>
+
+<p>
+Definition at line <a class="el" href="grab__mpeg_8c-source.html#l00059">59</a> of file <a class="el" href="grab__mpeg_8c-source.html">grab_mpeg.c</a>.
+<p>
+Referenced by <a class="el" href="grab__mpeg_8c-source.html#l00088">main()</a>, and <a class="el" href="grab__mpeg_8c-source.html#l00137">processvideo()</a>.
+</div>
+</div><p>
+<a class="anchor" name="6b2e93f2f2db9a65b19a2487c6b1f78b"></a><!-- doxytag: member="grab_mpeg.c::out_size" ref="6b2e93f2f2db9a65b19a2487c6b1f78b" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="grab__mpeg_8c.html#6b2e93f2f2db9a65b19a2487c6b1f78b">out_size</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="grab__mpeg_8c-source.html#l00043">43</a> of file <a class="el" href="grab__mpeg_8c-source.html">grab_mpeg.c</a>.
+<p>
+Referenced by <a class="el" href="grab__mpeg_8c-source.html#l00227">video_encode_free()</a>, and <a class="el" href="grab__mpeg_8c-source.html#l00218">video_encode_mpeg()</a>.
+</div>
+</div><p>
+<a class="anchor" name="a85f3649904a9e7c4d21c42f95a2eac8"></a><!-- doxytag: member="grab_mpeg.c::outbuf" ref="a85f3649904a9e7c4d21c42f95a2eac8" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">uint8_t* <a class="el" href="grab__mpeg_8c.html#a85f3649904a9e7c4d21c42f95a2eac8">outbuf</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Output mpeg frame. 
+<p>
+
+<p>
+Definition at line <a class="el" href="grab__mpeg_8c-source.html#l00053">53</a> of file <a class="el" href="grab__mpeg_8c-source.html">grab_mpeg.c</a>.
+<p>
+Referenced by <a class="el" href="grab__mpeg_8c-source.html#l00162">video_encode_alloc()</a>, <a class="el" href="grab__mpeg_8c-source.html#l00227">video_encode_free()</a>, and <a class="el" href="grab__mpeg_8c-source.html#l00218">video_encode_mpeg()</a>.
+</div>
+</div><p>
+<a class="anchor" name="7143b1416521b958e981da0f56586e8e"></a><!-- doxytag: member="grab_mpeg.c::outbuf_size" ref="7143b1416521b958e981da0f56586e8e" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="grab__mpeg_8c.html#7143b1416521b958e981da0f56586e8e">outbuf_size</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="grab__mpeg_8c-source.html#l00055">55</a> of file <a class="el" href="grab__mpeg_8c-source.html">grab_mpeg.c</a>.
+<p>
+Referenced by <a class="el" href="grab__mpeg_8c-source.html#l00162">video_encode_alloc()</a>, <a class="el" href="grab__mpeg_8c-source.html#l00227">video_encode_free()</a>, and <a class="el" href="grab__mpeg_8c-source.html#l00218">video_encode_mpeg()</a>.
+</div>
+</div><p>
+<a class="anchor" name="65f6cfcea30372e03b387bd67c2f8a8d"></a><!-- doxytag: member="grab_mpeg.c::picture" ref="65f6cfcea30372e03b387bd67c2f8a8d" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">AVFrame* <a class="el" href="grab__mpeg_8c.html#65f6cfcea30372e03b387bd67c2f8a8d">picture</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Frame of picture. 
+<p>
+
+<p>
+Definition at line <a class="el" href="grab__mpeg_8c-source.html#l00050">50</a> of file <a class="el" href="grab__mpeg_8c-source.html">grab_mpeg.c</a>.
+<p>
+Referenced by <a class="el" href="grab__mpeg_8c-source.html#l00162">video_encode_alloc()</a>, <a class="el" href="grab__mpeg_8c-source.html#l00227">video_encode_free()</a>, and <a class="el" href="grab__mpeg_8c-source.html#l00218">video_encode_mpeg()</a>.
+</div>
+</div><p>
+<a class="anchor" name="439227feff9d7f55384e8780cfc2eb82"></a><!-- doxytag: member="grab_mpeg.c::size" ref="439227feff9d7f55384e8780cfc2eb82" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="grab__mpeg_8c.html#439227feff9d7f55384e8780cfc2eb82">size</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="grab__mpeg_8c-source.html#l00044">44</a> of file <a class="el" href="grab__mpeg_8c-source.html">grab_mpeg.c</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00212">grab()</a>, and <a class="el" href="grab__mpeg_8c-source.html#l00162">video_encode_alloc()</a>.
+</div>
+</div><p>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jan 26 20:51:51 2009 for Camera grab convert to MPEG by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+</body>
+</html>
diff --git a/doc/html/grab__mpeg_8c__incl.dot b/doc/html/grab__mpeg_8c__incl.dot
new file mode 100644 (file)
index 0000000..7acfb66
--- /dev/null
@@ -0,0 +1,20 @@
+digraph G
+{
+  edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10];
+  node [fontname="FreeSans.ttf",fontsize=10,shape=record];
+  rankdir=LR;
+  Node1 [label="grab_mpeg.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
+  Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node2 [label="stdlib.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node3 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node4 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node5 [label="camv4l.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$camv4l_8h.html"];
+  Node5 -> Node3 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node5 -> Node2 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node5 -> Node4 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node6 [label="ffmpeg/avcodec.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+}
diff --git a/doc/html/grab__mpeg_8c__incl.md5 b/doc/html/grab__mpeg_8c__incl.md5
new file mode 100644 (file)
index 0000000..8d3a2c6
--- /dev/null
@@ -0,0 +1 @@
+407db1be96cb9d0d84497c920893f638
\ No newline at end of file
diff --git a/doc/html/graph_legend.dot b/doc/html/graph_legend.dot
new file mode 100644 (file)
index 0000000..4a1a09c
--- /dev/null
@@ -0,0 +1,22 @@
+digraph G
+{
+  edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10];
+  node [fontname="FreeSans.ttf",fontsize=10,shape=record];
+  Node9 [shape="box",label="Inherited",fontsize=10,height=0.2,width=0.4,fontname="FreeSans.ttf",fillcolor="grey75",style="filled" fontcolor="black"];
+  Node10 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node10 [shape="box",label="PublicBase",fontsize=10,height=0.2,width=0.4,fontname="FreeSans.ttf",color="black",URL="$classPublicBase.html"];
+  Node11 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node11 [shape="box",label="Truncated",fontsize=10,height=0.2,width=0.4,fontname="FreeSans.ttf",color="red",URL="$classTruncated.html"];
+  Node13 -> Node9 [dir=back,color="darkgreen",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node13 [shape="box",label="ProtectedBase",fontsize=10,height=0.2,width=0.4,fontname="FreeSans.ttf",color="black",URL="$classProtectedBase.html"];
+  Node14 -> Node9 [dir=back,color="firebrick4",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node14 [shape="box",label="PrivateBase",fontsize=10,height=0.2,width=0.4,fontname="FreeSans.ttf",color="black",URL="$classPrivateBase.html"];
+  Node15 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node15 [shape="box",label="Undocumented",fontsize=10,height=0.2,width=0.4,fontname="FreeSans.ttf",color="grey75"];
+  Node16 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
+  Node16 [shape="box",label="Templ< int >",fontsize=10,height=0.2,width=0.4,fontname="FreeSans.ttf",color="black",URL="$classTempl.html"];
+  Node17 -> Node16 [dir=back,color="orange",fontsize=10,style="dashed",label="< int >",fontname="FreeSans.ttf"];
+  Node17 [shape="box",label="Templ< T >",fontsize=10,height=0.2,width=0.4,fontname="FreeSans.ttf",color="black",URL="$classTempl.html"];
+  Node18 -> Node9 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="m_usedClass",fontname="FreeSans.ttf"];
+  Node18 [shape="box",label="Used",fontsize=10,height=0.2,width=0.4,fontname="FreeSans.ttf",color="black",URL="$classUsed.html"];
+}
diff --git a/doc/html/graph_legend.html b/doc/html/graph_legend.html
new file mode 100644 (file)
index 0000000..7fa817f
--- /dev/null
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Camera grab convert to MPEG: Graph Legend</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul></div>
+<h1>Graph Legend</h1>This page explains how to interpret the graphs that are generated by doxygen.<p>
+Consider the following example: <div class="fragment"><pre class="fragment"><span class="comment">/*! Invisible class because of truncation */</span>
+<span class="keyword">class </span>Invisible { };
+<span class="comment"></span>
+<span class="comment">/*! Truncated class, inheritance relation is hidden */</span>
+<span class="keyword">class </span>Truncated : <span class="keyword">public</span> Invisible { };
+
+<span class="comment">/* Class not documented with doxygen comments */</span>
+<span class="keyword">class </span>Undocumented { };
+<span class="comment"></span>
+<span class="comment">/*! Class that is inherited using public inheritance */</span>
+<span class="keyword">class </span>PublicBase : <span class="keyword">public</span> Truncated { };
+<span class="comment"></span>
+<span class="comment">/*! A template class */</span>
+<span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">class </span>Templ { };
+<span class="comment"></span>
+<span class="comment">/*! Class that is inherited using protected inheritance */</span>
+<span class="keyword">class </span>ProtectedBase { };
+<span class="comment"></span>
+<span class="comment">/*! Class that is inherited using private inheritance */</span>
+<span class="keyword">class </span>PrivateBase { };
+<span class="comment"></span>
+<span class="comment">/*! Class that is used by the Inherited class */</span>
+<span class="keyword">class </span>Used { };
+<span class="comment"></span>
+<span class="comment">/*! Super class that inherits a number of other classes */</span>
+<span class="keyword">class </span>Inherited : <span class="keyword">public</span> PublicBase,
+                  <span class="keyword">protected</span> ProtectedBase,
+                  <span class="keyword">private</span> PrivateBase,
+                  <span class="keyword">public</span> Undocumented
+                  <span class="keyword">public</span> Templ&lt;int&gt;
+{
+  <span class="keyword">private</span>:
+    Used *m_usedClass;
+};
+</pre></div> If the <code>MAX_DOT_GRAPH_HEIGHT</code> tag in the configuration file is set to 240 this will result in the following graph:<p>
+<center><div align="center">
+<img src="graph_legend.png" alt="graph_legend.png">
+</div>
+</center> <p>
+The boxes in the above graph have the following meaning: <ul>
+<li>
+A filled black box represents the struct or class for which the graph is generated. </li>
+<li>
+A box with a black border denotes a documented struct or class. </li>
+<li>
+A box with a grey border denotes an undocumented struct or class. </li>
+<li>
+A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries. </li>
+</ul>
+The arrows have the following meaning: <ul>
+<li>
+A dark blue arrow is used to visualize a public inheritance relation between two classes. </li>
+<li>
+A dark green arrow is used for protected inheritance. </li>
+<li>
+A dark red arrow is used for private inheritance. </li>
+<li>
+A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible. </li>
+<li>
+A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance. </li>
+</ul>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jan 26 20:51:51 2009 for Camera grab convert to MPEG by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+</body>
+</html>
diff --git a/doc/html/group__common.html b/doc/html/group__common.html
new file mode 100644 (file)
index 0000000..9c6ad00
--- /dev/null
@@ -0,0 +1,559 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Camera grab convert to MPEG: Common</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul></div>
+<h1>Common</h1>Grab form camere, transfer to the MPEG and transmitt to the LAN.  
+<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#gdc0c206abad8d7210c57022190f93dc4">init_v4l</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#g2b042146ea433ba800a754e3d056a86d">grab</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#ga7b6cf1c3b04b4758f8c256879c96672">close_v4l</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#g4f1b347f61daa1e55c12a2a3ebb22ee3">setPalette</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#gc42ddb12fdb3b8855b07988e18d09432">changeSize</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">__u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#ga35212f7c527f755fd38ed31f6567876">getBrightness</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#ge1d8001afa8f1cbe9ff187e53e9089bb">setBrightness</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd, __u8 bright)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">__u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#g27a2a2aa5b19632b19ebc8c0652b097e">getContrast</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#g3386f2919710868906af5025aa220f64">setContrast</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd, __u8 contrast)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">__u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#g099243def65c4c72efa563e1c3a95f6a">getColors</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#g20703b2ca537132fde1e0a9fccbfd6c5">setColors</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd, __u8 colors)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">__u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#g31aba12be45387bd98ccf111606f15e6">getNorme</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#ga723eaba9e11996dc99e8dace7b87aa5">setNorme</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd, __u8 norme)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">__u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#g0f30a35aefb43f696c8700e8ee086158">getChannel</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__common.html#g934ec7ef103b0ad6b7f319b289c13094">setChannel</a> (struct <a class="el" href="structvdIn.html">vdIn</a> *vd, __u8 channel)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Grab form camere, transfer to the MPEG and transmitt to the LAN. 
+<p>
+This application handle USB camere.<p>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Note.</dd></dl>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>(last to touch it) <dl class="rcs" compact><dt><b>Author</b></dt><dd>zial (Ales Zikmund)</dd></dl>
+</dd></dl>
+<dl class="version" compact><dt><b>Version:</b></dt><dd><dl class="rcs" compact><dt><b>Revision</b></dt><dd>1.0 </dd></dl>
+</dd></dl>
+<dl class="date" compact><dt><b>Date:</b></dt><dd><dl class="rcs" compact><dt><b>Date</b></dt><dd>2008/12/12 5:45:20 </dd></dl>
+</dd></dl>
+Contact: <a href="mailto:zikmua1@fel.cvut.cz">zikmua1@fel.cvut.cz</a><p>
+Created on: Wed Dec 13 18:39:37 2008 <hr><h2>Function Documentation</h2>
+<a class="anchor" name="gc42ddb12fdb3b8855b07988e18d09432"></a><!-- doxytag: member="camv4l.h::changeSize" ref="gc42ddb12fdb3b8855b07988e18d09432" args="(struct vdIn *vd)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int changeSize           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structvdIn.html">vdIn</a> *&nbsp;</td>
+          <td class="paramname"> <em>vd</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Fuction change size of image array video device.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>vd</em>&nbsp;</td><td>Video device pointer </td></tr>
+  </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="camv4l_8c-source.html#l00368">368</a> of file <a class="el" href="camv4l_8c-source.html">camv4l.c</a>.
+<p>
+References <a class="el" href="camv4l_8h-source.html#l00080">vdIn::bppIn</a>, <a class="el" href="camv4l_8h-source.html#l00055">vdIn::fd</a>, <a class="el" href="camv4l_8h-source.html#l00083">vdIn::formatIn</a>, <a class="el" href="camv4l_8h-source.html#l00078">vdIn::framesizeIn</a>, <a class="el" href="camv4l_8c-source.html#l00432">GetDepth()</a>, <a class="el" href="camv4l_8c-source.html#l00400">GetVideoPict()</a>, <a class="el" href="camv4l_8h-source.html#l00075">vdIn::grabMethod</a>, <a class="el" href="camv4l_8h-source.html#l00082">vdIn::hdrheight</a>, <a class="el" href="camv4l_8h-source.html#l00081">vdIn::hdrwidth</a>, <a class="el" href="camv4l_8h-source.html#l00077">vdIn::pixTmp</a>, <a class="el" href="camv4l_8h-source.html#l00062">vdIn::videopict</a>, <a class="el" href="camv4l_8h-source.html#l00063">vdIn::videowin</a>, and <a class="el" href="camv4l_8h-source.html#l00058">vdIn::vmmap</a>.
+</div>
+</div><p>
+<a class="anchor" name="ga7b6cf1c3b04b4758f8c256879c96672"></a><!-- doxytag: member="camv4l.h::close_v4l" ref="ga7b6cf1c3b04b4758f8c256879c96672" args="(struct vdIn *vd)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int close_v4l           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structvdIn.html">vdIn</a> *&nbsp;</td>
+          <td class="paramname"> <em>vd</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Fuction close v4l device.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>vd</em>&nbsp;</td><td>Video device pointer </td></tr>
+  </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="camv4l_8c-source.html#l00137">137</a> of file <a class="el" href="camv4l_8c-source.html">camv4l.c</a>.
+<p>
+References <a class="el" href="camv4l_8h-source.html#l00055">vdIn::fd</a>, <a class="el" href="camv4l_8h-source.html#l00075">vdIn::grabMethod</a>, <a class="el" href="camv4l_8h-source.html#l00060">vdIn::mmapsize</a>, <a class="el" href="camv4l_8h-source.html#l00076">vdIn::pFramebuffer</a>, and <a class="el" href="camv4l_8h-source.html#l00077">vdIn::pixTmp</a>.
+<p>
+Referenced by <a class="el" href="grab__mpeg_8c-source.html#l00088">main()</a>.
+</div>
+</div><p>
+<a class="anchor" name="ga35212f7c527f755fd38ed31f6567876"></a><!-- doxytag: member="camv4l.h::getBrightness" ref="ga35212f7c527f755fd38ed31f6567876" args="(struct vdIn *vd)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__u8 getBrightness           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structvdIn.html">vdIn</a> *&nbsp;</td>
+          <td class="paramname"> <em>vd</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Fuction get brightness from the camera.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>vd</em>&nbsp;</td><td>Video device pointer </td></tr>
+  </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="camv4l_8c-source.html#l00465">465</a> of file <a class="el" href="camv4l_8c-source.html">camv4l.c</a>.
+<p>
+References <a class="el" href="camv4l_8c-source.html#l00400">GetVideoPict()</a>.
+</div>
+</div><p>
+<a class="anchor" name="g0f30a35aefb43f696c8700e8ee086158"></a><!-- doxytag: member="camv4l.h::getChannel" ref="g0f30a35aefb43f696c8700e8ee086158" args="(struct vdIn *vd)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__u8 getChannel           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structvdIn.html">vdIn</a> *&nbsp;</td>
+          <td class="paramname"> <em>vd</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Fuction get channel from the camera.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>vd</em>&nbsp;</td><td>Video device pointer </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g099243def65c4c72efa563e1c3a95f6a"></a><!-- doxytag: member="camv4l.h::getColors" ref="g099243def65c4c72efa563e1c3a95f6a" args="(struct vdIn *vd)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__u8 getColors           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structvdIn.html">vdIn</a> *&nbsp;</td>
+          <td class="paramname"> <em>vd</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Fuction get colors from the camera.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>vd</em>&nbsp;</td><td>Video device pointer </td></tr>
+  </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="camv4l_8c-source.html#l00503">503</a> of file <a class="el" href="camv4l_8c-source.html">camv4l.c</a>.
+<p>
+References <a class="el" href="camv4l_8c-source.html#l00400">GetVideoPict()</a>.
+</div>
+</div><p>
+<a class="anchor" name="g27a2a2aa5b19632b19ebc8c0652b097e"></a><!-- doxytag: member="camv4l.h::getContrast" ref="g27a2a2aa5b19632b19ebc8c0652b097e" args="(struct vdIn *vd)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__u8 getContrast           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structvdIn.html">vdIn</a> *&nbsp;</td>
+          <td class="paramname"> <em>vd</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Fuction get contrast from the camera.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>vd</em>&nbsp;</td><td>Video device pointer </td></tr>
+  </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="camv4l_8c-source.html#l00485">485</a> of file <a class="el" href="camv4l_8c-source.html">camv4l.c</a>.
+<p>
+References <a class="el" href="camv4l_8c-source.html#l00400">GetVideoPict()</a>.
+</div>
+</div><p>
+<a class="anchor" name="g31aba12be45387bd98ccf111606f15e6"></a><!-- doxytag: member="camv4l.h::getNorme" ref="g31aba12be45387bd98ccf111606f15e6" args="(struct vdIn *vd)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__u8 getNorme           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structvdIn.html">vdIn</a> *&nbsp;</td>
+          <td class="paramname"> <em>vd</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Fuction get norme from the camera.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>vd</em>&nbsp;</td><td>Video device pointer </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g2b042146ea433ba800a754e3d056a86d"></a><!-- doxytag: member="camv4l.h::grab" ref="g2b042146ea433ba800a754e3d056a86d" args="(struct vdIn *vd)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int grab           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structvdIn.html">vdIn</a> *&nbsp;</td>
+          <td class="paramname"> <em>vd</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Fuction for initialization v4l device.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>vd</em>&nbsp;</td><td>Video device pointer </td></tr>
+  </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="camv4l_8c-source.html#l00212">212</a> of file <a class="el" href="camv4l_8c-source.html">camv4l.c</a>.
+<p>
+References <a class="el" href="camv4l_8h-source.html#l00055">vdIn::fd</a>, <a class="el" href="camv4l_8c-source.html#l00151">flipUV()</a>, <a class="el" href="camv4l_8h-source.html#l00084">vdIn::flipUV</a>, <a class="el" href="camv4l_8h-source.html#l00083">vdIn::formatIn</a>, <a class="el" href="camv4l_8h-source.html#l00078">vdIn::framesizeIn</a>, <a class="el" href="camv4l_8h-source.html#l00075">vdIn::grabMethod</a>, <a class="el" href="camv4l_8h-source.html#l00082">vdIn::hdrheight</a>, <a class="el" href="camv4l_8h-source.html#l00081">vdIn::hdrwidth</a>, <a class="el" href="camv4l_8h-source.html#l00076">vdIn::pFramebuffer</a>, <a class="el" href="camv4l_8h-source.html#l00077">vdIn::pixTmp</a>, <a class="el" href="grab__mpeg_8c-source.html#l00044">size</a>, <a class="el" href="camv4l_8h-source.html#l00061">vdIn::videombuf</a>, and <a class="el" href="camv4l_8h-source.html#l00058">vdIn::vmmap</a>.
+<p>
+Referenced by <a class="el" href="grab__mpeg_8c-source.html#l00137">processvideo()</a>.
+</div>
+</div><p>
+<a class="anchor" name="gdc0c206abad8d7210c57022190f93dc4"></a><!-- doxytag: member="camv4l.h::init_v4l" ref="gdc0c206abad8d7210c57022190f93dc4" args="(struct vdIn *vd)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int init_v4l           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structvdIn.html">vdIn</a> *&nbsp;</td>
+          <td class="paramname"> <em>vd</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Fuction for initialization v4l device.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>vd</em>&nbsp;</td><td>Video device pointer </td></tr>
+  </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="camv4l_8c-source.html#l00031">31</a> of file <a class="el" href="camv4l_8c-source.html">camv4l.c</a>.
+<p>
+References <a class="el" href="camv4l_8h-source.html#l00080">vdIn::bppIn</a>, <a class="el" href="camv4l_8h-source.html#l00069">vdIn::bridge</a>, <a class="el" href="camv4l_8h-source.html#l00068">vdIn::cameraname</a>, <a class="el" href="camv4l_8h-source.html#l00067">vdIn::cameratype</a>, <a class="el" href="grab__mpeg_8c-source.html#l00047">f</a>, <a class="el" href="camv4l_8h-source.html#l00055">vdIn::fd</a>, <a class="el" href="camv4l_8h-source.html#l00084">vdIn::flipUV</a>, <a class="el" href="camv4l_8h-source.html#l00083">vdIn::formatIn</a>, <a class="el" href="camv4l_8h-source.html#l00078">vdIn::framesizeIn</a>, <a class="el" href="camv4l_8c-source.html#l00400">GetVideoPict()</a>, <a class="el" href="camv4l_8h-source.html#l00075">vdIn::grabMethod</a>, <a class="el" href="camv4l_8h-source.html#l00082">vdIn::hdrheight</a>, <a class="el" href="camv4l_8h-source.html#l00081">vdIn::hdrwidth</a>, <a class="el" href="camv4l_8h-source.html#l00060">vdIn::mmapsize</a>, <a class="el" href="camv4l_8h-source.html#l00076">vdIn::pFramebuffer</a>, <a class="el" href="camv4l_8c-source.html#l00273">probePalette()</a>, <a class="el" href="camv4l_8c-source.html#l00320">probeSize()</a>, <a class="el" href="camv4l_8h.html#2f8d40fca22af63d98fcaad73efe216109b024ff449662360c66ce18d20096fa">UNKNOW</a>, <a class="el" href="camv4l_8h-source.html#l00059">vdIn::videocap</a>, <a class="el" href="camv4l_8h-source.html#l00064">vdIn::videochan</a>, <a class="el" href="camv4l_8h-source.html#l00056">vdIn::videodevice</a>, <a class="el" href="camv4l_8h-source.html#l00061">vdIn::videombuf</a>, <a class="el" href="camv4l_8h-source.html#l00062">vdIn::videopict</a>, and <a class="el" href="camv4l_8h-source.html#l00058">vdIn::vmmap</a>.
+<p>
+Referenced by <a class="el" href="grab__mpeg_8c-source.html#l00088">main()</a>.
+</div>
+</div><p>
+<a class="anchor" name="ge1d8001afa8f1cbe9ff187e53e9089bb"></a><!-- doxytag: member="camv4l.h::setBrightness" ref="ge1d8001afa8f1cbe9ff187e53e9089bb" args="(struct vdIn *vd, __u8 bright)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void setBrightness           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structvdIn.html">vdIn</a> *&nbsp;</td>
+          <td class="paramname"> <em>vd</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">__u8&nbsp;</td>
+          <td class="paramname"> <em>bright</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Fuction set brightness to the camera.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>vd</em>&nbsp;</td><td>Video device pointer </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>bright</em>&nbsp;</td><td>New brightness value </td></tr>
+  </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="camv4l_8c-source.html#l00475">475</a> of file <a class="el" href="camv4l_8c-source.html">camv4l.c</a>.
+<p>
+References <a class="el" href="camv4l_8c-source.html#l00416">SetVideoPict()</a>, and <a class="el" href="camv4l_8h-source.html#l00062">vdIn::videopict</a>.
+</div>
+</div><p>
+<a class="anchor" name="g934ec7ef103b0ad6b7f319b289c13094"></a><!-- doxytag: member="camv4l.h::setChannel" ref="g934ec7ef103b0ad6b7f319b289c13094" args="(struct vdIn *vd, __u8 channel)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void setChannel           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structvdIn.html">vdIn</a> *&nbsp;</td>
+          <td class="paramname"> <em>vd</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">__u8&nbsp;</td>
+          <td class="paramname"> <em>channel</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Fuction set channels to the camera.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>vd</em>&nbsp;</td><td>Video device pointer </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td>New channel value </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g20703b2ca537132fde1e0a9fccbfd6c5"></a><!-- doxytag: member="camv4l.h::setColors" ref="g20703b2ca537132fde1e0a9fccbfd6c5" args="(struct vdIn *vd, __u8 colors)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void setColors           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structvdIn.html">vdIn</a> *&nbsp;</td>
+          <td class="paramname"> <em>vd</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">__u8&nbsp;</td>
+          <td class="paramname"> <em>colors</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Fuction set colors to the camera.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>vd</em>&nbsp;</td><td>Video device pointer </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>colors</em>&nbsp;</td><td>New colors value </td></tr>
+  </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="camv4l_8c-source.html#l00513">513</a> of file <a class="el" href="camv4l_8c-source.html">camv4l.c</a>.
+<p>
+References <a class="el" href="camv4l_8c-source.html#l00416">SetVideoPict()</a>, and <a class="el" href="camv4l_8h-source.html#l00062">vdIn::videopict</a>.
+</div>
+</div><p>
+<a class="anchor" name="g3386f2919710868906af5025aa220f64"></a><!-- doxytag: member="camv4l.h::setContrast" ref="g3386f2919710868906af5025aa220f64" args="(struct vdIn *vd, __u8 contrast)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void setContrast           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structvdIn.html">vdIn</a> *&nbsp;</td>
+          <td class="paramname"> <em>vd</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">__u8&nbsp;</td>
+          <td class="paramname"> <em>contrast</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Fuction set contrast to the camera.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>vd</em>&nbsp;</td><td>Video device pointer </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>contrast</em>&nbsp;</td><td>New contrast value </td></tr>
+  </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="camv4l_8c-source.html#l00495">495</a> of file <a class="el" href="camv4l_8c-source.html">camv4l.c</a>.
+<p>
+References <a class="el" href="camv4l_8c-source.html#l00416">SetVideoPict()</a>, and <a class="el" href="camv4l_8h-source.html#l00062">vdIn::videopict</a>.
+</div>
+</div><p>
+<a class="anchor" name="ga723eaba9e11996dc99e8dace7b87aa5"></a><!-- doxytag: member="camv4l.h::setNorme" ref="ga723eaba9e11996dc99e8dace7b87aa5" args="(struct vdIn *vd, __u8 norme)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void setNorme           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structvdIn.html">vdIn</a> *&nbsp;</td>
+          <td class="paramname"> <em>vd</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">__u8&nbsp;</td>
+          <td class="paramname"> <em>norme</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Fuction set norme to the camera.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>vd</em>&nbsp;</td><td>Video device pointer </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>norme</em>&nbsp;</td><td>New norme value </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g4f1b347f61daa1e55c12a2a3ebb22ee3"></a><!-- doxytag: member="camv4l.h::setPalette" ref="g4f1b347f61daa1e55c12a2a3ebb22ee3" args="(struct vdIn *vd)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int setPalette           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structvdIn.html">vdIn</a> *&nbsp;</td>
+          <td class="paramname"> <em>vd</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Fuction sets color pallete video device.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>vd</em>&nbsp;</td><td>Video device pointer </td></tr>
+  </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="camv4l_8c-source.html#l00260">260</a> of file <a class="el" href="camv4l_8c-source.html">camv4l.c</a>.
+<p>
+References <a class="el" href="camv4l_8h-source.html#l00080">vdIn::bppIn</a>, <a class="el" href="camv4l_8h-source.html#l00083">vdIn::formatIn</a>, <a class="el" href="camv4l_8h-source.html#l00078">vdIn::framesizeIn</a>, <a class="el" href="camv4l_8c-source.html#l00432">GetDepth()</a>, <a class="el" href="camv4l_8h-source.html#l00082">vdIn::hdrheight</a>, <a class="el" href="camv4l_8h-source.html#l00081">vdIn::hdrwidth</a>, <a class="el" href="camv4l_8h-source.html#l00077">vdIn::pixTmp</a>, <a class="el" href="camv4l_8c-source.html#l00416">SetVideoPict()</a>, and <a class="el" href="camv4l_8h-source.html#l00062">vdIn::videopict</a>.
+<p>
+Referenced by <a class="el" href="grab__mpeg_8c-source.html#l00137">processvideo()</a>.
+</div>
+</div><p>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jan 26 20:51:51 2009 for Camera grab convert to MPEG by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+</body>
+</html>
diff --git a/doc/html/index.html b/doc/html/index.html
new file mode 100644 (file)
index 0000000..5ba1142
--- /dev/null
@@ -0,0 +1,8 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Camera grab convert to MPEG</title></head>
+<frameset cols="250,*">
+  <frame src="tree.html" name="treefrm">
+  <frame src="main.html" name="basefrm">
+</frameset>
+</html>
diff --git a/doc/html/main.html b/doc/html/main.html
new file mode 100644 (file)
index 0000000..3a11b1f
--- /dev/null
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Camera grab convert to MPEG: Main Page</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li id="current"><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul></div>
+<h1>Camera grab convert to MPEG Documentation</h1>
+<p>
+<h3 align="center">1.0 </h3><hr size="1"><address style="align: right;"><small>Generated on Mon Jan 26 20:51:50 2009 for Camera grab convert to MPEG by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+</body>
+</html>
diff --git a/doc/html/modules.html b/doc/html/modules.html
new file mode 100644 (file)
index 0000000..25f4ffc
--- /dev/null
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Camera grab convert to MPEG: Module Index</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+    <li id="current"><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul></div>
+<h1>Camera grab convert to MPEG Modules</h1>Here is a list of all modules:<ul>
+<li><a class="el" href="group__common.html">Common</a>
+</ul>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jan 26 20:51:51 2009 for Camera grab convert to MPEG by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+</body>
+</html>
diff --git a/doc/html/structvdIn.html b/doc/html/structvdIn.html
new file mode 100644 (file)
index 0000000..c8eb31f
--- /dev/null
@@ -0,0 +1,619 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Camera grab convert to MPEG: vdIn Struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+  <ul>
+    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li id="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul></div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+  </ul></div>
+<h1>vdIn Struct Reference</h1><!-- doxytag: class="vdIn" --><code>#include &lt;<a class="el" href="camv4l_8h-source.html">camv4l.h</a>&gt;</code>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#1fa060f09cd0b1a126c5cfe7f8755aa0">fd</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#a5bc365f449fae0bacc9ef7e813dfcdd">videodevice</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">video_mmap&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#c9dc3dcb02f1472c47022ccc9f7a642a">vmmap</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">video_capability&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#6ff6c76abc3558e5065c29f7a4e22e62">videocap</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#b3e9cc01144f94caa3b30bde3ec7a353">mmapsize</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">video_mbuf&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#f87db67e1e35c6699921cb9fa9712e95">videombuf</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">video_picture&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">videopict</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">video_window&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#0e7511ef2c4e487b09c0cf0786cde912">videowin</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">video_channel&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#962c1ced095a997ba8715b281cf53e9e">videochan</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#2aa4853006d92f1445ad83a91159693f">format</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#eabdb3eeaf3a80b396cf19fec19d9294">cameratype</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#676d43607601940f318ee3b274e4716b">cameraname</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#4dcb789ec776b466e9e0ee388686e3b6">bridge</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#ce0f632ba9e72c3801f77f04f5a5376b">sizenative</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#c9e3e139d21e29564e594b3375bc14bf">sizeothers</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#c14641e9e17d20d732e717f3d2d4abe6">palette</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#92643e1a47d62b760a57fa2746d9e148">norme</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#a5d5047850f329a3bf4be872615552ad">channel</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#faaf5caccac448b15a6f350cd02756b3">grabMethod</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#d25392b0e37b39942b75f36ef87b6de7">pFramebuffer</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">&gt; Grab Methode 1=mmap 0=read  <a href="#d25392b0e37b39942b75f36ef87b6de7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#ab1c2508d67a5ad1ec88bf69b0a41fb7">pixTmp</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#cc3732f98af3fe5088007d0b7b08cdca">framesizeIn</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#6418a49afd84cd22a8318fa4768a6713">frame_cour</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#d8c35d451233262ff9a8f8e65be8b340">bppIn</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#21a92e9c30017da96ee881bef3469f18">hdrwidth</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#2de78c4cff91808eb64ccab86e8d56b9">hdrheight</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#da1a8b7c0f40c9d997f8e8fddd4bc27d">formatIn</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvdIn.html#3f2e15b67a340cc20fd9d8503afa574b">flipUV</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Struct represents input capture device 
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00054">54</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.<hr><h2>Field Documentation</h2>
+<a class="anchor" name="1fa060f09cd0b1a126c5cfe7f8755aa0"></a><!-- doxytag: member="vdIn::fd" ref="1fa060f09cd0b1a126c5cfe7f8755aa0" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="structvdIn.html#1fa060f09cd0b1a126c5cfe7f8755aa0">vdIn::fd</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00055">55</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00368">changeSize()</a>, <a class="el" href="camv4l_8c-source.html#l00137">close_v4l()</a>, <a class="el" href="camv4l_8c-source.html#l00400">GetVideoPict()</a>, <a class="el" href="camv4l_8c-source.html#l00212">grab()</a>, <a class="el" href="camv4l_8c-source.html#l00031">init_v4l()</a>, <a class="el" href="camv4l_8c-source.html#l00273">probePalette()</a>, <a class="el" href="camv4l_8c-source.html#l00320">probeSize()</a>, and <a class="el" href="camv4l_8c-source.html#l00416">SetVideoPict()</a>.
+</div>
+</div><p>
+<a class="anchor" name="a5bc365f449fae0bacc9ef7e813dfcdd"></a><!-- doxytag: member="vdIn::videodevice" ref="a5bc365f449fae0bacc9ef7e813dfcdd" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">char* <a class="el" href="structvdIn.html#a5bc365f449fae0bacc9ef7e813dfcdd">vdIn::videodevice</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00056">56</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00031">init_v4l()</a>, and <a class="el" href="grab__mpeg_8c-source.html#l00088">main()</a>.
+</div>
+</div><p>
+<a class="anchor" name="c9dc3dcb02f1472c47022ccc9f7a642a"></a><!-- doxytag: member="vdIn::vmmap" ref="c9dc3dcb02f1472c47022ccc9f7a642a" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct video_mmap <a class="el" href="structvdIn.html#c9dc3dcb02f1472c47022ccc9f7a642a">vdIn::vmmap</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00058">58</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00368">changeSize()</a>, <a class="el" href="camv4l_8c-source.html#l00212">grab()</a>, and <a class="el" href="camv4l_8c-source.html#l00031">init_v4l()</a>.
+</div>
+</div><p>
+<a class="anchor" name="6ff6c76abc3558e5065c29f7a4e22e62"></a><!-- doxytag: member="vdIn::videocap" ref="6ff6c76abc3558e5065c29f7a4e22e62" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct video_capability <a class="el" href="structvdIn.html#6ff6c76abc3558e5065c29f7a4e22e62">vdIn::videocap</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00059">59</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00031">init_v4l()</a>, and <a class="el" href="camv4l_8c-source.html#l00320">probeSize()</a>.
+</div>
+</div><p>
+<a class="anchor" name="b3e9cc01144f94caa3b30bde3ec7a353"></a><!-- doxytag: member="vdIn::mmapsize" ref="b3e9cc01144f94caa3b30bde3ec7a353" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="structvdIn.html#b3e9cc01144f94caa3b30bde3ec7a353">vdIn::mmapsize</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00060">60</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00137">close_v4l()</a>, and <a class="el" href="camv4l_8c-source.html#l00031">init_v4l()</a>.
+</div>
+</div><p>
+<a class="anchor" name="f87db67e1e35c6699921cb9fa9712e95"></a><!-- doxytag: member="vdIn::videombuf" ref="f87db67e1e35c6699921cb9fa9712e95" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct video_mbuf <a class="el" href="structvdIn.html#f87db67e1e35c6699921cb9fa9712e95">vdIn::videombuf</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00061">61</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00212">grab()</a>, and <a class="el" href="camv4l_8c-source.html#l00031">init_v4l()</a>.
+</div>
+</div><p>
+<a class="anchor" name="8f8297f0c56d57dcb8fe6dc70c80b357"></a><!-- doxytag: member="vdIn::videopict" ref="8f8297f0c56d57dcb8fe6dc70c80b357" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct video_picture <a class="el" href="structvdIn.html#8f8297f0c56d57dcb8fe6dc70c80b357">vdIn::videopict</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00062">62</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00368">changeSize()</a>, <a class="el" href="camv4l_8c-source.html#l00400">GetVideoPict()</a>, <a class="el" href="camv4l_8c-source.html#l00031">init_v4l()</a>, <a class="el" href="camv4l_8c-source.html#l00475">setBrightness()</a>, <a class="el" href="camv4l_8c-source.html#l00513">setColors()</a>, <a class="el" href="camv4l_8c-source.html#l00495">setContrast()</a>, <a class="el" href="camv4l_8c-source.html#l00260">setPalette()</a>, and <a class="el" href="camv4l_8c-source.html#l00416">SetVideoPict()</a>.
+</div>
+</div><p>
+<a class="anchor" name="0e7511ef2c4e487b09c0cf0786cde912"></a><!-- doxytag: member="vdIn::videowin" ref="0e7511ef2c4e487b09c0cf0786cde912" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct video_window <a class="el" href="structvdIn.html#0e7511ef2c4e487b09c0cf0786cde912">vdIn::videowin</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00063">63</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00368">changeSize()</a>.
+</div>
+</div><p>
+<a class="anchor" name="962c1ced095a997ba8715b281cf53e9e"></a><!-- doxytag: member="vdIn::videochan" ref="962c1ced095a997ba8715b281cf53e9e" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct video_channel <a class="el" href="structvdIn.html#962c1ced095a997ba8715b281cf53e9e">vdIn::videochan</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00064">64</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00031">init_v4l()</a>.
+</div>
+</div><p>
+<a class="anchor" name="2aa4853006d92f1445ad83a91159693f"></a><!-- doxytag: member="vdIn::format" ref="2aa4853006d92f1445ad83a91159693f" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned int <a class="el" href="structvdIn.html#2aa4853006d92f1445ad83a91159693f">vdIn::format</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00066">66</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+</div>
+</div><p>
+<a class="anchor" name="eabdb3eeaf3a80b396cf19fec19d9294"></a><!-- doxytag: member="vdIn::cameratype" ref="eabdb3eeaf3a80b396cf19fec19d9294" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="structvdIn.html#eabdb3eeaf3a80b396cf19fec19d9294">vdIn::cameratype</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00067">67</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00031">init_v4l()</a>.
+</div>
+</div><p>
+<a class="anchor" name="676d43607601940f318ee3b274e4716b"></a><!-- doxytag: member="vdIn::cameraname" ref="676d43607601940f318ee3b274e4716b" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">char* <a class="el" href="structvdIn.html#676d43607601940f318ee3b274e4716b">vdIn::cameraname</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00068">68</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00031">init_v4l()</a>, and <a class="el" href="grab__mpeg_8c-source.html#l00088">main()</a>.
+</div>
+</div><p>
+<a class="anchor" name="4dcb789ec776b466e9e0ee388686e3b6"></a><!-- doxytag: member="vdIn::bridge" ref="4dcb789ec776b466e9e0ee388686e3b6" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">char* <a class="el" href="structvdIn.html#4dcb789ec776b466e9e0ee388686e3b6">vdIn::bridge</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00069">69</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00031">init_v4l()</a>, and <a class="el" href="grab__mpeg_8c-source.html#l00088">main()</a>.
+</div>
+</div><p>
+<a class="anchor" name="ce0f632ba9e72c3801f77f04f5a5376b"></a><!-- doxytag: member="vdIn::sizenative" ref="ce0f632ba9e72c3801f77f04f5a5376b" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="structvdIn.html#ce0f632ba9e72c3801f77f04f5a5376b">vdIn::sizenative</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00070">70</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+</div>
+</div><p>
+<a class="anchor" name="c9e3e139d21e29564e594b3375bc14bf"></a><!-- doxytag: member="vdIn::sizeothers" ref="c9e3e139d21e29564e594b3375bc14bf" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="structvdIn.html#c9e3e139d21e29564e594b3375bc14bf">vdIn::sizeothers</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00071">71</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00320">probeSize()</a>.
+</div>
+</div><p>
+<a class="anchor" name="c14641e9e17d20d732e717f3d2d4abe6"></a><!-- doxytag: member="vdIn::palette" ref="c14641e9e17d20d732e717f3d2d4abe6" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="structvdIn.html#c14641e9e17d20d732e717f3d2d4abe6">vdIn::palette</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00072">72</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00273">probePalette()</a>.
+</div>
+</div><p>
+<a class="anchor" name="92643e1a47d62b760a57fa2746d9e148"></a><!-- doxytag: member="vdIn::norme" ref="92643e1a47d62b760a57fa2746d9e148" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="structvdIn.html#92643e1a47d62b760a57fa2746d9e148">vdIn::norme</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00073">73</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+</div>
+</div><p>
+<a class="anchor" name="a5d5047850f329a3bf4be872615552ad"></a><!-- doxytag: member="vdIn::channel" ref="a5d5047850f329a3bf4be872615552ad" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="structvdIn.html#a5d5047850f329a3bf4be872615552ad">vdIn::channel</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00074">74</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+</div>
+</div><p>
+<a class="anchor" name="faaf5caccac448b15a6f350cd02756b3"></a><!-- doxytag: member="vdIn::grabMethod" ref="faaf5caccac448b15a6f350cd02756b3" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="structvdIn.html#faaf5caccac448b15a6f350cd02756b3">vdIn::grabMethod</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00075">75</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00368">changeSize()</a>, <a class="el" href="camv4l_8c-source.html#l00137">close_v4l()</a>, <a class="el" href="camv4l_8c-source.html#l00212">grab()</a>, <a class="el" href="camv4l_8c-source.html#l00031">init_v4l()</a>, and <a class="el" href="grab__mpeg_8c-source.html#l00088">main()</a>.
+</div>
+</div><p>
+<a class="anchor" name="d25392b0e37b39942b75f36ef87b6de7"></a><!-- doxytag: member="vdIn::pFramebuffer" ref="d25392b0e37b39942b75f36ef87b6de7" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned char* <a class="el" href="structvdIn.html#d25392b0e37b39942b75f36ef87b6de7">vdIn::pFramebuffer</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+&gt; Grab Methode 1=mmap 0=read 
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00076">76</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00137">close_v4l()</a>, <a class="el" href="camv4l_8c-source.html#l00212">grab()</a>, and <a class="el" href="camv4l_8c-source.html#l00031">init_v4l()</a>.
+</div>
+</div><p>
+<a class="anchor" name="ab1c2508d67a5ad1ec88bf69b0a41fb7"></a><!-- doxytag: member="vdIn::pixTmp" ref="ab1c2508d67a5ad1ec88bf69b0a41fb7" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned char* <a class="el" href="structvdIn.html#ab1c2508d67a5ad1ec88bf69b0a41fb7">vdIn::pixTmp</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00077">77</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00368">changeSize()</a>, <a class="el" href="camv4l_8c-source.html#l00137">close_v4l()</a>, <a class="el" href="camv4l_8c-source.html#l00212">grab()</a>, <a class="el" href="grab__mpeg_8c-source.html#l00088">main()</a>, and <a class="el" href="camv4l_8c-source.html#l00260">setPalette()</a>.
+</div>
+</div><p>
+<a class="anchor" name="cc3732f98af3fe5088007d0b7b08cdca"></a><!-- doxytag: member="vdIn::framesizeIn" ref="cc3732f98af3fe5088007d0b7b08cdca" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="structvdIn.html#cc3732f98af3fe5088007d0b7b08cdca">vdIn::framesizeIn</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00078">78</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00368">changeSize()</a>, <a class="el" href="camv4l_8c-source.html#l00212">grab()</a>, <a class="el" href="camv4l_8c-source.html#l00031">init_v4l()</a>, and <a class="el" href="camv4l_8c-source.html#l00260">setPalette()</a>.
+</div>
+</div><p>
+<a class="anchor" name="6418a49afd84cd22a8318fa4768a6713"></a><!-- doxytag: member="vdIn::frame_cour" ref="6418a49afd84cd22a8318fa4768a6713" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="structvdIn.html#6418a49afd84cd22a8318fa4768a6713">vdIn::frame_cour</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00079">79</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+</div>
+</div><p>
+<a class="anchor" name="d8c35d451233262ff9a8f8e65be8b340"></a><!-- doxytag: member="vdIn::bppIn" ref="d8c35d451233262ff9a8f8e65be8b340" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="structvdIn.html#d8c35d451233262ff9a8f8e65be8b340">vdIn::bppIn</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00080">80</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00368">changeSize()</a>, <a class="el" href="camv4l_8c-source.html#l00031">init_v4l()</a>, <a class="el" href="camv4l_8c-source.html#l00273">probePalette()</a>, and <a class="el" href="camv4l_8c-source.html#l00260">setPalette()</a>.
+</div>
+</div><p>
+<a class="anchor" name="21a92e9c30017da96ee881bef3469f18"></a><!-- doxytag: member="vdIn::hdrwidth" ref="21a92e9c30017da96ee881bef3469f18" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="structvdIn.html#21a92e9c30017da96ee881bef3469f18">vdIn::hdrwidth</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00081">81</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00368">changeSize()</a>, <a class="el" href="camv4l_8c-source.html#l00212">grab()</a>, <a class="el" href="camv4l_8c-source.html#l00031">init_v4l()</a>, <a class="el" href="camv4l_8c-source.html#l00320">probeSize()</a>, <a class="el" href="grab__mpeg_8c-source.html#l00137">processvideo()</a>, and <a class="el" href="camv4l_8c-source.html#l00260">setPalette()</a>.
+</div>
+</div><p>
+<a class="anchor" name="2de78c4cff91808eb64ccab86e8d56b9"></a><!-- doxytag: member="vdIn::hdrheight" ref="2de78c4cff91808eb64ccab86e8d56b9" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="structvdIn.html#2de78c4cff91808eb64ccab86e8d56b9">vdIn::hdrheight</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00082">82</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00368">changeSize()</a>, <a class="el" href="camv4l_8c-source.html#l00212">grab()</a>, <a class="el" href="camv4l_8c-source.html#l00031">init_v4l()</a>, <a class="el" href="camv4l_8c-source.html#l00320">probeSize()</a>, <a class="el" href="grab__mpeg_8c-source.html#l00137">processvideo()</a>, and <a class="el" href="camv4l_8c-source.html#l00260">setPalette()</a>.
+</div>
+</div><p>
+<a class="anchor" name="da1a8b7c0f40c9d997f8e8fddd4bc27d"></a><!-- doxytag: member="vdIn::formatIn" ref="da1a8b7c0f40c9d997f8e8fddd4bc27d" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="structvdIn.html#da1a8b7c0f40c9d997f8e8fddd4bc27d">vdIn::formatIn</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00083">83</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00368">changeSize()</a>, <a class="el" href="camv4l_8c-source.html#l00212">grab()</a>, <a class="el" href="camv4l_8c-source.html#l00031">init_v4l()</a>, <a class="el" href="camv4l_8c-source.html#l00273">probePalette()</a>, <a class="el" href="grab__mpeg_8c-source.html#l00137">processvideo()</a>, and <a class="el" href="camv4l_8c-source.html#l00260">setPalette()</a>.
+</div>
+</div><p>
+<a class="anchor" name="3f2e15b67a340cc20fd9d8503afa574b"></a><!-- doxytag: member="vdIn::flipUV" ref="3f2e15b67a340cc20fd9d8503afa574b" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="structvdIn.html#3f2e15b67a340cc20fd9d8503afa574b">vdIn::flipUV</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+Definition at line <a class="el" href="camv4l_8h-source.html#l00084">84</a> of file <a class="el" href="camv4l_8h-source.html">camv4l.h</a>.
+<p>
+Referenced by <a class="el" href="camv4l_8c-source.html#l00212">grab()</a>, and <a class="el" href="camv4l_8c-source.html#l00031">init_v4l()</a>.
+</div>
+</div><p>
+<hr>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="camv4l_8h-source.html">camv4l.h</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jan 26 20:51:51 2009 for Camera grab convert to MPEG by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+</body>
+</html>
diff --git a/doc/html/tab_b.gif b/doc/html/tab_b.gif
new file mode 100644 (file)
index 0000000..0d62348
Binary files /dev/null and b/doc/html/tab_b.gif differ
diff --git a/doc/html/tab_l.gif b/doc/html/tab_l.gif
new file mode 100644 (file)
index 0000000..9b1e633
Binary files /dev/null and b/doc/html/tab_l.gif differ
diff --git a/doc/html/tab_r.gif b/doc/html/tab_r.gif
new file mode 100644 (file)
index 0000000..ce9dd9f
Binary files /dev/null and b/doc/html/tab_r.gif differ
diff --git a/doc/html/tabs.css b/doc/html/tabs.css
new file mode 100644 (file)
index 0000000..a61552a
--- /dev/null
@@ -0,0 +1,102 @@
+/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
+
+DIV.tabs
+{
+   float            : left;
+   width            : 100%;
+   background       : url("tab_b.gif") repeat-x bottom;
+   margin-bottom    : 4px;
+}
+
+DIV.tabs UL
+{
+   margin           : 0px;
+   padding-left     : 10px;
+   list-style       : none;
+}
+
+DIV.tabs LI, DIV.tabs FORM
+{
+   display          : inline;
+   margin           : 0px;
+   padding          : 0px;
+}
+
+DIV.tabs FORM
+{
+   float            : right;
+}
+
+DIV.tabs A
+{
+   float            : left;
+   background       : url("tab_r.gif") no-repeat right top;
+   border-bottom    : 1px solid #84B0C7;
+   font-size        : x-small;
+   font-weight      : bold;
+   text-decoration  : none;
+}
+
+DIV.tabs A:hover
+{
+   background-position: 100% -150px;
+}
+
+DIV.tabs A:link, DIV.tabs A:visited,
+DIV.tabs A:active, DIV.tabs A:hover
+{
+       color: #1A419D;
+}
+
+DIV.tabs SPAN
+{
+   float            : left;
+   display          : block;
+   background       : url("tab_l.gif") no-repeat left top;
+   padding          : 5px 9px;
+   white-space      : nowrap;
+}
+
+DIV.tabs INPUT
+{
+   float            : right;
+   display          : inline;
+   font-size        : 1em;
+}
+
+DIV.tabs TD
+{
+   font-size        : x-small;
+   font-weight      : bold;
+   text-decoration  : none;
+}
+
+
+
+/* Commented Backslash Hack hides rule from IE5-Mac \*/
+DIV.tabs SPAN {float : none;}
+/* End IE5-Mac hack */
+
+DIV.tabs A:hover SPAN
+{
+   background-position: 0% -150px;
+}
+
+DIV.tabs LI#current A
+{
+   background-position: 100% -150px;
+   border-width     : 0px;
+}
+
+DIV.tabs LI#current SPAN
+{
+   background-position: 0% -150px;
+   padding-bottom   : 6px;
+}
+
+DIV.nav
+{
+   background       : none;
+   border           : none;
+   border-bottom    : 1px solid #84B0C7;
+}
diff --git a/doc/html/tree.html b/doc/html/tree.html
new file mode 100644 (file)
index 0000000..6262290
--- /dev/null
@@ -0,0 +1,85 @@
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/xhtml;charset=iso-8859-1" />
+    <meta http-equiv="Content-Style-Type" content="text/css" />
+    <meta http-equiv="Content-Language" content="en" />
+    <link rel="stylesheet" href="doxygen.css">
+    <title>TreeView</title>
+    <script type="text/javascript">
+    <!-- // Hide script from old browsers
+    
+    function toggleFolder(id, imageNode) 
+    {
+      var folder = document.getElementById(id);
+      var l = imageNode.src.length;
+      if (imageNode.src.substring(l-20,l)=="ftv2folderclosed.png" || 
+          imageNode.src.substring(l-18,l)=="ftv2folderopen.png")
+      {
+        imageNode = imageNode.previousSibling;
+        l = imageNode.src.length;
+      }
+      if (folder == null) 
+      {
+      } 
+      else if (folder.style.display == "block") 
+      {
+        if (imageNode != null) 
+        {
+          imageNode.nextSibling.src = "ftv2folderclosed.png";
+          if (imageNode.src.substring(l-13,l) == "ftv2mnode.png")
+          {
+            imageNode.src = "ftv2pnode.png";
+          }
+          else if (imageNode.src.substring(l-17,l) == "ftv2mlastnode.png")
+          {
+            imageNode.src = "ftv2plastnode.png";
+          }
+        }
+        folder.style.display = "none";
+      } 
+      else 
+      {
+        if (imageNode != null) 
+        {
+          imageNode.nextSibling.src = "ftv2folderopen.png";
+          if (imageNode.src.substring(l-13,l) == "ftv2pnode.png")
+          {
+            imageNode.src = "ftv2mnode.png";
+          }
+          else if (imageNode.src.substring(l-17,l) == "ftv2plastnode.png")
+          {
+            imageNode.src = "ftv2mlastnode.png";
+          }
+        }
+        folder.style.display = "block";
+      }
+    }
+
+    // End script hiding -->        
+    </script>
+  </head>
+
+  <body class="ftvtree">
+    <div class="directory">
+      <h3>Camera grab convert to MPEG</h3>
+      <div style="display: block;">
+        <p><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder1', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder1', this)"/><a class="el" href="modules.html" target="basefrm">Modules</a></p>
+        <div id="folder1">
+          <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="group__common.html" target="basefrm">Common</a></p>
+        </div>
+        <p><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder2', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder2', this)"/><a class="el" href="annotated.html" target="basefrm">Data Structures</a></p>
+        <div id="folder2">
+          <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structvdIn.html" target="basefrm">vdIn</a></p>
+        </div>
+        <p><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="functions.html" target="basefrm">Data Fields</a></p>
+        <p><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder3', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder3', this)"/><a class="el" href="files.html" target="basefrm">File List</a></p>
+        <div id="folder3">
+          <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="camv4l_8c.html" target="basefrm">camv4l.c</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="camv4l_8h.html" target="basefrm">camv4l.h</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="grab__mpeg_8c.html" target="basefrm">grab_mpeg.c</a></p>
+        </div>
+        <p><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="globals.html" target="basefrm">Globals</a></p>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/doc/latex/FreeSans.ttf b/doc/latex/FreeSans.ttf
new file mode 100644 (file)
index 0000000..b550b90
Binary files /dev/null and b/doc/latex/FreeSans.ttf differ
diff --git a/doc/latex/Makefile b/doc/latex/Makefile
new file mode 100644 (file)
index 0000000..a67f1b7
--- /dev/null
@@ -0,0 +1,17 @@
+all: clean refman.pdf
+
+refman.pdf: refman.tex
+       pdflatex refman.tex
+       makeindex refman.idx
+       pdflatex refman.tex
+       latex_count=5 ; \
+       while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
+           do \
+             echo "Rerunning latex...." ;\
+             pdflatex refman.tex ;\
+             latex_count=`expr $$latex_count - 1` ;\
+           done
+
+
+clean:
+       rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out refman.pdf
diff --git a/doc/latex/annotated.tex b/doc/latex/annotated.tex
new file mode 100644 (file)
index 0000000..bcaec59
--- /dev/null
@@ -0,0 +1,4 @@
+\section{Camera grab convert to MPEG Data Structures}
+Here are the data structures with brief descriptions:\begin{CompactList}
+\item\contentsline{section}{{\bf vd\-In} }{\pageref{structvdIn}}{}
+\end{CompactList}
diff --git a/doc/latex/camv4l_8c.tex b/doc/latex/camv4l_8c.tex
new file mode 100644 (file)
index 0000000..f7187b1
--- /dev/null
@@ -0,0 +1,168 @@
+\section{camv4l.c File Reference}
+\label{camv4l_8c}\index{camv4l.c@{camv4l.c}}
+This file implement function. 
+
+{\tt \#include \char`\"{}camv4l.h\char`\"{}}\par
+
+
+Include dependency graph for camv4l.c:\subsection*{Defines}
+\begin{CompactItemize}
+\item 
+\#define {\bf LEN\_\-PALLETE}~4
+\end{CompactItemize}
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+static int {\bf Get\-Video\-Pict} (struct {\bf vd\-In} $\ast$vd)
+\item 
+static int {\bf Set\-Video\-Pict} (struct {\bf vd\-In} $\ast$vd)
+\item 
+static int {\bf Get\-Depth} (int format)
+\item 
+static int {\bf probe\-Palette} (struct {\bf vd\-In} $\ast$vd)
+\item 
+static int {\bf probe\-Size} (struct {\bf vd\-In} $\ast$vd)
+\item 
+int {\bf init\_\-v4l} (struct {\bf vd\-In} $\ast$vd)
+\item 
+int {\bf close\_\-v4l} (struct {\bf vd\-In} $\ast$vd)
+\item 
+static void {\bf flip\-UV} (unsigned char $\ast$src, int format, int w, int h)
+\item 
+int {\bf grab} (struct {\bf vd\-In} $\ast$vd)
+\item 
+int {\bf set\-Palette} (struct {\bf vd\-In} $\ast$vd)
+\item 
+int {\bf change\-Size} (struct {\bf vd\-In} $\ast$vd)
+\item 
+\_\-\_\-u8 {\bf get\-Brightness} (struct {\bf vd\-In} $\ast$vdin)
+\item 
+void {\bf set\-Brightness} (struct {\bf vd\-In} $\ast$vdin, \_\-\_\-u8 bright)
+\item 
+\_\-\_\-u8 {\bf get\-Contrast} (struct {\bf vd\-In} $\ast$vdin)
+\item 
+void {\bf set\-Contrast} (struct {\bf vd\-In} $\ast$vdin, \_\-\_\-u8 contrast)
+\item 
+\_\-\_\-u8 {\bf get\-Colors} (struct {\bf vd\-In} $\ast$vdin)
+\item 
+void {\bf set\-Colors} (struct {\bf vd\-In} $\ast$vdin, \_\-\_\-u8 colors)
+\end{CompactItemize}
+\subsection*{Variables}
+\begin{CompactItemize}
+\item 
+int {\bf PAL} [$\,$] = \{VIDEO\_\-PALETTE\_\-YUV420P,VIDEO\_\-PALETTE\_\-RGB565,VIDEO\_\-PALETTE\_\-RGB24,VIDEO\_\-PALETTE\_\-RGB32\}
+\begin{CompactList}\small\item\em Definitions. \item\end{CompactList}\item 
+int {\bf SIZE} [$\,$] = \{ 640,480,384,288,352,288,320,240,192,144,176,144,160,120 \}
+\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+This file implement function. 
+
+
+
+Definition in file {\bf camv4l.c}.
+
+\subsection{Define Documentation}
+\index{camv4l.c@{camv4l.c}!LEN_PALLETE@{LEN\_\-PALLETE}}
+\index{LEN_PALLETE@{LEN\_\-PALLETE}!camv4l.c@{camv4l.c}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define LEN\_\-PALLETE~4}\label{camv4l_8c_1ae3f99c00fbdb4eec4a4eb4fdfeacd0}
+
+
+
+
+Definition at line 12 of file camv4l.c.
+
+Referenced by probe\-Palette().
+
+\subsection{Function Documentation}
+\index{camv4l.c@{camv4l.c}!flipUV@{flipUV}}
+\index{flipUV@{flipUV}!camv4l.c@{camv4l.c}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void flip\-UV (unsigned char $\ast$ {\em src}, int {\em format}, int {\em w}, int {\em h})\hspace{0.3cm}{\tt  [static]}}\label{camv4l_8c_1da8db34b1923c570a40f54e2b22ca39}
+
+
+
+
+Definition at line 151 of file camv4l.c.
+
+References i, VIDEO\_\-PALETTE\_\-RAW\_\-JPEG, VIDEO\_\-PALETTE\_\-RGB24, VIDEO\_\-PALETTE\_\-RGB32, VIDEO\_\-PALETTE\_\-RGB565, and VIDEO\_\-PALETTE\_\-YUV420P.
+
+Referenced by grab().\index{camv4l.c@{camv4l.c}!GetDepth@{GetDepth}}
+\index{GetDepth@{GetDepth}!camv4l.c@{camv4l.c}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int Get\-Depth (int {\em format})\hspace{0.3cm}{\tt  [static]}}\label{camv4l_8c_283b0e82a3d74f512e682a8ac52659b7}
+
+
+
+
+Definition at line 432 of file camv4l.c.
+
+References VIDEO\_\-PALETTE\_\-RAW\_\-JPEG, VIDEO\_\-PALETTE\_\-RGB24, VIDEO\_\-PALETTE\_\-RGB32, VIDEO\_\-PALETTE\_\-RGB565, and VIDEO\_\-PALETTE\_\-YUV420P.
+
+Referenced by change\-Size(), probe\-Palette(), and set\-Palette().\index{camv4l.c@{camv4l.c}!GetVideoPict@{GetVideoPict}}
+\index{GetVideoPict@{GetVideoPict}!camv4l.c@{camv4l.c}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int Get\-Video\-Pict (struct {\bf vd\-In} $\ast$ {\em vd})\hspace{0.3cm}{\tt  [static]}}\label{camv4l_8c_8cb6f747fd7726860f771609946d09b3}
+
+
+
+
+Definition at line 400 of file camv4l.c.
+
+References vd\-In::fd, and vd\-In::videopict.
+
+Referenced by change\-Size(), get\-Brightness(), get\-Colors(), get\-Contrast(), and init\_\-v4l().\index{camv4l.c@{camv4l.c}!probePalette@{probePalette}}
+\index{probePalette@{probePalette}!camv4l.c@{camv4l.c}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int probe\-Palette (struct {\bf vd\-In} $\ast$ {\em vd})\hspace{0.3cm}{\tt  [static]}}\label{camv4l_8c_e2f8dd81ccfc3b70fdeb99b07586a1b1}
+
+
+
+
+Definition at line 273 of file camv4l.c.
+
+References vd\-In::bpp\-In, vd\-In::fd, vd\-In::format\-In, Get\-Depth(), i, LEN\_\-PALLETE, PAL, and vd\-In::palette.
+
+Referenced by init\_\-v4l().\index{camv4l.c@{camv4l.c}!probeSize@{probeSize}}
+\index{probeSize@{probeSize}!camv4l.c@{camv4l.c}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int probe\-Size (struct {\bf vd\-In} $\ast$ {\em vd})\hspace{0.3cm}{\tt  [static]}}\label{camv4l_8c_bee824dc095955f0175643284986b23e}
+
+
+
+
+Definition at line 320 of file camv4l.c.
+
+References vd\-In::fd, vd\-In::hdrheight, vd\-In::hdrwidth, i, SIZE, vd\-In::sizeothers, and vd\-In::videocap.
+
+Referenced by init\_\-v4l().\index{camv4l.c@{camv4l.c}!SetVideoPict@{SetVideoPict}}
+\index{SetVideoPict@{SetVideoPict}!camv4l.c@{camv4l.c}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int Set\-Video\-Pict (struct {\bf vd\-In} $\ast$ {\em vd})\hspace{0.3cm}{\tt  [static]}}\label{camv4l_8c_6391de2c695ffff5ba0a8632f6db3c1f}
+
+
+
+
+Definition at line 416 of file camv4l.c.
+
+References vd\-In::fd, and vd\-In::videopict.
+
+Referenced by set\-Brightness(), set\-Colors(), set\-Contrast(), and set\-Palette().
+
+\subsection{Variable Documentation}
+\index{camv4l.c@{camv4l.c}!PAL@{PAL}}
+\index{PAL@{PAL}!camv4l.c@{camv4l.c}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf PAL}[$\,$] = \{VIDEO\_\-PALETTE\_\-YUV420P,VIDEO\_\-PALETTE\_\-RGB565,VIDEO\_\-PALETTE\_\-RGB24,VIDEO\_\-PALETTE\_\-RGB32\}}\label{camv4l_8c_ee54b939c70ffe5540c8e77e8b75c331}
+
+
+Definitions. 
+
+
+
+Definition at line 10 of file camv4l.c.
+
+Referenced by probe\-Palette().\index{camv4l.c@{camv4l.c}!SIZE@{SIZE}}
+\index{SIZE@{SIZE}!camv4l.c@{camv4l.c}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf SIZE}[$\,$] = \{ 640,480,384,288,352,288,320,240,192,144,176,144,160,120 \}}\label{camv4l_8c_26ffb7e515435a5ff2d24656ecacd181}
+
+
+
+
+Definition at line 14 of file camv4l.c.
+
+Referenced by probe\-Size().
\ No newline at end of file
diff --git a/doc/latex/camv4l_8c__incl.dot b/doc/latex/camv4l_8c__incl.dot
new file mode 100644 (file)
index 0000000..e6d401b
--- /dev/null
@@ -0,0 +1,9 @@
+digraph G
+{
+  edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10];
+  node [fontname="FreeSans.ttf",fontsize=10,shape=record];
+  rankdir=LR;
+  Node1 [label="camv4l.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
+  Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid"];
+  Node2 [label="camv4l.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$camv4l_8h.html"];
+}
diff --git a/doc/latex/camv4l_8c__incl.md5 b/doc/latex/camv4l_8c__incl.md5
new file mode 100644 (file)
index 0000000..3bd25ef
--- /dev/null
@@ -0,0 +1 @@
+33442f9122a773e02075d330ac92f4f2
\ No newline at end of file
diff --git a/doc/latex/camv4l_8h.tex b/doc/latex/camv4l_8h.tex
new file mode 100644 (file)
index 0000000..52bc8df
--- /dev/null
@@ -0,0 +1,190 @@
+\section{camv4l.h File Reference}
+\label{camv4l_8h}\index{camv4l.h@{camv4l.h}}
+{\tt \#include $<$stdio.h$>$}\par
+{\tt \#include $<$unistd.h$>$}\par
+{\tt \#include $<$stdlib.h$>$}\par
+{\tt \#include $<$string.h$>$}\par
+{\tt \#include $<$fcntl.h$>$}\par
+{\tt \#include $<$signal.h$>$}\par
+{\tt \#include $<$errno.h$>$}\par
+{\tt \#include $<$time.h$>$}\par
+{\tt \#include $<$math.h$>$}\par
+{\tt \#include $<$stdarg.h$>$}\par
+{\tt \#include $<$linux/types.h$>$}\par
+{\tt \#include $<$linux/videodev.h$>$}\par
+{\tt \#include $<$sys/mman.h$>$}\par
+{\tt \#include $<$sys/ioctl.h$>$}\par
+{\tt \#include $<$sys/file.h$>$}\par
+{\tt \#include $<$sys/types.h$>$}\par
+{\tt \#include $<$sys/stat.h$>$}\par
+
+
+Include dependency graph for camv4l.h:
+
+This graph shows which files directly or indirectly include this file:\subsection*{Data Structures}
+\begin{CompactItemize}
+\item 
+struct {\bf vd\-In}
+\end{CompactItemize}
+\subsection*{Defines}
+\begin{CompactItemize}
+\item 
+\#define {\bf DWIDTH}~320
+\item 
+\#define {\bf DHEIGHT}~240
+\item 
+\#define {\bf VIDEO\_\-PALETTE\_\-RGB565}~3
+\item 
+\#define {\bf VIDEO\_\-PALETTE\_\-RGB24}~4
+\item 
+\#define {\bf VIDEO\_\-PALETTE\_\-RGB32}~5
+\item 
+\#define {\bf VIDEO\_\-PALETTE\_\-YUV420P}~15
+\item 
+\#define {\bf VIDEO\_\-PALETTE\_\-RAW\_\-JPEG}~20
+\end{CompactItemize}
+\subsection*{Enumerations}
+\begin{CompactItemize}
+\item 
+enum {\bf cam\_\-form} \{ \par
+{\bf JPEG}, 
+{\bf YUVY}, 
+{\bf YYUV}, 
+{\bf YUYV}, 
+\par
+{\bf GREY}, 
+{\bf GBRG}, 
+{\bf UNKNOW}
+ \}
+\end{CompactItemize}
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+int {\bf init\_\-v4l} (struct {\bf vd\-In} $\ast$vd)
+\item 
+int {\bf grab} (struct {\bf vd\-In} $\ast$vd)
+\item 
+int {\bf close\_\-v4l} (struct {\bf vd\-In} $\ast$vd)
+\item 
+int {\bf set\-Palette} (struct {\bf vd\-In} $\ast$vd)
+\item 
+int {\bf change\-Size} (struct {\bf vd\-In} $\ast$vd)
+\item 
+\_\-\_\-u8 {\bf get\-Brightness} (struct {\bf vd\-In} $\ast$vd)
+\item 
+void {\bf set\-Brightness} (struct {\bf vd\-In} $\ast$vd, \_\-\_\-u8 bright)
+\item 
+\_\-\_\-u8 {\bf get\-Contrast} (struct {\bf vd\-In} $\ast$vd)
+\item 
+void {\bf set\-Contrast} (struct {\bf vd\-In} $\ast$vd, \_\-\_\-u8 contrast)
+\item 
+\_\-\_\-u8 {\bf get\-Colors} (struct {\bf vd\-In} $\ast$vd)
+\item 
+void {\bf set\-Colors} (struct {\bf vd\-In} $\ast$vd, \_\-\_\-u8 colors)
+\item 
+\_\-\_\-u8 {\bf get\-Norme} (struct {\bf vd\-In} $\ast$vd)
+\item 
+void {\bf set\-Norme} (struct {\bf vd\-In} $\ast$vd, \_\-\_\-u8 norme)
+\item 
+\_\-\_\-u8 {\bf get\-Channel} (struct {\bf vd\-In} $\ast$vd)
+\item 
+void {\bf set\-Channel} (struct {\bf vd\-In} $\ast$vd, \_\-\_\-u8 channel)
+\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+
+
+Definition in file {\bf camv4l.h}.
+
+\subsection{Define Documentation}
+\index{camv4l.h@{camv4l.h}!DHEIGHT@{DHEIGHT}}
+\index{DHEIGHT@{DHEIGHT}!camv4l.h@{camv4l.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define DHEIGHT~240}\label{camv4l_8h_2c0e9cadedb91327295c0249e8a3ad6f}
+
+
+
+
+Definition at line 28 of file camv4l.h.\index{camv4l.h@{camv4l.h}!DWIDTH@{DWIDTH}}
+\index{DWIDTH@{DWIDTH}!camv4l.h@{camv4l.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define DWIDTH~320}\label{camv4l_8h_7f32e26ea2ffbc0c5408e65b30d4f0c8}
+
+
+
+
+Definition at line 27 of file camv4l.h.\index{camv4l.h@{camv4l.h}!VIDEO_PALETTE_RAW_JPEG@{VIDEO\_\-PALETTE\_\-RAW\_\-JPEG}}
+\index{VIDEO_PALETTE_RAW_JPEG@{VIDEO\_\-PALETTE\_\-RAW\_\-JPEG}!camv4l.h@{camv4l.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define VIDEO\_\-PALETTE\_\-RAW\_\-JPEG~20}\label{camv4l_8h_f86678f63c4ac31acaf68b38d90d94a9}
+
+
+
+
+Definition at line 35 of file camv4l.h.
+
+Referenced by flip\-UV(), and Get\-Depth().\index{camv4l.h@{camv4l.h}!VIDEO_PALETTE_RGB24@{VIDEO\_\-PALETTE\_\-RGB24}}
+\index{VIDEO_PALETTE_RGB24@{VIDEO\_\-PALETTE\_\-RGB24}!camv4l.h@{camv4l.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define VIDEO\_\-PALETTE\_\-RGB24~4}\label{camv4l_8h_8dd93a2c957ded118f8ff17680cbf220}
+
+
+
+
+Definition at line 32 of file camv4l.h.
+
+Referenced by flip\-UV(), and Get\-Depth().\index{camv4l.h@{camv4l.h}!VIDEO_PALETTE_RGB32@{VIDEO\_\-PALETTE\_\-RGB32}}
+\index{VIDEO_PALETTE_RGB32@{VIDEO\_\-PALETTE\_\-RGB32}!camv4l.h@{camv4l.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define VIDEO\_\-PALETTE\_\-RGB32~5}\label{camv4l_8h_d50994973596a30826522de0701ad02b}
+
+
+
+
+Definition at line 33 of file camv4l.h.
+
+Referenced by flip\-UV(), and Get\-Depth().\index{camv4l.h@{camv4l.h}!VIDEO_PALETTE_RGB565@{VIDEO\_\-PALETTE\_\-RGB565}}
+\index{VIDEO_PALETTE_RGB565@{VIDEO\_\-PALETTE\_\-RGB565}!camv4l.h@{camv4l.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define VIDEO\_\-PALETTE\_\-RGB565~3}\label{camv4l_8h_dbf692218d97fffa111494787562d9e8}
+
+
+
+
+Definition at line 31 of file camv4l.h.
+
+Referenced by flip\-UV(), and Get\-Depth().\index{camv4l.h@{camv4l.h}!VIDEO_PALETTE_YUV420P@{VIDEO\_\-PALETTE\_\-YUV420P}}
+\index{VIDEO_PALETTE_YUV420P@{VIDEO\_\-PALETTE\_\-YUV420P}!camv4l.h@{camv4l.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define VIDEO\_\-PALETTE\_\-YUV420P~15}\label{camv4l_8h_dea1e94780da3ba61a1a1d9a11affdd2}
+
+
+
+
+Definition at line 34 of file camv4l.h.
+
+Referenced by flip\-UV(), Get\-Depth(), and processvideo().
+
+\subsection{Enumeration Type Documentation}
+\index{camv4l.h@{camv4l.h}!cam_form@{cam\_\-form}}
+\index{cam_form@{cam\_\-form}!camv4l.h@{camv4l.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf cam\_\-form}}\label{camv4l_8h_2f8d40fca22af63d98fcaad73efe2161}
+
+
+Camera type format date \begin{Desc}
+\item[Enumerator: ]\par
+\begin{description}
+\index{JPEG@{JPEG}!camv4l.h@{camv4l.h}}\index{camv4l.h@{camv4l.h}!JPEG@{JPEG}}\item[{\em 
+JPEG\label{camv4l_8h_2f8d40fca22af63d98fcaad73efe216196f4d8a8c2070cf7bdd2236a48eae07a}
+}]\index{YUVY@{YUVY}!camv4l.h@{camv4l.h}}\index{camv4l.h@{camv4l.h}!YUVY@{YUVY}}\item[{\em 
+YUVY\label{camv4l_8h_2f8d40fca22af63d98fcaad73efe21619c6051edb55a8fb694528d81aa2c92dc}
+}]\index{YYUV@{YYUV}!camv4l.h@{camv4l.h}}\index{camv4l.h@{camv4l.h}!YYUV@{YYUV}}\item[{\em 
+YYUV\label{camv4l_8h_2f8d40fca22af63d98fcaad73efe21614dd75c8cff6ed2dad455d9b1e3066a7c}
+}]\index{YUYV@{YUYV}!camv4l.h@{camv4l.h}}\index{camv4l.h@{camv4l.h}!YUYV@{YUYV}}\item[{\em 
+YUYV\label{camv4l_8h_2f8d40fca22af63d98fcaad73efe21610105757557d0eed9bac6f9f1c0185a0b}
+}]\index{GREY@{GREY}!camv4l.h@{camv4l.h}}\index{camv4l.h@{camv4l.h}!GREY@{GREY}}\item[{\em 
+GREY\label{camv4l_8h_2f8d40fca22af63d98fcaad73efe216138566822dbd9408c447abfd3ed4a85d2}
+}]\index{GBRG@{GBRG}!camv4l.h@{camv4l.h}}\index{camv4l.h@{camv4l.h}!GBRG@{GBRG}}\item[{\em 
+GBRG\label{camv4l_8h_2f8d40fca22af63d98fcaad73efe21613cae9f5260ee8e2b52164f174e076fa2}
+}]\index{UNKNOW@{UNKNOW}!camv4l.h@{camv4l.h}}\index{camv4l.h@{camv4l.h}!UNKNOW@{UNKNOW}}\item[{\em 
+UNKNOW\label{camv4l_8h_2f8d40fca22af63d98fcaad73efe216109b024ff449662360c66ce18d20096fa}
+}]\end{description}
+\end{Desc}
+
+
+
+Definition at line 41 of file camv4l.h.
\ No newline at end of file
diff --git a/doc/latex/camv4l_8h__dep__incl.dot b/doc/latex/camv4l_8h__dep__incl.dot
new file mode 100644 (file)
index 0000000..d96f724
--- /dev/null
@@ -0,0 +1,11 @@
+digraph G
+{
+  edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10];
+  node [fontname="FreeSans.ttf",fontsize=10,shape=record];
+  rankdir=LR;
+  Node1 [label="camv4l.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
+  Node1 -> Node2 [dir=back,color="midnightblue",fontsize=10,style="solid"];
+  Node2 [label="camv4l.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$camv4l_8c.html"];
+  Node1 -> Node3 [dir=back,color="midnightblue",fontsize=10,style="solid"];
+  Node3 [label="grab_mpeg.c",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$grab__mpeg_8c.html"];
+}
diff --git a/doc/latex/camv4l_8h__dep__incl.md5 b/doc/latex/camv4l_8h__dep__incl.md5
new file mode 100644 (file)
index 0000000..1e7c147
--- /dev/null
@@ -0,0 +1 @@
+3f8b84c8ad7b2fe4457b586bee2792c8
\ No newline at end of file
diff --git a/doc/latex/camv4l_8h__incl.dot b/doc/latex/camv4l_8h__incl.dot
new file mode 100644 (file)
index 0000000..8c0a945
--- /dev/null
@@ -0,0 +1,41 @@
+digraph G
+{
+  edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10];
+  node [fontname="FreeSans.ttf",fontsize=10,shape=record];
+  rankdir=LR;
+  Node1 [label="camv4l.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
+  Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid"];
+  Node2 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid"];
+  Node3 [label="unistd.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid"];
+  Node4 [label="stdlib.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid"];
+  Node5 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid"];
+  Node6 [label="fcntl.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node7 [color="midnightblue",fontsize=10,style="solid"];
+  Node7 [label="signal.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node8 [color="midnightblue",fontsize=10,style="solid"];
+  Node8 [label="errno.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node9 [color="midnightblue",fontsize=10,style="solid"];
+  Node9 [label="time.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node10 [color="midnightblue",fontsize=10,style="solid"];
+  Node10 [label="math.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node11 [color="midnightblue",fontsize=10,style="solid"];
+  Node11 [label="stdarg.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node12 [color="midnightblue",fontsize=10,style="solid"];
+  Node12 [label="linux/types.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node13 [color="midnightblue",fontsize=10,style="solid"];
+  Node13 [label="linux/videodev.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node14 [color="midnightblue",fontsize=10,style="solid"];
+  Node14 [label="sys/mman.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node15 [color="midnightblue",fontsize=10,style="solid"];
+  Node15 [label="sys/ioctl.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node16 [color="midnightblue",fontsize=10,style="solid"];
+  Node16 [label="sys/file.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node17 [color="midnightblue",fontsize=10,style="solid"];
+  Node17 [label="sys/types.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node18 [color="midnightblue",fontsize=10,style="solid"];
+  Node18 [label="sys/stat.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+}
diff --git a/doc/latex/camv4l_8h__incl.md5 b/doc/latex/camv4l_8h__incl.md5
new file mode 100644 (file)
index 0000000..3500021
--- /dev/null
@@ -0,0 +1 @@
+33e57600d273717acb96e14e29a60ce5
\ No newline at end of file
diff --git a/doc/latex/doxygen.sty b/doc/latex/doxygen.sty
new file mode 100644 (file)
index 0000000..60c0c7c
--- /dev/null
@@ -0,0 +1,78 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{doxygen}
+\RequirePackage{calc}
+\RequirePackage{array}
+\pagestyle{fancyplain}
+\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}}
+\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
+\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
+\lhead[\fancyplain{}{\bfseries\thepage}]
+        {\fancyplain{}{\bfseries\rightmark}}
+\rhead[\fancyplain{}{\bfseries\leftmark}]
+        {\fancyplain{}{\bfseries\thepage}}
+\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Mon Jan 26 20:51:50 2009 for Camera grab convert to MPEG by Doxygen }]{}
+\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Mon Jan 26 20:51:50 2009 for Camera grab convert to MPEG by Doxygen }}
+\cfoot{}
+\newenvironment{Code}
+{\footnotesize}
+{\normalsize}
+\newcommand{\doxyref}[3]{\textbf{#1} (\textnormal{#2}\,\pageref{#3})}
+\newenvironment{DocInclude}
+{\footnotesize}
+{\normalsize}
+\newenvironment{VerbInclude}
+{\footnotesize}
+{\normalsize}
+\newenvironment{Image}
+{\begin{figure}[H]}
+{\end{figure}}
+\newenvironment{ImageNoCaption}{}{}
+\newenvironment{CompactList}
+{\begin{list}{}{
+  \setlength{\leftmargin}{0.5cm}
+  \setlength{\itemsep}{0pt}
+  \setlength{\parsep}{0pt}
+  \setlength{\topsep}{0pt}
+  \renewcommand{\makelabel}{\hfill}}}
+{\end{list}}
+\newenvironment{CompactItemize}
+{
+  \begin{itemize}
+  \setlength{\itemsep}{-3pt}
+  \setlength{\parsep}{0pt}
+  \setlength{\topsep}{0pt}
+  \setlength{\partopsep}{0pt}
+}
+{\end{itemize}}
+\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}
+\newlength{\tmplength}
+\newenvironment{TabularC}[1]
+{
+\setlength{\tmplength}
+     {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}
+      \par\begin{tabular*}{\linewidth}
+             {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}
+}
+{\end{tabular*}\par}
+\newcommand{\entrylabel}[1]{
+   {\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\vspace{1.5\baselineskip}}}}
+\newenvironment{Desc}
+{\begin{list}{}
+  {
+    \settowidth{\labelwidth}{40pt}
+    \setlength{\leftmargin}{\labelwidth}
+    \setlength{\parsep}{0pt}
+    \setlength{\itemsep}{-4pt}
+    \renewcommand{\makelabel}{\entrylabel}
+  }
+}
+{\end{list}}
+\newenvironment{Indent}
+  {\begin{list}{}{\setlength{\leftmargin}{0.5cm}}
+      \item[]\ignorespaces}
+  {\unskip\end{list}}
+\setlength{\parindent}{0cm}
+\setlength{\parskip}{0.2cm}
+\addtocounter{secnumdepth}{1}
+\sloppy
+\usepackage[T1]{fontenc}
diff --git a/doc/latex/files.tex b/doc/latex/files.tex
new file mode 100644 (file)
index 0000000..f83fa99
--- /dev/null
@@ -0,0 +1,6 @@
+\section{Camera grab convert to MPEG File List}
+Here is a list of all files with brief descriptions:\begin{CompactList}
+\item\contentsline{section}{{\bf camv4l.c} (This file implement function )}{\pageref{camv4l_8c}}{}
+\item\contentsline{section}{{\bf camv4l.h} }{\pageref{camv4l_8h}}{}
+\item\contentsline{section}{{\bf grab\_\-mpeg.c} (This is the main file where application run )}{\pageref{grab__mpeg_8c}}{}
+\end{CompactList}
diff --git a/doc/latex/grab__mpeg_8c.tex b/doc/latex/grab__mpeg_8c.tex
new file mode 100644 (file)
index 0000000..1d0b8c6
--- /dev/null
@@ -0,0 +1,223 @@
+\section{grab\_\-mpeg.c File Reference}
+\label{grab__mpeg_8c}\index{grab_mpeg.c@{grab\_\-mpeg.c}}
+This is the main file where application run. 
+
+{\tt \#include $<$stdlib.h$>$}\par
+{\tt \#include $<$stdio.h$>$}\par
+{\tt \#include $<$string.h$>$}\par
+{\tt \#include \char`\"{}camv4l.h\char`\"{}}\par
+{\tt \#include $<$ffmpeg/avcodec.h$>$}\par
+
+
+Include dependency graph for grab\_\-mpeg.c:\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+void {\bf processvideo} ()
+\item 
+void {\bf video\_\-encode\_\-alloc} (const char $\ast$filename, uint8\_\-t $\ast$in\_\-buffer)
+\item 
+void {\bf video\_\-encode\_\-mpeg} ()
+\item 
+void {\bf video\_\-encode\_\-free} ()
+\item 
+int {\bf main} (int count, char $\ast$strings[$\,$])
+\end{CompactItemize}
+\subsection*{Variables}
+\begin{CompactItemize}
+\item 
+AVCodec $\ast$ {\bf codec}
+\begin{CompactList}\small\item\em Codec. \item\end{CompactList}\item 
+AVCodec\-Context $\ast$ {\bf c}
+\begin{CompactList}\small\item\em Contex of codec. \item\end{CompactList}\item 
+int {\bf i}
+\item 
+int {\bf out\_\-size}
+\item 
+int {\bf size}
+\item 
+FILE $\ast$ {\bf f}
+\begin{CompactList}\small\item\em File name. \item\end{CompactList}\item 
+AVFrame $\ast$ {\bf picture}
+\begin{CompactList}\small\item\em Frame of picture. \item\end{CompactList}\item 
+uint8\_\-t $\ast$ {\bf outbuf}
+\begin{CompactList}\small\item\em Output mpeg frame. \item\end{CompactList}\item 
+int {\bf outbuf\_\-size}
+\item 
+{\bf vd\-In} {\bf myvid\-In}
+\begin{CompactList}\small\item\em V4L device. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+This is the main file where application run. 
+
+
+
+Definition in file {\bf grab\_\-mpeg.c}.
+
+\subsection{Function Documentation}
+\index{grab_mpeg.c@{grab\_\-mpeg.c}!main@{main}}
+\index{main@{main}!grab_mpeg.c@{grab\_\-mpeg.c}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int main (int {\em count}, char $\ast$ {\em strings}[$\,$])}\label{grab__mpeg_8c_99ed24fde392ba5e0c427c04cd8ad429}
+
+
+The main function \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em count}]Count of byte \item[{\em strings}]String after run sequnce of aplicationss \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]0 if all good \end{Desc}
+
+
+Definition at line 88 of file grab\_\-mpeg.c.
+
+References vd\-In::bridge, c, vd\-In::cameraname, close\_\-v4l(), vd\-In::grab\-Method, init\_\-v4l(), myvid\-In, vd\-In::pix\-Tmp, processvideo(), video\_\-encode\_\-alloc(), video\_\-encode\_\-free(), and vd\-In::videodevice.\index{grab_mpeg.c@{grab\_\-mpeg.c}!processvideo@{processvideo}}
+\index{processvideo@{processvideo}!grab_mpeg.c@{grab\_\-mpeg.c}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void processvideo ()}\label{grab__mpeg_8c_28603e93ac81b15f759127bbfdc7cb37}
+
+
+Function make frame from videodevice and send to. 
+
+Definition at line 137 of file grab\_\-mpeg.c.
+
+References vd\-In::format\-In, grab(), vd\-In::hdrheight, vd\-In::hdrwidth, myvid\-In, set\-Palette(), video\_\-encode\_\-mpeg(), and VIDEO\_\-PALETTE\_\-YUV420P.
+
+Referenced by main().\index{grab_mpeg.c@{grab\_\-mpeg.c}!video_encode_alloc@{video\_\-encode\_\-alloc}}
+\index{video_encode_alloc@{video\_\-encode\_\-alloc}!grab_mpeg.c@{grab\_\-mpeg.c}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void video\_\-encode\_\-alloc (const char $\ast$ {\em filename}, uint8\_\-t $\ast$ {\em in\_\-buffer})}\label{grab__mpeg_8c_dedd16f8b46d848fe3ef6179dd54956c}
+
+
+Alloc and set codec 
+
+Definition at line 162 of file grab\_\-mpeg.c.
+
+References c, codec, f, outbuf, outbuf\_\-size, picture, and size.
+
+Referenced by main().\index{grab_mpeg.c@{grab\_\-mpeg.c}!video_encode_free@{video\_\-encode\_\-free}}
+\index{video_encode_free@{video\_\-encode\_\-free}!grab_mpeg.c@{grab\_\-mpeg.c}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void video\_\-encode\_\-free ()}\label{grab__mpeg_8c_074665588885b7b51505b9331ba690e9}
+
+
+Free memory 
+
+Definition at line 227 of file grab\_\-mpeg.c.
+
+References c, f, i, out\_\-size, outbuf, outbuf\_\-size, and picture.
+
+Referenced by main().\index{grab_mpeg.c@{grab\_\-mpeg.c}!video_encode_mpeg@{video\_\-encode\_\-mpeg}}
+\index{video_encode_mpeg@{video\_\-encode\_\-mpeg}!grab_mpeg.c@{grab\_\-mpeg.c}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void video\_\-encode\_\-mpeg ()}\label{grab__mpeg_8c_aadbb0611fc321cf111d581db0ff62e4}
+
+
+Encode global buffer from picture . 
+
+Definition at line 218 of file grab\_\-mpeg.c.
+
+References c, f, out\_\-size, outbuf, outbuf\_\-size, and picture.
+
+Referenced by processvideo().
+
+\subsection{Variable Documentation}
+\index{grab_mpeg.c@{grab\_\-mpeg.c}!c@{c}}
+\index{c@{c}!grab_mpeg.c@{grab\_\-mpeg.c}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}AVCodec\-Context$\ast$ {\bf c}}\label{grab__mpeg_8c_e7991e0075301e249fa7d40d5b0eec81}
+
+
+Contex of codec. 
+
+
+
+Definition at line 40 of file grab\_\-mpeg.c.
+
+Referenced by main(), video\_\-encode\_\-alloc(), video\_\-encode\_\-free(), and video\_\-encode\_\-mpeg().\index{grab_mpeg.c@{grab\_\-mpeg.c}!codec@{codec}}
+\index{codec@{codec}!grab_mpeg.c@{grab\_\-mpeg.c}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}AVCodec$\ast$ {\bf codec}}\label{grab__mpeg_8c_3d92780da6f5146c4f47f425dd151d96}
+
+
+Codec. 
+
+
+
+Definition at line 37 of file grab\_\-mpeg.c.
+
+Referenced by video\_\-encode\_\-alloc().\index{grab_mpeg.c@{grab\_\-mpeg.c}!f@{f}}
+\index{f@{f}!grab_mpeg.c@{grab\_\-mpeg.c}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}FILE$\ast$ {\bf f}}\label{grab__mpeg_8c_3efb0e1a16208deecbd84c15401f7cf8}
+
+
+File name. 
+
+
+
+Definition at line 47 of file grab\_\-mpeg.c.
+
+Referenced by init\_\-v4l(), video\_\-encode\_\-alloc(), video\_\-encode\_\-free(), and video\_\-encode\_\-mpeg().\index{grab_mpeg.c@{grab\_\-mpeg.c}!i@{i}}
+\index{i@{i}!grab_mpeg.c@{grab\_\-mpeg.c}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf i}}\label{grab__mpeg_8c_cb559820d9ca11295b4500f179ef6392}
+
+
+
+
+Definition at line 42 of file grab\_\-mpeg.c.
+
+Referenced by flip\-UV(), probe\-Palette(), probe\-Size(), and video\_\-encode\_\-free().\index{grab_mpeg.c@{grab\_\-mpeg.c}!myvidIn@{myvidIn}}
+\index{myvidIn@{myvidIn}!grab_mpeg.c@{grab\_\-mpeg.c}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct {\bf vd\-In} {\bf myvid\-In}}\label{grab__mpeg_8c_d282c1ee4754687cc4e30bce27cedf8f}
+
+
+V4L device. 
+
+
+
+Definition at line 59 of file grab\_\-mpeg.c.
+
+Referenced by main(), and processvideo().\index{grab_mpeg.c@{grab\_\-mpeg.c}!out_size@{out\_\-size}}
+\index{out_size@{out\_\-size}!grab_mpeg.c@{grab\_\-mpeg.c}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf out\_\-size}}\label{grab__mpeg_8c_6b2e93f2f2db9a65b19a2487c6b1f78b}
+
+
+
+
+Definition at line 43 of file grab\_\-mpeg.c.
+
+Referenced by video\_\-encode\_\-free(), and video\_\-encode\_\-mpeg().\index{grab_mpeg.c@{grab\_\-mpeg.c}!outbuf@{outbuf}}
+\index{outbuf@{outbuf}!grab_mpeg.c@{grab\_\-mpeg.c}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}uint8\_\-t$\ast$ {\bf outbuf}}\label{grab__mpeg_8c_a85f3649904a9e7c4d21c42f95a2eac8}
+
+
+Output mpeg frame. 
+
+
+
+Definition at line 53 of file grab\_\-mpeg.c.
+
+Referenced by video\_\-encode\_\-alloc(), video\_\-encode\_\-free(), and video\_\-encode\_\-mpeg().\index{grab_mpeg.c@{grab\_\-mpeg.c}!outbuf_size@{outbuf\_\-size}}
+\index{outbuf_size@{outbuf\_\-size}!grab_mpeg.c@{grab\_\-mpeg.c}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf outbuf\_\-size}}\label{grab__mpeg_8c_7143b1416521b958e981da0f56586e8e}
+
+
+
+
+Definition at line 55 of file grab\_\-mpeg.c.
+
+Referenced by video\_\-encode\_\-alloc(), video\_\-encode\_\-free(), and video\_\-encode\_\-mpeg().\index{grab_mpeg.c@{grab\_\-mpeg.c}!picture@{picture}}
+\index{picture@{picture}!grab_mpeg.c@{grab\_\-mpeg.c}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}AVFrame$\ast$ {\bf picture}}\label{grab__mpeg_8c_65f6cfcea30372e03b387bd67c2f8a8d}
+
+
+Frame of picture. 
+
+
+
+Definition at line 50 of file grab\_\-mpeg.c.
+
+Referenced by video\_\-encode\_\-alloc(), video\_\-encode\_\-free(), and video\_\-encode\_\-mpeg().\index{grab_mpeg.c@{grab\_\-mpeg.c}!size@{size}}
+\index{size@{size}!grab_mpeg.c@{grab\_\-mpeg.c}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf size}}\label{grab__mpeg_8c_439227feff9d7f55384e8780cfc2eb82}
+
+
+
+
+Definition at line 44 of file grab\_\-mpeg.c.
+
+Referenced by grab(), and video\_\-encode\_\-alloc().
\ No newline at end of file
diff --git a/doc/latex/grab__mpeg_8c__incl.dot b/doc/latex/grab__mpeg_8c__incl.dot
new file mode 100644 (file)
index 0000000..b0327a4
--- /dev/null
@@ -0,0 +1,20 @@
+digraph G
+{
+  edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10];
+  node [fontname="FreeSans.ttf",fontsize=10,shape=record];
+  rankdir=LR;
+  Node1 [label="grab_mpeg.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
+  Node1 -> Node2 [color="midnightblue",fontsize=10,style="solid"];
+  Node2 [label="stdlib.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node3 [color="midnightblue",fontsize=10,style="solid"];
+  Node3 [label="stdio.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node4 [color="midnightblue",fontsize=10,style="solid"];
+  Node4 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+  Node1 -> Node5 [color="midnightblue",fontsize=10,style="solid"];
+  Node5 [label="camv4l.h",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$camv4l_8h.html"];
+  Node5 -> Node3 [color="midnightblue",fontsize=10,style="solid"];
+  Node5 -> Node2 [color="midnightblue",fontsize=10,style="solid"];
+  Node5 -> Node4 [color="midnightblue",fontsize=10,style="solid"];
+  Node1 -> Node6 [color="midnightblue",fontsize=10,style="solid"];
+  Node6 [label="ffmpeg/avcodec.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
+}
diff --git a/doc/latex/grab__mpeg_8c__incl.md5 b/doc/latex/grab__mpeg_8c__incl.md5
new file mode 100644 (file)
index 0000000..e8e620b
--- /dev/null
@@ -0,0 +1 @@
+8bc2630b6091e88fd91f6822f1462d11
\ No newline at end of file
diff --git a/doc/latex/group__common.tex b/doc/latex/group__common.tex
new file mode 100644 (file)
index 0000000..2366a4b
--- /dev/null
@@ -0,0 +1,295 @@
+\section{Common}
+\label{group__common}\index{Common@{Common}}
+Grab form camere, transfer to the MPEG and transmitt to the LAN.  
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+int {\bf init\_\-v4l} (struct {\bf vd\-In} $\ast$vd)
+\item 
+int {\bf grab} (struct {\bf vd\-In} $\ast$vd)
+\item 
+int {\bf close\_\-v4l} (struct {\bf vd\-In} $\ast$vd)
+\item 
+int {\bf set\-Palette} (struct {\bf vd\-In} $\ast$vd)
+\item 
+int {\bf change\-Size} (struct {\bf vd\-In} $\ast$vd)
+\item 
+\_\-\_\-u8 {\bf get\-Brightness} (struct {\bf vd\-In} $\ast$vd)
+\item 
+void {\bf set\-Brightness} (struct {\bf vd\-In} $\ast$vd, \_\-\_\-u8 bright)
+\item 
+\_\-\_\-u8 {\bf get\-Contrast} (struct {\bf vd\-In} $\ast$vd)
+\item 
+void {\bf set\-Contrast} (struct {\bf vd\-In} $\ast$vd, \_\-\_\-u8 contrast)
+\item 
+\_\-\_\-u8 {\bf get\-Colors} (struct {\bf vd\-In} $\ast$vd)
+\item 
+void {\bf set\-Colors} (struct {\bf vd\-In} $\ast$vd, \_\-\_\-u8 colors)
+\item 
+\_\-\_\-u8 {\bf get\-Norme} (struct {\bf vd\-In} $\ast$vd)
+\item 
+void {\bf set\-Norme} (struct {\bf vd\-In} $\ast$vd, \_\-\_\-u8 norme)
+\item 
+\_\-\_\-u8 {\bf get\-Channel} (struct {\bf vd\-In} $\ast$vd)
+\item 
+void {\bf set\-Channel} (struct {\bf vd\-In} $\ast$vd, \_\-\_\-u8 channel)
+\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Grab form camere, transfer to the MPEG and transmitt to the LAN. 
+
+This application handle USB camere.
+
+\begin{Desc}
+\item[Note:]Note.\end{Desc}
+\begin{Desc}
+\item[Author:](last to touch it) \begin{Desc}
+\item[Author]zial (Ales Zikmund)\end{Desc}
+\end{Desc}
+\begin{Desc}
+\item[Version:]\begin{Desc}
+\item[Revision]1.0 \end{Desc}
+\end{Desc}
+\begin{Desc}
+\item[Date:]\begin{Desc}
+\item[Date]2008/12/12 5:45:20 \end{Desc}
+\end{Desc}
+Contact: {\tt zikmua1@fel.cvut.cz}
+
+Created on: Wed Dec 13 18:39:37 2008 
+
+\subsection{Function Documentation}
+\index{common@{common}!changeSize@{changeSize}}
+\index{changeSize@{changeSize}!common@{common}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int change\-Size (struct {\bf vd\-In} $\ast$ {\em vd})}\label{group__common_gc42ddb12fdb3b8855b07988e18d09432}
+
+
+Fuction change size of image array video device.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em vd}]Video device pointer \end{description}
+\end{Desc}
+
+
+Definition at line 368 of file camv4l.c.
+
+References vd\-In::bpp\-In, vd\-In::fd, vd\-In::format\-In, vd\-In::framesize\-In, Get\-Depth(), Get\-Video\-Pict(), vd\-In::grab\-Method, vd\-In::hdrheight, vd\-In::hdrwidth, vd\-In::pix\-Tmp, vd\-In::videopict, vd\-In::videowin, and vd\-In::vmmap.\index{common@{common}!close_v4l@{close\_\-v4l}}
+\index{close_v4l@{close\_\-v4l}!common@{common}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int close\_\-v4l (struct {\bf vd\-In} $\ast$ {\em vd})}\label{group__common_ga7b6cf1c3b04b4758f8c256879c96672}
+
+
+Fuction close v4l device.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em vd}]Video device pointer \end{description}
+\end{Desc}
+
+
+Definition at line 137 of file camv4l.c.
+
+References vd\-In::fd, vd\-In::grab\-Method, vd\-In::mmapsize, vd\-In::p\-Framebuffer, and vd\-In::pix\-Tmp.
+
+Referenced by main().\index{common@{common}!getBrightness@{getBrightness}}
+\index{getBrightness@{getBrightness}!common@{common}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\_\-\_\-u8 get\-Brightness (struct {\bf vd\-In} $\ast$ {\em vd})}\label{group__common_ga35212f7c527f755fd38ed31f6567876}
+
+
+Fuction get brightness from the camera.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em vd}]Video device pointer \end{description}
+\end{Desc}
+
+
+Definition at line 465 of file camv4l.c.
+
+References Get\-Video\-Pict().\index{common@{common}!getChannel@{getChannel}}
+\index{getChannel@{getChannel}!common@{common}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\_\-\_\-u8 get\-Channel (struct {\bf vd\-In} $\ast$ {\em vd})}\label{group__common_g0f30a35aefb43f696c8700e8ee086158}
+
+
+Fuction get channel from the camera.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em vd}]Video device pointer \end{description}
+\end{Desc}
+\index{common@{common}!getColors@{getColors}}
+\index{getColors@{getColors}!common@{common}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\_\-\_\-u8 get\-Colors (struct {\bf vd\-In} $\ast$ {\em vd})}\label{group__common_g099243def65c4c72efa563e1c3a95f6a}
+
+
+Fuction get colors from the camera.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em vd}]Video device pointer \end{description}
+\end{Desc}
+
+
+Definition at line 503 of file camv4l.c.
+
+References Get\-Video\-Pict().\index{common@{common}!getContrast@{getContrast}}
+\index{getContrast@{getContrast}!common@{common}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\_\-\_\-u8 get\-Contrast (struct {\bf vd\-In} $\ast$ {\em vd})}\label{group__common_g27a2a2aa5b19632b19ebc8c0652b097e}
+
+
+Fuction get contrast from the camera.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em vd}]Video device pointer \end{description}
+\end{Desc}
+
+
+Definition at line 485 of file camv4l.c.
+
+References Get\-Video\-Pict().\index{common@{common}!getNorme@{getNorme}}
+\index{getNorme@{getNorme}!common@{common}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\_\-\_\-u8 get\-Norme (struct {\bf vd\-In} $\ast$ {\em vd})}\label{group__common_g31aba12be45387bd98ccf111606f15e6}
+
+
+Fuction get norme from the camera.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em vd}]Video device pointer \end{description}
+\end{Desc}
+\index{common@{common}!grab@{grab}}
+\index{grab@{grab}!common@{common}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int grab (struct {\bf vd\-In} $\ast$ {\em vd})}\label{group__common_g2b042146ea433ba800a754e3d056a86d}
+
+
+Fuction for initialization v4l device.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em vd}]Video device pointer \end{description}
+\end{Desc}
+
+
+Definition at line 212 of file camv4l.c.
+
+References vd\-In::fd, flip\-UV(), vd\-In::flip\-UV, vd\-In::format\-In, vd\-In::framesize\-In, vd\-In::grab\-Method, vd\-In::hdrheight, vd\-In::hdrwidth, vd\-In::p\-Framebuffer, vd\-In::pix\-Tmp, size, vd\-In::videombuf, and vd\-In::vmmap.
+
+Referenced by processvideo().\index{common@{common}!init_v4l@{init\_\-v4l}}
+\index{init_v4l@{init\_\-v4l}!common@{common}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int init\_\-v4l (struct {\bf vd\-In} $\ast$ {\em vd})}\label{group__common_gdc0c206abad8d7210c57022190f93dc4}
+
+
+Fuction for initialization v4l device.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em vd}]Video device pointer \end{description}
+\end{Desc}
+
+
+Definition at line 31 of file camv4l.c.
+
+References vd\-In::bpp\-In, vd\-In::bridge, vd\-In::cameraname, vd\-In::cameratype, f, vd\-In::fd, vd\-In::flip\-UV, vd\-In::format\-In, vd\-In::framesize\-In, Get\-Video\-Pict(), vd\-In::grab\-Method, vd\-In::hdrheight, vd\-In::hdrwidth, vd\-In::mmapsize, vd\-In::p\-Framebuffer, probe\-Palette(), probe\-Size(), UNKNOW, vd\-In::videocap, vd\-In::videochan, vd\-In::videodevice, vd\-In::videombuf, vd\-In::videopict, and vd\-In::vmmap.
+
+Referenced by main().\index{common@{common}!setBrightness@{setBrightness}}
+\index{setBrightness@{setBrightness}!common@{common}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void set\-Brightness (struct {\bf vd\-In} $\ast$ {\em vd}, \_\-\_\-u8 {\em bright})}\label{group__common_ge1d8001afa8f1cbe9ff187e53e9089bb}
+
+
+Fuction set brightness to the camera.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em vd}]Video device pointer \item[{\em bright}]New brightness value \end{description}
+\end{Desc}
+
+
+Definition at line 475 of file camv4l.c.
+
+References Set\-Video\-Pict(), and vd\-In::videopict.\index{common@{common}!setChannel@{setChannel}}
+\index{setChannel@{setChannel}!common@{common}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void set\-Channel (struct {\bf vd\-In} $\ast$ {\em vd}, \_\-\_\-u8 {\em channel})}\label{group__common_g934ec7ef103b0ad6b7f319b289c13094}
+
+
+Fuction set channels to the camera.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em vd}]Video device pointer \item[{\em channel}]New channel value \end{description}
+\end{Desc}
+\index{common@{common}!setColors@{setColors}}
+\index{setColors@{setColors}!common@{common}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void set\-Colors (struct {\bf vd\-In} $\ast$ {\em vd}, \_\-\_\-u8 {\em colors})}\label{group__common_g20703b2ca537132fde1e0a9fccbfd6c5}
+
+
+Fuction set colors to the camera.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em vd}]Video device pointer \item[{\em colors}]New colors value \end{description}
+\end{Desc}
+
+
+Definition at line 513 of file camv4l.c.
+
+References Set\-Video\-Pict(), and vd\-In::videopict.\index{common@{common}!setContrast@{setContrast}}
+\index{setContrast@{setContrast}!common@{common}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void set\-Contrast (struct {\bf vd\-In} $\ast$ {\em vd}, \_\-\_\-u8 {\em contrast})}\label{group__common_g3386f2919710868906af5025aa220f64}
+
+
+Fuction set contrast to the camera.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em vd}]Video device pointer \item[{\em contrast}]New contrast value \end{description}
+\end{Desc}
+
+
+Definition at line 495 of file camv4l.c.
+
+References Set\-Video\-Pict(), and vd\-In::videopict.\index{common@{common}!setNorme@{setNorme}}
+\index{setNorme@{setNorme}!common@{common}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void set\-Norme (struct {\bf vd\-In} $\ast$ {\em vd}, \_\-\_\-u8 {\em norme})}\label{group__common_ga723eaba9e11996dc99e8dace7b87aa5}
+
+
+Fuction set norme to the camera.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em vd}]Video device pointer \item[{\em norme}]New norme value \end{description}
+\end{Desc}
+\index{common@{common}!setPalette@{setPalette}}
+\index{setPalette@{setPalette}!common@{common}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int set\-Palette (struct {\bf vd\-In} $\ast$ {\em vd})}\label{group__common_g4f1b347f61daa1e55c12a2a3ebb22ee3}
+
+
+Fuction sets color pallete video device.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em vd}]Video device pointer \end{description}
+\end{Desc}
+
+
+Definition at line 260 of file camv4l.c.
+
+References vd\-In::bpp\-In, vd\-In::format\-In, vd\-In::framesize\-In, Get\-Depth(), vd\-In::hdrheight, vd\-In::hdrwidth, vd\-In::pix\-Tmp, Set\-Video\-Pict(), and vd\-In::videopict.
+
+Referenced by processvideo().
\ No newline at end of file
diff --git a/doc/latex/modules.tex b/doc/latex/modules.tex
new file mode 100644 (file)
index 0000000..b8aa623
--- /dev/null
@@ -0,0 +1,4 @@
+\section{Camera grab convert to MPEG Modules}
+Here is a list of all modules:\begin{CompactList}
+\item \contentsline{section}{Common}{\pageref{group__common}}{}
+\end{CompactList}
diff --git a/doc/latex/refman.tex b/doc/latex/refman.tex
new file mode 100644 (file)
index 0000000..13aebc6
--- /dev/null
@@ -0,0 +1,46 @@
+\documentclass[a4paper]{book}
+\usepackage{a4wide}
+\usepackage{makeidx}
+\usepackage{fancyhdr}
+\usepackage{graphicx}
+\usepackage{multicol}
+\usepackage{float}
+\usepackage{textcomp}
+\usepackage{alltt}
+\usepackage{times}
+\usepackage{doxygen}
+\makeindex
+\setcounter{tocdepth}{1}
+\renewcommand{\footrulewidth}{0.4pt}
+\begin{document}
+\begin{titlepage}
+\vspace*{7cm}
+\begin{center}
+{\Large Camera grab convert to MPEG Reference Manual\\[1ex]\large 1.0 }\\
+\vspace*{1cm}
+{\large Generated by Doxygen 1.5.1}\\
+\vspace*{0.5cm}
+{\small Mon Jan 26 20:51:50 2009}\\
+\end{center}
+\end{titlepage}
+\clearemptydoublepage
+\pagenumbering{roman}
+\tableofcontents
+\clearemptydoublepage
+\pagenumbering{arabic}
+\chapter{Camera grab convert to MPEG Module Index}
+\input{modules}
+\chapter{Camera grab convert to MPEG Data Structure Index}
+\input{annotated}
+\chapter{Camera grab convert to MPEG File Index}
+\input{files}
+\chapter{Camera grab convert to MPEG Module Documentation}
+\input{group__common}
+\chapter{Camera grab convert to MPEG Data Structure Documentation}
+\input{structvdIn}
+\chapter{Camera grab convert to MPEG File Documentation}
+\input{camv4l_8c}
+\include{camv4l_8h}
+\include{grab__mpeg_8c}
+\printindex
+\end{document}
diff --git a/doc/latex/structvdIn.tex b/doc/latex/structvdIn.tex
new file mode 100644 (file)
index 0000000..cced9db
--- /dev/null
@@ -0,0 +1,322 @@
+\section{vd\-In Struct Reference}
+\label{structvdIn}\index{vdIn@{vdIn}}
+{\tt \#include $<$camv4l.h$>$}
+
+\subsection*{Data Fields}
+\begin{CompactItemize}
+\item 
+int {\bf fd}
+\item 
+char $\ast$ {\bf videodevice}
+\item 
+video\_\-mmap {\bf vmmap}
+\item 
+video\_\-capability {\bf videocap}
+\item 
+int {\bf mmapsize}
+\item 
+video\_\-mbuf {\bf videombuf}
+\item 
+video\_\-picture {\bf videopict}
+\item 
+video\_\-window {\bf videowin}
+\item 
+video\_\-channel {\bf videochan}
+\item 
+unsigned int {\bf format}
+\item 
+int {\bf cameratype}
+\item 
+char $\ast$ {\bf cameraname}
+\item 
+char $\ast$ {\bf bridge}
+\item 
+int {\bf sizenative}
+\item 
+int {\bf sizeothers}
+\item 
+int {\bf palette}
+\item 
+int {\bf norme}
+\item 
+int {\bf channel}
+\item 
+int {\bf grab\-Method}
+\item 
+unsigned char $\ast$ {\bf p\-Framebuffer}
+\begin{CompactList}\small\item\em $>$ Grab Methode 1=mmap 0=read \item\end{CompactList}\item 
+unsigned char $\ast$ {\bf pix\-Tmp}
+\item 
+int {\bf framesize\-In}
+\item 
+int {\bf frame\_\-cour}
+\item 
+int {\bf bpp\-In}
+\item 
+int {\bf hdrwidth}
+\item 
+int {\bf hdrheight}
+\item 
+int {\bf format\-In}
+\item 
+int {\bf flip\-UV}
+\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Struct represents input capture device 
+
+
+
+Definition at line 54 of file camv4l.h.
+
+\subsection{Field Documentation}
+\index{vdIn@{vd\-In}!fd@{fd}}
+\index{fd@{fd}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf vd\-In::fd}}\label{structvdIn_1fa060f09cd0b1a126c5cfe7f8755aa0}
+
+
+
+
+Definition at line 55 of file camv4l.h.
+
+Referenced by change\-Size(), close\_\-v4l(), Get\-Video\-Pict(), grab(), init\_\-v4l(), probe\-Palette(), probe\-Size(), and Set\-Video\-Pict().\index{vdIn@{vd\-In}!videodevice@{videodevice}}
+\index{videodevice@{videodevice}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ {\bf vd\-In::videodevice}}\label{structvdIn_a5bc365f449fae0bacc9ef7e813dfcdd}
+
+
+
+
+Definition at line 56 of file camv4l.h.
+
+Referenced by init\_\-v4l(), and main().\index{vdIn@{vd\-In}!vmmap@{vmmap}}
+\index{vmmap@{vmmap}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct video\_\-mmap {\bf vd\-In::vmmap}}\label{structvdIn_c9dc3dcb02f1472c47022ccc9f7a642a}
+
+
+
+
+Definition at line 58 of file camv4l.h.
+
+Referenced by change\-Size(), grab(), and init\_\-v4l().\index{vdIn@{vd\-In}!videocap@{videocap}}
+\index{videocap@{videocap}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct video\_\-capability {\bf vd\-In::videocap}}\label{structvdIn_6ff6c76abc3558e5065c29f7a4e22e62}
+
+
+
+
+Definition at line 59 of file camv4l.h.
+
+Referenced by init\_\-v4l(), and probe\-Size().\index{vdIn@{vd\-In}!mmapsize@{mmapsize}}
+\index{mmapsize@{mmapsize}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf vd\-In::mmapsize}}\label{structvdIn_b3e9cc01144f94caa3b30bde3ec7a353}
+
+
+
+
+Definition at line 60 of file camv4l.h.
+
+Referenced by close\_\-v4l(), and init\_\-v4l().\index{vdIn@{vd\-In}!videombuf@{videombuf}}
+\index{videombuf@{videombuf}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct video\_\-mbuf {\bf vd\-In::videombuf}}\label{structvdIn_f87db67e1e35c6699921cb9fa9712e95}
+
+
+
+
+Definition at line 61 of file camv4l.h.
+
+Referenced by grab(), and init\_\-v4l().\index{vdIn@{vd\-In}!videopict@{videopict}}
+\index{videopict@{videopict}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct video\_\-picture {\bf vd\-In::videopict}}\label{structvdIn_8f8297f0c56d57dcb8fe6dc70c80b357}
+
+
+
+
+Definition at line 62 of file camv4l.h.
+
+Referenced by change\-Size(), Get\-Video\-Pict(), init\_\-v4l(), set\-Brightness(), set\-Colors(), set\-Contrast(), set\-Palette(), and Set\-Video\-Pict().\index{vdIn@{vd\-In}!videowin@{videowin}}
+\index{videowin@{videowin}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct video\_\-window {\bf vd\-In::videowin}}\label{structvdIn_0e7511ef2c4e487b09c0cf0786cde912}
+
+
+
+
+Definition at line 63 of file camv4l.h.
+
+Referenced by change\-Size().\index{vdIn@{vd\-In}!videochan@{videochan}}
+\index{videochan@{videochan}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct video\_\-channel {\bf vd\-In::videochan}}\label{structvdIn_962c1ced095a997ba8715b281cf53e9e}
+
+
+
+
+Definition at line 64 of file camv4l.h.
+
+Referenced by init\_\-v4l().\index{vdIn@{vd\-In}!format@{format}}
+\index{format@{format}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf vd\-In::format}}\label{structvdIn_2aa4853006d92f1445ad83a91159693f}
+
+
+
+
+Definition at line 66 of file camv4l.h.\index{vdIn@{vd\-In}!cameratype@{cameratype}}
+\index{cameratype@{cameratype}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf vd\-In::cameratype}}\label{structvdIn_eabdb3eeaf3a80b396cf19fec19d9294}
+
+
+
+
+Definition at line 67 of file camv4l.h.
+
+Referenced by init\_\-v4l().\index{vdIn@{vd\-In}!cameraname@{cameraname}}
+\index{cameraname@{cameraname}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ {\bf vd\-In::cameraname}}\label{structvdIn_676d43607601940f318ee3b274e4716b}
+
+
+
+
+Definition at line 68 of file camv4l.h.
+
+Referenced by init\_\-v4l(), and main().\index{vdIn@{vd\-In}!bridge@{bridge}}
+\index{bridge@{bridge}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ {\bf vd\-In::bridge}}\label{structvdIn_4dcb789ec776b466e9e0ee388686e3b6}
+
+
+
+
+Definition at line 69 of file camv4l.h.
+
+Referenced by init\_\-v4l(), and main().\index{vdIn@{vd\-In}!sizenative@{sizenative}}
+\index{sizenative@{sizenative}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf vd\-In::sizenative}}\label{structvdIn_ce0f632ba9e72c3801f77f04f5a5376b}
+
+
+
+
+Definition at line 70 of file camv4l.h.\index{vdIn@{vd\-In}!sizeothers@{sizeothers}}
+\index{sizeothers@{sizeothers}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf vd\-In::sizeothers}}\label{structvdIn_c9e3e139d21e29564e594b3375bc14bf}
+
+
+
+
+Definition at line 71 of file camv4l.h.
+
+Referenced by probe\-Size().\index{vdIn@{vd\-In}!palette@{palette}}
+\index{palette@{palette}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf vd\-In::palette}}\label{structvdIn_c14641e9e17d20d732e717f3d2d4abe6}
+
+
+
+
+Definition at line 72 of file camv4l.h.
+
+Referenced by probe\-Palette().\index{vdIn@{vd\-In}!norme@{norme}}
+\index{norme@{norme}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf vd\-In::norme}}\label{structvdIn_92643e1a47d62b760a57fa2746d9e148}
+
+
+
+
+Definition at line 73 of file camv4l.h.\index{vdIn@{vd\-In}!channel@{channel}}
+\index{channel@{channel}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf vd\-In::channel}}\label{structvdIn_a5d5047850f329a3bf4be872615552ad}
+
+
+
+
+Definition at line 74 of file camv4l.h.\index{vdIn@{vd\-In}!grabMethod@{grabMethod}}
+\index{grabMethod@{grabMethod}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf vd\-In::grab\-Method}}\label{structvdIn_faaf5caccac448b15a6f350cd02756b3}
+
+
+
+
+Definition at line 75 of file camv4l.h.
+
+Referenced by change\-Size(), close\_\-v4l(), grab(), init\_\-v4l(), and main().\index{vdIn@{vd\-In}!pFramebuffer@{pFramebuffer}}
+\index{pFramebuffer@{pFramebuffer}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}unsigned char$\ast$ {\bf vd\-In::p\-Framebuffer}}\label{structvdIn_d25392b0e37b39942b75f36ef87b6de7}
+
+
+$>$ Grab Methode 1=mmap 0=read 
+
+
+
+Definition at line 76 of file camv4l.h.
+
+Referenced by close\_\-v4l(), grab(), and init\_\-v4l().\index{vdIn@{vd\-In}!pixTmp@{pixTmp}}
+\index{pixTmp@{pixTmp}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}unsigned char$\ast$ {\bf vd\-In::pix\-Tmp}}\label{structvdIn_ab1c2508d67a5ad1ec88bf69b0a41fb7}
+
+
+
+
+Definition at line 77 of file camv4l.h.
+
+Referenced by change\-Size(), close\_\-v4l(), grab(), main(), and set\-Palette().\index{vdIn@{vd\-In}!framesizeIn@{framesizeIn}}
+\index{framesizeIn@{framesizeIn}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf vd\-In::framesize\-In}}\label{structvdIn_cc3732f98af3fe5088007d0b7b08cdca}
+
+
+
+
+Definition at line 78 of file camv4l.h.
+
+Referenced by change\-Size(), grab(), init\_\-v4l(), and set\-Palette().\index{vdIn@{vd\-In}!frame_cour@{frame\_\-cour}}
+\index{frame_cour@{frame\_\-cour}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf vd\-In::frame\_\-cour}}\label{structvdIn_6418a49afd84cd22a8318fa4768a6713}
+
+
+
+
+Definition at line 79 of file camv4l.h.\index{vdIn@{vd\-In}!bppIn@{bppIn}}
+\index{bppIn@{bppIn}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf vd\-In::bpp\-In}}\label{structvdIn_d8c35d451233262ff9a8f8e65be8b340}
+
+
+
+
+Definition at line 80 of file camv4l.h.
+
+Referenced by change\-Size(), init\_\-v4l(), probe\-Palette(), and set\-Palette().\index{vdIn@{vd\-In}!hdrwidth@{hdrwidth}}
+\index{hdrwidth@{hdrwidth}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf vd\-In::hdrwidth}}\label{structvdIn_21a92e9c30017da96ee881bef3469f18}
+
+
+
+
+Definition at line 81 of file camv4l.h.
+
+Referenced by change\-Size(), grab(), init\_\-v4l(), probe\-Size(), processvideo(), and set\-Palette().\index{vdIn@{vd\-In}!hdrheight@{hdrheight}}
+\index{hdrheight@{hdrheight}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf vd\-In::hdrheight}}\label{structvdIn_2de78c4cff91808eb64ccab86e8d56b9}
+
+
+
+
+Definition at line 82 of file camv4l.h.
+
+Referenced by change\-Size(), grab(), init\_\-v4l(), probe\-Size(), processvideo(), and set\-Palette().\index{vdIn@{vd\-In}!formatIn@{formatIn}}
+\index{formatIn@{formatIn}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf vd\-In::format\-In}}\label{structvdIn_da1a8b7c0f40c9d997f8e8fddd4bc27d}
+
+
+
+
+Definition at line 83 of file camv4l.h.
+
+Referenced by change\-Size(), grab(), init\_\-v4l(), probe\-Palette(), processvideo(), and set\-Palette().\index{vdIn@{vd\-In}!flipUV@{flipUV}}
+\index{flipUV@{flipUV}!vdIn@{vd\-In}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf vd\-In::flip\-UV}}\label{structvdIn_3f2e15b67a340cc20fd9d8503afa574b}
+
+
+
+
+Definition at line 84 of file camv4l.h.
+
+Referenced by grab(), and init\_\-v4l().
+
+The documentation for this struct was generated from the following file:\begin{CompactItemize}
+\item 
+{\bf camv4l.h}\end{CompactItemize}
diff --git a/grab_mpeg.c b/grab_mpeg.c
new file mode 100644 (file)
index 0000000..92cf180
--- /dev/null
@@ -0,0 +1,283 @@
+/**
+ * \defgroup common
+ *  
+ * \brief Grab form camere, transfer to the MPEG and transmitt to the LAN
+ *
+ * This application handle USB camere.
+ *
+ * \note Note.
+ *
+ * \author (last to touch it) $Author: zial (Ales Zikmund)$
+ *
+ * \version $Revision: 1.0 $
+ *
+ * \date $Date: 2008/12/12 5:45:20 $
+ *
+ * Contact: zikmua1@fel.cvut.cz
+ *
+ * Created on: Wed Dec 13 18:39:37 2008
+ *
+ */
+
+/**
+ *  \file  grab_mpeg.c
+ *
+ *  \brief This is the main file where  application run.
+ * 
+ */
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "camv4l.h"
+#include <ffmpeg/avcodec.h>
+
+
+///Codec
+AVCodec *codec;
+
+///Contex of codec
+AVCodecContext *c;
+
+int i;
+int out_size;
+int size;
+
+///File name
+FILE *f;
+
+///Frame of picture
+AVFrame *picture;
+
+///Output mpeg frame
+uint8_t *outbuf;
+//Size of output 
+int outbuf_size;
+
+///Max count of frame
+int max_frame;
+
+///V4L device
+struct vdIn myvidIn;
+
+/**
+ *  Function make frame from videodevice and send to.
+ */
+void processvideo ();
+
+/**
+ * Alloc and set codec
+ */
+void video_encode_alloc(const char *filename,uint8_t* in_buffer);
+
+/**
+ * Encode global buffer from picture .
+ */
+void video_encode_mpeg();
+
+/**
+ * Free memory
+ */
+void video_encode_free();
+
+
+/**
+ *  The main function
+ *      \param count   Count of byte
+ *      \param strings String after run sequnce of aplicationss
+ *      \return 1 if all good
+ */
+int main(int argc, char *argv[])
+{      
+       c= NULL;
+       int retval;
+
+       const char *videodev ="/dev/video0";
+       const char *filename = "pokus.mpg";
+
+       max_frame=300;
+
+
+       for (i = 1; i < argc; i++){
+      /* skip bad arguments */
+      if (argv[i] == NULL || *argv[i] == 0 || *argv[i] != '-'){
+                 continue;
+               }
+      if (strcmp (argv[i], "-f") == 0){
+                       if (i + 1 >= argc){
+                               printf ("No parameter specified with -f, aborting.\n");
+               exit (1);
+               }
+                       max_frame = atoi(argv[i + 1]);
+               }
+               if (strcmp (argv[i], "-d") == 0){
+                       if (i + 1 >= argc){
+                               printf ("No parameter specified with -d, aborting.\n");
+               exit (1);
+               }
+                       videodev = strdup (argv[i + 1]);
+               }
+       if (strcmp (argv[i], "-h") == 0) {
+                       printf ("usage: grab_mpeg [-h -f] \n");
+                       printf ("-h     print this help \n");
+                       printf ("-d     /dev/videoX       use videoX device\n");
+                       printf ("-f     count of frame \n");
+                       exit (0);
+               }
+       }
+
+       printf("Video device %s frames %d\n",videodev,max_frame);
+       
+       int grabmethod = 1; //or 0
+
+       printf("Open %s\n",videodev);
+
+       /* make room for init data */
+       myvidIn.videodevice = NULL;
+       myvidIn.cameraname = NULL;
+       myvidIn.bridge = NULL;
+       myvidIn.videodevice = (char *) realloc (myvidIn.videodevice, 16);
+       myvidIn.cameraname = (char *) realloc (myvidIn.cameraname, 32);
+       myvidIn.bridge = (char *) realloc (myvidIn.bridge, 9);
+       myvidIn.grabMethod = grabmethod;        // 1 mmap 0 read
+       snprintf (myvidIn.videodevice, 12, "%s", videodev);
+       printf ("video device %s\n", myvidIn.videodevice);
+       retval=init_v4l (&myvidIn);
+       printf("Device was been initialized %d \n",retval);
+
+       video_encode_alloc(filename,myvidIn.pixTmp);
+       
+       processvideo();
+       
+       video_encode_free();
+
+       free (myvidIn.videodevice);
+       free (myvidIn.cameraname);
+       free (myvidIn.bridge);
+       close_v4l (&myvidIn);
+
+       printf("Close \n");
+
+       return 1;
+}
+
+
+
+void processvideo () 
+{
+       int run = 1;
+       int cnt=0;
+
+       //set size of video
+       myvidIn.hdrwidth = 384;
+       myvidIn.hdrheight = 288;
+       myvidIn.formatIn = VIDEO_PALETTE_YUV420P;
+       /* input data maybe a jpeg one */
+       setPalette (&myvidIn);
+
+       while (run){    
+               grab (&myvidIn);
+
+               if(cnt>2)
+                       video_encode_mpeg();
+
+               //sleep(1);
+      cnt++;
+               if(cnt==max_frame){run=0;}
+               printf("Frame %d\n",cnt);
+       }
+}
+
+void video_encode_alloc(const char *filename,uint8_t* in_buffer){
+       
+       /* must be called before using avcodec lib */
+   avcodec_init();
+   /* register all the codecs */
+       avcodec_register_all();
+
+       //printf("Video encoding\n");
+       /* find the mpeg1 video encoder */
+       codec = avcodec_find_encoder(CODEC_ID_MPEG1VIDEO);
+       if (!codec) {
+               fprintf(stderr, "codec not found\n");
+               exit(1);
+       }
+
+       c= avcodec_alloc_context();
+       picture= avcodec_alloc_frame();
+       /* put sample parameters */
+       c->bit_rate = 1000000;
+       /* resolution must be a multiple of two */
+       c->width = 384;
+       c->height = 288;
+       /* frames per second */
+       c->time_base= (AVRational){1,60};
+       c->gop_size = 10; /* emit one intra frame every ten frames */
+       c->max_b_frames=1;
+       c->pix_fmt = PIX_FMT_YUV420P;
+       /* open codec */
+       if (avcodec_open(c, codec) < 0) {
+               fprintf(stderr, "could not open codec\n");
+               exit(1);
+       }
+
+       f = fopen(filename, "wb");
+       if (!f) {
+               fprintf(stderr, "could not open %s\n", filename);
+               exit(1);
+       }
+
+       /* alloc image and output buffer */
+       //buffer pro zakodovany obrazek mpegem
+       outbuf_size = 100000;
+       outbuf = malloc(outbuf_size);
+
+       size = c->width * c->height;
+
+       picture->data[0] = in_buffer;
+       picture->data[1] = picture->data[0] + size;
+       picture->data[2] = picture->data[1] + size / 4;
+       picture->linesize[0] = c->width;
+       picture->linesize[1] = c->width / 2;
+       picture->linesize[2] = c->width / 2;
+}
+
+void video_encode_mpeg(){
+       
+       /* encode the image */
+       out_size = avcodec_encode_video(c, outbuf, outbuf_size, picture);
+       //printf("encoding frame %3d (size=%5d)\n", i, out_size);
+       fwrite(outbuf, 1, out_size, f);
+}
+
+
+void video_encode_free(){
+
+       /* get the delayed frames */
+       for(; out_size; i++) {
+               fflush(stdout);
+               out_size = avcodec_encode_video(c, outbuf, outbuf_size, NULL);
+               printf("write frame %3d (size=%5d)\n", i, out_size);
+               fwrite(outbuf, 1, out_size, f);
+       }
+
+       /* add sequence end code to have a real mpeg file */
+       outbuf[0] = 0x00;
+       outbuf[1] = 0x00;
+       outbuf[2] = 0x01;
+       outbuf[3] = 0xb7;
+
+       fwrite(outbuf, 1, 4, f);
+
+       fclose(f);
+       //free(picture_buf);
+       free(outbuf);
+
+       avcodec_close(c);
+       av_free(c);
+       av_free(picture);
+       printf("\n");
+       printf("video codev was been freed\n");
+}