media: atomisp: Make atomisp_try_fmt_cap() take padding into account
atomisp_try_fmt() gives results with padding included. So when userspace asks for e.g. 1600x1200 then we should pass 1616x1216 to atomisp_try_fmt() this will then get adjusted back to 1600x1200 before returning it to userspace by the atomisp_adjust_fmt() call at the end of atomisp_try_fmt(). This fixes the resolution list in camorama showing resolutions like e.g. 1584x1184 instead of 1600x1200. Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
parent
4d3aafb9c9
commit
e0ae3048b3
|
@ -960,6 +960,13 @@ static int atomisp_try_fmt_cap(struct file *file, void *fh,
|
|||
struct atomisp_device *isp = video_get_drvdata(vdev);
|
||||
int ret;
|
||||
|
||||
/*
|
||||
* atomisp_try_fmt() gived results with padding included, note
|
||||
* (this gets removed again by the atomisp_adjust_fmt() call below.
|
||||
*/
|
||||
f->fmt.pix.width += pad_w;
|
||||
f->fmt.pix.height += pad_h;
|
||||
|
||||
rt_mutex_lock(&isp->mutex);
|
||||
ret = atomisp_try_fmt(vdev, &f->fmt.pix, NULL);
|
||||
rt_mutex_unlock(&isp->mutex);
|
||||
|
|
Loading…
Reference in New Issue