summaryrefslogtreecommitdiff
path: root/drivers/media/platform/pxa_camera.c
diff options
context:
space:
mode:
authorPetr Cvek <petr.cvek@tul.cz>2017-05-01 07:21:10 +0300
committerMauro Carvalho Chehab <mchehab@s-opensource.com>2017-06-06 13:39:48 +0300
commita14c5d29b4f762e5f752df14b6569fbf936f4ee0 (patch)
tree8c6ffa8edf820d232105c5763fa5205b042b9b2c /drivers/media/platform/pxa_camera.c
parent30a42a1c90bec5f8c482fe2d0fc444c9e1b15cd8 (diff)
downloadlinux-a14c5d29b4f762e5f752df14b6569fbf936f4ee0.tar.xz
[media] pxa_camera: Fix incorrect test in the image size generation
During the transfer from the soc_camera a test in pxa_mbus_image_size() got removed. Without it any PXA_MBUS_LAYOUT_PACKED format causes either the return of a wrong value (PXA_MBUS_PACKING_2X8_PADHI doubles the correct value) or EINVAL (PXA_MBUS_PACKING_NONE and PXA_MBUS_PACKING_EXTEND16). This was observed in an error from the ffmpeg (for some of the YUYV subvariants). This patch re-adds the same test as in soc_camera version. Signed-off-by: Petr Cvek <petr.cvek@tul.cz> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/media/platform/pxa_camera.c')
-rw-r--r--drivers/media/platform/pxa_camera.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/media/platform/pxa_camera.c b/drivers/media/platform/pxa_camera.c
index eb9e9d5a101f..a572fc9b7a73 100644
--- a/drivers/media/platform/pxa_camera.c
+++ b/drivers/media/platform/pxa_camera.c
@@ -575,6 +575,9 @@ static s32 pxa_mbus_bytes_per_line(u32 width, const struct pxa_mbus_pixelfmt *mf
static s32 pxa_mbus_image_size(const struct pxa_mbus_pixelfmt *mf,
u32 bytes_per_line, u32 height)
{
+ if (mf->layout == PXA_MBUS_LAYOUT_PACKED)
+ return bytes_per_line * height;
+
switch (mf->packing) {
case PXA_MBUS_PACKING_2X8_PADHI:
return bytes_per_line * height * 2;