[media] gspca_xirlink_cit: Frames have a 4 byte footer
authorHans de Goede <hdegoede@redhat.com>
Tue, 26 Oct 2010 20:21:33 +0000 (17:21 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 29 Dec 2010 10:16:31 +0000 (08:16 -0200)
At least on the ibm netcam pro frames have a 4 byte footer, take this
into account when calculating sizeimage.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/gspca/xirlink_cit.c

index daeda2c..157fbed 100644 (file)
@@ -185,60 +185,60 @@ static const struct ctrl sd_ctrls[] = {
 static const struct v4l2_pix_format cif_yuv_mode[] = {
        {176, 144, V4L2_PIX_FMT_CIT_YYVYUY, V4L2_FIELD_NONE,
                .bytesperline = 176,
-               .sizeimage = 176 * 144 * 3 / 2,
+               .sizeimage = 176 * 144 * 3 / 2 + 4,
                .colorspace = V4L2_COLORSPACE_SRGB},
        {352, 288, V4L2_PIX_FMT_CIT_YYVYUY, V4L2_FIELD_NONE,
                .bytesperline = 352,
-               .sizeimage = 352 * 288 * 3 / 2,
+               .sizeimage = 352 * 288 * 3 / 2 + 4,
                .colorspace = V4L2_COLORSPACE_SRGB},
 };
 
 static const struct v4l2_pix_format vga_yuv_mode[] = {
        {160, 120, V4L2_PIX_FMT_CIT_YYVYUY, V4L2_FIELD_NONE,
                .bytesperline = 160,
-               .sizeimage = 160 * 120 * 3 / 2,
+               .sizeimage = 160 * 120 * 3 / 2 + 4,
                .colorspace = V4L2_COLORSPACE_SRGB},
        {320, 240, V4L2_PIX_FMT_CIT_YYVYUY, V4L2_FIELD_NONE,
                .bytesperline = 320,
-               .sizeimage = 320 * 240 * 3 / 2,
+               .sizeimage = 320 * 240 * 3 / 2 + 4,
                .colorspace = V4L2_COLORSPACE_SRGB},
        {640, 480, V4L2_PIX_FMT_CIT_YYVYUY, V4L2_FIELD_NONE,
                .bytesperline = 640,
-               .sizeimage = 640 * 480 * 3 / 2,
+               .sizeimage = 640 * 480 * 3 / 2 + 4,
                .colorspace = V4L2_COLORSPACE_SRGB},
 };
 
 static const struct v4l2_pix_format model0_mode[] = {
        {160, 120, V4L2_PIX_FMT_CIT_YYVYUY, V4L2_FIELD_NONE,
                .bytesperline = 160,
-               .sizeimage = 160 * 120 * 3 / 2,
+               .sizeimage = 160 * 120 * 3 / 2 + 4,
                .colorspace = V4L2_COLORSPACE_SRGB},
        {176, 144, V4L2_PIX_FMT_CIT_YYVYUY, V4L2_FIELD_NONE,
                .bytesperline = 176,
-               .sizeimage = 176 * 144 * 3 / 2,
+               .sizeimage = 176 * 144 * 3 / 2 + 4,
                .colorspace = V4L2_COLORSPACE_SRGB},
        {320, 240, V4L2_PIX_FMT_CIT_YYVYUY, V4L2_FIELD_NONE,
                .bytesperline = 320,
-               .sizeimage = 320 * 240 * 3 / 2,
+               .sizeimage = 320 * 240 * 3 / 2 + 4,
                .colorspace = V4L2_COLORSPACE_SRGB},
 };
 
 static const struct v4l2_pix_format model2_mode[] = {
        {160, 120, V4L2_PIX_FMT_CIT_YYVYUY, V4L2_FIELD_NONE,
                .bytesperline = 160,
-               .sizeimage = 160 * 120 * 3 / 2,
+               .sizeimage = 160 * 120 * 3 / 2 + 4,
                .colorspace = V4L2_COLORSPACE_SRGB},
        {176, 144, V4L2_PIX_FMT_CIT_YYVYUY, V4L2_FIELD_NONE,
                .bytesperline = 176,
-               .sizeimage = 176 * 144 * 3 / 2,
+               .sizeimage = 176 * 144 * 3 / 2 + 4,
                .colorspace = V4L2_COLORSPACE_SRGB},
        {320, 240, V4L2_PIX_FMT_SGRBG8, V4L2_FIELD_NONE,
                .bytesperline = 320,
-               .sizeimage = 320 * 240,
+               .sizeimage = 320 * 240 + 4,
                .colorspace = V4L2_COLORSPACE_SRGB},
        {352, 288, V4L2_PIX_FMT_SGRBG8, V4L2_FIELD_NONE,
                .bytesperline = 352,
-               .sizeimage = 352 * 288,
+               .sizeimage = 352 * 288 + 4,
                .colorspace = V4L2_COLORSPACE_SRGB},
 };