[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <0d5ce46a81ca02a9cf2a01175818846fba802194.camel@ndufresne.ca>
Date: Fri, 25 Jun 2021 15:18:15 -0400
From: Nicolas Dufresne <nicolas@...fresne.ca>
To: Mauro Carvalho Chehab <mchehab+huawei@...nel.org>,
Laurent Pinchart <laurent.pinchart@...asonboard.com>
Cc: Linux Media Mailing List <linux-media@...r.kernel.org>,
linuxarm@...wei.com, mauro.chehab@...wei.com,
Mauro Carvalho Chehab <mchehab@...nel.org>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] media: uvc: limit max bandwidth for HDMI capture
Le mardi 22 juin 2021 à 10:29 +0200, Mauro Carvalho Chehab a écrit :
> Em Mon, 21 Jun 2021 21:22:26 +0300
> Laurent Pinchart <laurent.pinchart@...asonboard.com> escreveu:
>
> > Hi Mauro,
> >
> > Thank you for the patch.
>
> Thanks for reviewing it!
>
> >
> > On Mon, Feb 01, 2021 at 08:08:59PM +0100, Mauro Carvalho Chehab wrote:
> > > This device:
> > > 534d:2109 MacroSilicon
> > >
> > > Announces that it supports several frame intervals for
> > > their resolutions for MJPEG compression:
> > >
> > > VideoStreaming Interface Descriptor:
> > > bLength 46
> > > bDescriptorType 36
> > > bDescriptorSubtype 7 (FRAME_MJPEG)
> > > bFrameIndex 1
> > > bmCapabilities 0x00
> > > Still image unsupported
> > > wWidth 1920
> > > wHeight 1080
> > > dwMinBitRate 768000
> > > dwMaxBitRate 196608000
> > > dwMaxVideoFrameBufferSize 4147200
> > > dwDefaultFrameInterval 166666
> > > bFrameIntervalType 5
> > > dwFrameInterval( 0) 166666
> > > dwFrameInterval( 1) 333333
> > > dwFrameInterval( 2) 400000
> > > dwFrameInterval( 3) 500000
> > > dwFrameInterval( 4) 1000000
> > >
> > > However, the highest frame interval (166666), which means 60 fps
> > > is not supported. For such resolution, the maximum interval
> > > is, instead 333333 (30 fps).
> >
> > What happens if you try to select it ?
>
> Basically, URBs get lost: they cause apps like qv4l2 to crash
> sometimes, with:
>
> v4l-convert: libjpeg error: Corrupt JPEG data: premature end of data segment
This is the emulated format handler that decodes jpeg behind application back
that is broken. The converter should implement this in a nicer way. E.g. it
could return ERROR buffer with payload = 0 in that case.
>
> The image keeps blinking, and part of the image is replaced by
> white noise.
>
> Clearly, it tries to send more data than the maximum available bandwidth
> on this chipset.
>
>
> Sent a v2 addressing the issues you pointed.
>
>
> Thanks,
> Mauro
Powered by blists - more mailing lists