[media] V4L: soc-camera: add JPEG support
Kassey Li [Fri, 20 May 2011 07:08:39 +0000 (04:08 -0300)]
Signed-off-by: Qing Xu <qingx@marvell.com>
Signed-off-by: Kassey Lee <ygli@marvell.com>
[g.liakhovetski@gmx.de: fixed compiler warning]
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

drivers/media/video/soc_mediabus.c
include/media/soc_mediabus.h

index ed77aa0..13e86df 100644 (file)
@@ -130,6 +130,13 @@ static const struct soc_mbus_pixelfmt mbus_fmt[] = {
                .packing                = SOC_MBUS_PACKING_2X8_PADLO,
                .order                  = SOC_MBUS_ORDER_BE,
        },
+       [MBUS_IDX(JPEG_1X8)] = {
+               .fourcc                 = V4L2_PIX_FMT_JPEG,
+               .name                   = "JPEG",
+               .bits_per_sample        = 8,
+               .packing                = SOC_MBUS_PACKING_VARIABLE,
+               .order                  = SOC_MBUS_ORDER_LE,
+       },
 };
 
 int soc_mbus_samples_per_pixel(const struct soc_mbus_pixelfmt *mf)
@@ -141,6 +148,8 @@ int soc_mbus_samples_per_pixel(const struct soc_mbus_pixelfmt *mf)
        case SOC_MBUS_PACKING_2X8_PADHI:
        case SOC_MBUS_PACKING_2X8_PADLO:
                return 2;
+       case SOC_MBUS_PACKING_VARIABLE:
+               return 0;
        }
        return -EINVAL;
 }
@@ -155,6 +164,8 @@ s32 soc_mbus_bytes_per_line(u32 width, const struct soc_mbus_pixelfmt *mf)
        case SOC_MBUS_PACKING_2X8_PADLO:
        case SOC_MBUS_PACKING_EXTEND16:
                return width * 2;
+       case SOC_MBUS_PACKING_VARIABLE:
+               return 0;
        }
        return -EINVAL;
 }
index b338108..3b5a70b 100644 (file)
@@ -28,6 +28,7 @@ enum soc_mbus_packing {
        SOC_MBUS_PACKING_2X8_PADHI,
        SOC_MBUS_PACKING_2X8_PADLO,
        SOC_MBUS_PACKING_EXTEND16,
+       SOC_MBUS_PACKING_VARIABLE,
 };
 
 /**