Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 1444 → Rev 1443

/demos/trunk/bttvdemo/bttv.c
47,8 → 47,6
 
//#define COLOR
 
#define FRAME_GRABBER_NUMBER 0
 
#define FG_PERIOD 40000
#define FG_WCET 30000
#define FG_W 320
75,26 → 73,24
task_nopreempt();
 
/* Init videodev driver */
VIDEODEV26_open(FRAME_GRABBER_NUMBER);
VIDEODEV26_open(0);
 
/* Select the input channel */
VIDEODEV26_ioctl(FRAME_GRABBER_NUMBER,VIDIOCGCHAN,(unsigned long)&chan);
VIDEODEV26_ioctl(0,VIDIOCGCHAN,(unsigned long)&chan);
 
chan.channel = (int)(arg);
chan.type = VIDEO_VC_TUNER;
chan.norm = VIDEO_TYPE_CAMERA;
VIDEODEV26_ioctl(FRAME_GRABBER_NUMBER,VIDIOCSCHAN,(unsigned long)&chan);
VIDEODEV26_ioctl(0,VIDIOCSCHAN,(unsigned long)&chan);
 
/* Enable the tuner */
VIDEODEV26_ioctl(FRAME_GRABBER_NUMBER,VIDIOCGTUNER,(unsigned long)&tuner);
VIDEODEV26_ioctl(0,VIDIOCGTUNER,(unsigned long)&tuner);
 
tuner.mode = VIDEO_MODE_PAL;
 
VIDEODEV26_ioctl(FRAME_GRABBER_NUMBER,VIDIOCSTUNER,(unsigned long)&tuner);
VIDEODEV26_ioctl(0,VIDIOCSTUNER,(unsigned long)&tuner);
 
/* Select palette and depth */
VIDEODEV26_ioctl(FRAME_GRABBER_NUMBER,VIDIOCGPICT,(unsigned long)&vpic);
VIDEODEV26_ioctl(0,VIDIOCGPICT,(unsigned long)&vpic);
#ifdef COLOR
vpic.palette = VIDEO_PALETTE_RGB24;
109,7 → 105,7
vpic.contrast = 32000;
vpic.colour = 32000;
VIDEODEV26_ioctl(FRAME_GRABBER_NUMBER,VIDIOCSPICT,(unsigned long)&vpic);
VIDEODEV26_ioctl(0,VIDIOCSPICT,(unsigned long)&vpic);
 
/* Double Buffering Strategy */
 
144,7 → 140,7
#endif
 
/* Set grabbing window */
VIDEODEV26_ioctl(FRAME_GRABBER_NUMBER,VIDIOCGWIN,(unsigned long)&win);
VIDEODEV26_ioctl(0,VIDIOCGWIN,(unsigned long)&win);
win.x = 0;
win.y = 0;
151,7 → 147,7
win.width = FG_W;
win.height = FG_H;
VIDEODEV26_ioctl(FRAME_GRABBER_NUMBER,VIDIOCSWIN,(unsigned long)&win);
VIDEODEV26_ioctl(0,VIDIOCSWIN,(unsigned long)&win);
 
task_preempt();
162,11 → 158,11
task_nopreempt();
 
VIDEODEV26_ioctl(FRAME_GRABBER_NUMBER,VIDIOCSFBUF,(unsigned long)&(fbuf[save]));
VIDEODEV26_ioctl(0,VIDIOCSFBUF,(unsigned long)&(fbuf[save]));
/* Start grabbing */
on = 1;
VIDEODEV26_ioctl(FRAME_GRABBER_NUMBER,VIDIOCCAPTURE,(unsigned long)&on);
VIDEODEV26_ioctl(0,VIDIOCCAPTURE,(unsigned long)&on);
task_preempt();
 
229,10 → 225,7
SOFT_TASK_MODEL st;
PID grab_task_pid;
 
if (argc < 2) {
sys_shutdown_message("ERROR: Enter the input channel [ex: %s 0]\n",argv[0]);
sys_end();
}
if (argc < 2) return -1;
 
soft_task_default_model(st);
soft_task_def_period(st,40000);
242,7 → 235,7
grab_task_pid = task_create("GrabTask",grab_task,&st,NULL);
if (grab_task_pid == NIL) {
sys_shutdown_message("ERROR: Cannot create grab task\n");
cprintf("ERROR: Cannot create grab task\n");
sys_end();
}