diff options
| author | Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> | 2016-09-12 11:38:36 -0400 |
|---|---|---|
| committer | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2016-09-19 13:56:03 -0400 |
| commit | abe9609f808140f46d092035b75dd58ae80db056 (patch) | |
| tree | 20e85c9171bb038e71b45979882cfe4fa9479e0c /drivers/media/platform | |
| parent | b61bead62ec4264fbb529a5730558f4c87a46ae4 (diff) | |
[media] v4l: vsp1: Fix RPF cropping
The RPF cropping offset for the chroma planes is incorrectly computed,
it needs to be divided by the horizontal subsampling factor.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/media/platform')
| -rw-r--r-- | drivers/media/platform/vsp1/vsp1_rpf.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/media/platform/vsp1/vsp1_rpf.c b/drivers/media/platform/vsp1/vsp1_rpf.c index 388838913205..3d6669dbeacf 100644 --- a/drivers/media/platform/vsp1/vsp1_rpf.c +++ b/drivers/media/platform/vsp1/vsp1_rpf.c | |||
| @@ -105,7 +105,8 @@ static void rpf_configure(struct vsp1_entity *entity, | |||
| 105 | 105 | ||
| 106 | if (format->num_planes > 1) { | 106 | if (format->num_planes > 1) { |
| 107 | rpf->offsets[1] = crop->top * format->plane_fmt[1].bytesperline | 107 | rpf->offsets[1] = crop->top * format->plane_fmt[1].bytesperline |
| 108 | + crop->left * fmtinfo->bpp[1] / 8; | 108 | + crop->left / fmtinfo->hsub * fmtinfo->bpp[1] |
| 109 | / 8; | ||
| 109 | pstride |= format->plane_fmt[1].bytesperline | 110 | pstride |= format->plane_fmt[1].bytesperline |
| 110 | << VI6_RPF_SRCM_PSTRIDE_C_SHIFT; | 111 | << VI6_RPF_SRCM_PSTRIDE_C_SHIFT; |
| 111 | } else { | 112 | } else { |
