V4L/DVB (8194): gspca: Fix the format of the low resolution mode of spca561.
Hans de Goede [Thu, 3 Jul 2008 14:20:58 +0000 (11:20 -0300)]
The low (half) res modes of the spca561 are not spca561 compressed, but are
raw bayer, this patches fixes this and adds a PIX_FMT define for the GBRG
bayer format used by the spca561 in low res mode.

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

drivers/media/video/gspca/spca561.c
include/linux/videodev2.h

index a94e627..dbd1648 100644 (file)
@@ -98,8 +98,8 @@ static struct ctrl sd_ctrls[] = {
 };
 
 static struct cam_mode sif_mode[] = {
-       {V4L2_PIX_FMT_SPCA561, 160, 120, 3},
-       {V4L2_PIX_FMT_SPCA561, 176, 144, 2},
+       {V4L2_PIX_FMT_SGBRG8, 160, 120, 3},
+       {V4L2_PIX_FMT_SGBRG8, 176, 144, 2},
        {V4L2_PIX_FMT_SPCA561, 320, 240, 1},
        {V4L2_PIX_FMT_SPCA561, 352, 288, 0},
 };
@@ -808,7 +808,7 @@ static void sd_pkt_scan(struct gspca_dev *gspca_dev,
                        gspca_frame_add(gspca_dev, FIRST_PACKET,
                                        frame, data, len);
                } else {
-                       /*fixme: which format?*/
+                       /* raw bayer (with a header, which we skip) */
                        data += 20;
                        len -= 20;
                        gspca_frame_add(gspca_dev, FIRST_PACKET,
index 43a6c81..577f156 100644 (file)
@@ -310,6 +310,7 @@ struct v4l2_pix_format
 
 /* see http://www.siliconimaging.com/RGB%20Bayer.htm */
 #define V4L2_PIX_FMT_SBGGR8  v4l2_fourcc('B','A','8','1') /*  8  BGBG.. GRGR.. */
+#define V4L2_PIX_FMT_SGBRG8  v4l2_fourcc('G','B','R','G') /*  8  GBGB.. RGRG.. */
 #define V4L2_PIX_FMT_SBGGR16 v4l2_fourcc('B','Y','R','2') /* 16  BGBG.. GRGR.. */
 
 /* compressed formats */