summaryrefslogtreecommitdiffstats
path: root/drivers/media/video/gspca/gspca.c
diff options
context:
space:
mode:
authorHans de Goede <j.w.r.degoede@hhs.nl>2008-07-04 18:29:32 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-07-20 07:17:02 -0300
commitab8f12cf8e3d33adec382585f9f60f8686a372c3 (patch)
tree5e788581199b1a8ddeaba222d958a8a77ba84a02 /drivers/media/video/gspca/gspca.c
parent24c530b4abb979f9e79298f0b4c4e83781a0e4c3 (diff)
V4L/DVB (8197): gspca: pac207 frames no more decoded in the subdriver.
videodev2: New pixfmt pac207: Remove the specific decoding. main: get_buff_size operation added for the subdriver. 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>
Diffstat (limited to 'drivers/media/video/gspca/gspca.c')
-rw-r--r--drivers/media/video/gspca/gspca.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/media/video/gspca/gspca.c b/drivers/media/video/gspca/gspca.c
index f6d216316b1..708270a46e1 100644
--- a/drivers/media/video/gspca/gspca.c
+++ b/drivers/media/video/gspca/gspca.c
@@ -321,6 +321,7 @@ static int gspca_is_compressed(__u32 format)
case V4L2_PIX_FMT_MJPEG:
case V4L2_PIX_FMT_JPEG:
case V4L2_PIX_FMT_SPCA561:
+ case V4L2_PIX_FMT_PAC207:
return 1;
}
return 0;
@@ -380,7 +381,8 @@ static __u32 get_v4l2_depth(__u32 pixfmt)
case V4L2_PIX_FMT_JPEG:
case V4L2_PIX_FMT_SBGGR8: /* 'BA81' Bayer */
case V4L2_PIX_FMT_SN9C10X: /* 'S910' SN9C10x compression */
- case V4L2_PIX_FMT_SPCA561: /* 'S561' compressed BGGR bayer */
+ case V4L2_PIX_FMT_SPCA561: /* 'S561' compressed GBRG bayer */
+ case V4L2_PIX_FMT_PAC207: /* 'P207' compressed BGGR bayer */
return 8;
}
PDEBUG(D_ERR|D_CONF, "Unknown pixel format %c%c%c%c",
@@ -395,6 +397,9 @@ static int gspca_get_buff_size(struct gspca_dev *gspca_dev, int mode)
{
unsigned int size;
+ if (gspca_dev->sd_desc->get_buff_size)
+ return gspca_dev->sd_desc->get_buff_size(gspca_dev, mode);
+
size = gspca_dev->cam.cam_mode[mode].width *
gspca_dev->cam.cam_mode[mode].height *
get_v4l2_depth(gspca_dev->cam.cam_mode[mode].pixfmt) / 8;