[media] em28xx: add function scale_to_size()
Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
6b09a21cbc
commit
b837413835
|
@ -815,6 +815,17 @@ static void size_to_scale(struct em28xx *dev,
|
|||
*vscale = EM28XX_HVSCALE_MAX;
|
||||
}
|
||||
|
||||
static void scale_to_size(struct em28xx *dev,
|
||||
unsigned int hscale, unsigned int vscale,
|
||||
unsigned int *width, unsigned int *height)
|
||||
{
|
||||
unsigned int maxw = norm_maxw(dev);
|
||||
unsigned int maxh = norm_maxh(dev);
|
||||
|
||||
*width = (((unsigned long)maxw) << 12) / (hscale + 4096L);
|
||||
*height = (((unsigned long)maxh) << 12) / (vscale + 4096L);
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------
|
||||
IOCTL vidioc handling
|
||||
------------------------------------------------------------------*/
|
||||
|
@ -890,9 +901,7 @@ static int vidioc_try_fmt_vid_cap(struct file *file, void *priv,
|
|||
}
|
||||
|
||||
size_to_scale(dev, width, height, &hscale, &vscale);
|
||||
|
||||
width = (((unsigned long)maxw) << 12) / (hscale + 4096L);
|
||||
height = (((unsigned long)maxh) << 12) / (vscale + 4096L);
|
||||
scale_to_size(dev, hscale, hscale, &width, &height);
|
||||
|
||||
f->fmt.pix.width = width;
|
||||
f->fmt.pix.height = height;
|
||||
|
|
Loading…
Reference in a new issue