V4L/DVB: gspca - sn9c20x: Better image sizes
authorJean-François Moine <moinejf@free.fr>
Mon, 13 Sep 2010 08:26:35 +0000 (05:26 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Thu, 21 Oct 2010 03:05:54 +0000 (01:05 -0200)
When compressed, the images take less than one byte per pixel.

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/gspca/sn9c20x.c

index 4f8ad37ffa2579a6d0918fbbb793d3a1ffc324d4..53ed0f7e02193fe131797107159ea4d150d1572a 100644 (file)
@@ -348,7 +348,7 @@ static const struct ctrl sd_ctrls[] = {
 static const struct v4l2_pix_format vga_mode[] = {
        {160, 120, V4L2_PIX_FMT_JPEG, V4L2_FIELD_NONE,
                .bytesperline = 160,
-               .sizeimage = 240 * 120,
+               .sizeimage = 160 * 120 * 4 / 8 + 590,
                .colorspace = V4L2_COLORSPACE_JPEG,
                .priv = 0 | MODE_JPEG},
        {160, 120, V4L2_PIX_FMT_SBGGR8, V4L2_FIELD_NONE,
@@ -363,7 +363,7 @@ static const struct v4l2_pix_format vga_mode[] = {
                .priv = 0},
        {320, 240, V4L2_PIX_FMT_JPEG, V4L2_FIELD_NONE,
                .bytesperline = 320,
-               .sizeimage = 480 * 240 ,
+               .sizeimage = 320 * 240 * 3 / 8 + 590,
                .colorspace = V4L2_COLORSPACE_JPEG,
                .priv = 1 | MODE_JPEG},
        {320, 240, V4L2_PIX_FMT_SBGGR8, V4L2_FIELD_NONE,
@@ -378,7 +378,7 @@ static const struct v4l2_pix_format vga_mode[] = {
                .priv = 1},
        {640, 480, V4L2_PIX_FMT_JPEG, V4L2_FIELD_NONE,
                .bytesperline = 640,
-               .sizeimage = 960 * 480,
+               .sizeimage = 640 * 480 * 3 / 8 + 590,
                .colorspace = V4L2_COLORSPACE_JPEG,
                .priv = 2 | MODE_JPEG},
        {640, 480, V4L2_PIX_FMT_SBGGR8, V4L2_FIELD_NONE,
@@ -396,7 +396,7 @@ static const struct v4l2_pix_format vga_mode[] = {
 static const struct v4l2_pix_format sxga_mode[] = {
        {160, 120, V4L2_PIX_FMT_JPEG, V4L2_FIELD_NONE,
                .bytesperline = 160,
-               .sizeimage = 240 * 120,
+               .sizeimage = 160 * 120 * 4 / 8 + 590,
                .colorspace = V4L2_COLORSPACE_JPEG,
                .priv = 0 | MODE_JPEG},
        {160, 120, V4L2_PIX_FMT_SBGGR8, V4L2_FIELD_NONE,
@@ -411,7 +411,7 @@ static const struct v4l2_pix_format sxga_mode[] = {
                .priv = 0},
        {320, 240, V4L2_PIX_FMT_JPEG, V4L2_FIELD_NONE,
                .bytesperline = 320,
-               .sizeimage = 480 * 240 ,
+               .sizeimage = 320 * 240 * 3 / 8 + 590,
                .colorspace = V4L2_COLORSPACE_JPEG,
                .priv = 1 | MODE_JPEG},
        {320, 240, V4L2_PIX_FMT_SBGGR8, V4L2_FIELD_NONE,
@@ -426,7 +426,7 @@ static const struct v4l2_pix_format sxga_mode[] = {
                .priv = 1},
        {640, 480, V4L2_PIX_FMT_JPEG, V4L2_FIELD_NONE,
                .bytesperline = 640,
-               .sizeimage = 960 * 480,
+               .sizeimage = 640 * 480 * 3 / 8 + 590,
                .colorspace = V4L2_COLORSPACE_JPEG,
                .priv = 2 | MODE_JPEG},
        {640, 480, V4L2_PIX_FMT_SBGGR8, V4L2_FIELD_NONE,
@@ -441,7 +441,7 @@ static const struct v4l2_pix_format sxga_mode[] = {
                .priv = 2},
        {1280, 1024, V4L2_PIX_FMT_SBGGR8, V4L2_FIELD_NONE,
                .bytesperline = 1280,
-               .sizeimage = (1280 * 1024) + 64,
+               .sizeimage = 1280 * 1024,
                .colorspace = V4L2_COLORSPACE_SRGB,
                .priv = 3 | MODE_RAW | MODE_SXGA},
 };