Browse Source

V4L/DVB (9237): Add uyvy pixel format support to vivi

This patch simply adds UYVY pixel format support to the vivi driver.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Magnus Damm 16 years ago
parent
commit
fca36bab97
1 changed files with 20 additions and 0 deletions
  1. 20 0
      drivers/media/video/vivi.c

+ 20 - 0
drivers/media/video/vivi.c

@@ -134,6 +134,11 @@ static struct vivi_fmt formats[] = {
 		.fourcc   = V4L2_PIX_FMT_YUYV,
 		.depth    = 16,
 	},
+	{
+		.name     = "4:2:2, packed, UYVY",
+		.fourcc   = V4L2_PIX_FMT_UYVY,
+		.depth    = 16,
+	},
 };
 
 static struct vivi_fmt *get_format(struct v4l2_format *f)
@@ -282,6 +287,20 @@ static void gen_twopix(struct vivi_fh *fh, unsigned char *buf, int colorpos)
 				break;
 			}
 			break;
+		case V4L2_PIX_FMT_UYVY:
+			switch (color) {
+			case 1:
+			case 3:
+				*p = r_y;
+				break;
+			case 0:
+				*p = g_u;
+				break;
+			case 2:
+				*p = b_v;
+				break;
+			}
+			break;
 		}
 	}
 }
@@ -756,6 +775,7 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void *priv,
 
 		switch (fh->fmt->fourcc) {
 		case V4L2_PIX_FMT_YUYV:
+		case V4L2_PIX_FMT_UYVY:
 			is_yuv = 1;
 			break;
 		}