Re: [PATCH v1] [media] uvcvideo: mark buffer error where overflow

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Baoyou,

Thank you for the patch.

On Thursday, 7 September 2017 05:59:48 EEST Baoyou Xie wrote:
> Some cameras post inaccurate frame where next frame data overlap
> it. this results in screen flicker, and it need to be prevented.
> 
> So this patch marks the buffer error to discard the frame where
> buffer overflow.

I've thought about this before and I wasn't sure how to handle this case. As 
such an overflow might not signal an erroneous buffer, as the buffer could 
contain a valid image. However, if you have seen erroneous buffer contents in 
this case, and given that overflows should not occur, I think we could decide 
to stay on the safe side and set the error flag.

> Signed-off-by: Baoyou Xie <baoyou.xie@xxxxxxxxxx>

Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>

I'll apply the patch to my tree.

> ---
>  drivers/media/usb/uvc/uvc_video.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/media/usb/uvc/uvc_video.c
> b/drivers/media/usb/uvc/uvc_video.c index fb86d6a..81a3530 100644
> --- a/drivers/media/usb/uvc/uvc_video.c
> +++ b/drivers/media/usb/uvc/uvc_video.c
> @@ -1077,6 +1077,7 @@ static void uvc_video_decode_data(struct uvc_streaming
> *stream, /* Complete the current frame if the buffer size was exceeded. */
> if (len > maxlen) {
>  		uvc_trace(UVC_TRACE_FRAME, "Frame complete (overflow).\n");
> +		buf->error = 1;
>  		buf->state = UVC_BUF_STATE_READY;
>  	}
>  }


-- 
Regards,

Laurent Pinchart




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux