On 11/26/2018 03:57 PM, Stanimir Varbanov wrote: > Hi Hans, > > On 11/26/18 3:37 PM, Hans Verkuil wrote: >> On 11/26/2018 11:12 AM, Malathi Gottam wrote: >>> Accept the buffer size requested by client and compare it >>> against driver calculated size and set the maximum to >>> bitstream plane. >>> >>> Signed-off-by: Malathi Gottam <mgottam@xxxxxxxxxxxxxx> >> >> Sorry, this isn't allowed. It is the driver that sets the sizeimage value, >> never the other way around. > > I think for decoders (OUTPUT queue) and encoders (CAPTURE queue) we > allowed userspace to set sizeimage for buffers. See [1] Initialization > paragraph point 2: > > ``sizeimage`` > desired size of ``CAPTURE`` buffers; the encoder may adjust it to > match hardware requirements > > Similar patch we be needed for decoder as well. I may have missed that change since it wasn't present in v1 of the stateful encoder spec. Tomasz, what was the reason for this change? I vaguely remember some thread about this, but I forgot the details. Since this would be a departure of the current API this should be explained in more detail. I don't really see the point of requiring userspace to fill this in. For stateful codecs it can just return some reasonable size. Possibly calculated using the provided width/height values or (if those are 0) some default value. Ditto for decoders. Stanimir, I certainly cannot merge this until this has been fully nailed down as it would be a departure from the current API. And looking at the venus patch I do not see how it helps userspace. Regards, Hans > >> >> If you need to allocate larger buffers, then use VIDIOC_CREATE_BUFS instead >> of VIDIOC_REQBUFS. >> >> What problem are you trying to solve with this patch? >> >> Regards, >> >> Hans >> >