summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/vivi.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2007-09-22 02:01:33 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-09-22 02:01:33 -0300
commit1210836fc78a6ffafa0c4c3ffb44f4c282cd2b1a (patch)
tree65e340c680af6c8ccfb48771a26195a2f72951dd /linux/drivers/media/video/vivi.c
parentbe5e587ff3d3bb0da3154d81c6d9b3fbada68f36 (diff)
downloadmediapointer-dvb-s2-1210836fc78a6ffafa0c4c3ffb44f4c282cd2b1a.tar.gz
mediapointer-dvb-s2-1210836fc78a6ffafa0c4c3ffb44f4c282cd2b1a.tar.bz2
Make the vertical lines to move
While this is not the standard color bar behaviour, having some movement there allows to check if buffers are being properly handled. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'linux/drivers/media/video/vivi.c')
-rw-r--r--linux/drivers/media/video/vivi.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/linux/drivers/media/video/vivi.c b/linux/drivers/media/video/vivi.c
index fe872e253..b199fb9bf 100644
--- a/linux/drivers/media/video/vivi.c
+++ b/linux/drivers/media/video/vivi.c
@@ -246,9 +246,8 @@ static u8 bars[8][3] = {
#define TSTAMP_MAX_Y TSTAMP_MIN_Y+15
#define TSTAMP_MIN_X 64
-
static void gen_line(char *basep,int inipos,int wmax,
- int hmax, int line, char *timestr)
+ int hmax, int line, int count, char *timestr)
{
int w,i,j,pos=inipos,y;
char *p,*s;
@@ -259,9 +258,10 @@ static void gen_line(char *basep,int inipos,int wmax,
/* Generate a standard color bar pattern */
for (w=0;w<wmax;w++) {
- r=bars[w*7/wmax][0];
- g=bars[w*7/wmax][1];
- b=bars[w*7/wmax][2];
+ int colorpos=((w+count)*8/(wmax+1)) % 8;
+ r=bars[colorpos][0];
+ g=bars[colorpos][1];
+ b=bars[colorpos][2];
for (color=0;color<4;color++) {
p=basep+pos;
@@ -356,18 +356,23 @@ static void vivi_fillbuff(struct vivi_dev *dev,struct vivi_buffer *buf)
struct timeval ts;
char *tmpbuf = kmalloc(wmax*2,GFP_KERNEL);
void *vbuf=videobuf_to_vmalloc (&buf->vb);
+ /* FIXME: move to dev struct */
+ static int mv_count=0;
if (!tmpbuf)
return;
for (h=0;h<hmax;h++) {
- gen_line(tmpbuf,0,wmax,hmax,h,dev->timestr);
+ gen_line(tmpbuf,0,wmax,hmax,h,mv_count,
+ dev->timestr);
/* FIXME: replacing to __copy_to_user */
if (copy_to_user(vbuf+pos,tmpbuf,wmax*2)!=0)
dprintk(2,"vivifill copy_to_user failed.\n");
pos += wmax*2;
}
+ mv_count++;
+
kfree(tmpbuf);
/* Updates stream time */