On 05/09/2017 12:28 AM, Pavel Machek wrote:
> Hi!
> 
> This bit me while trying to use absolute exposure time on Nokia N900:
> 
> Can someone apply it to libv4l2 tree? Could I get some feedback on the
> other patches? Is this the way to submit patches to libv4l2?

Yes, it is. But I do need a Signed-off-by from you.

Regards,

        Hans

> 
> Thanks,
>                                                               Pavel
> 
> commit 0484e39ec05fdc644191e7c334a7ebfff9cb2ec5
> Author: Pavel <pa...@ucw.cz>
> Date:   Mon May 8 21:52:02 2017 +0200
> 
>     Fix integer overflow with EXPOSURE_ABSOLUTE.
> 
> diff --git a/lib/libv4l2/libv4l2.c b/lib/libv4l2/libv4l2.c
> index e795aee..189fc06 100644
> --- a/lib/libv4l2/libv4l2.c
> +++ b/lib/libv4l2/libv4l2.c
> @@ -1776,7 +1776,7 @@ int v4l2_set_control(int fd, int cid, int value)
>               if (qctrl.type == V4L2_CTRL_TYPE_BOOLEAN)
>                       ctrl.value = value ? 1 : 0;
>               else
> -                     ctrl.value = (value * (qctrl.maximum - qctrl.minimum) + 
> 32767) / 65535 +
> +                     ctrl.value = ((long long) value * (qctrl.maximum - 
> qctrl.minimum) + 32767) / 65535 +
>                               qctrl.minimum;
>  
>               result = v4lconvert_vidioc_s_ctrl(devices[index].convert, 
> &ctrl);
> @@ -1812,7 +1812,7 @@ int v4l2_get_control(int fd, int cid)
>               if (v4l2_propagate_ioctl(index, VIDIOC_G_CTRL, &ctrl))
>                       return -1;
>  
> -     return ((ctrl.value - qctrl.minimum) * 65535 +
> +     return (((long long) ctrl.value - qctrl.minimum) * 65535 +
>                       (qctrl.maximum - qctrl.minimum) / 2) /
>               (qctrl.maximum - qctrl.minimum);
>  }
> 
> 

Reply via email to