Le vendredi 05 avril 2019 à 17:15 +0200, Maxime Ripard a écrit : > Hi Nicolas, > > On Thu, Apr 04, 2019 at 11:41:13AM -0400, Nicolas Dufresne wrote: > > > > > + * - __u16 > > > > > + - ``pic_width_in_mbs_minus1`` > > > > > + - > > > > > + * - __u16 > > > > > + - ``pic_height_in_map_units_minus1`` > > > > > + - > > > > > > > > We recently had some reflection with Alex that this is redundant with > > > > the width and height in the OUTPUT format. It may also apply to some > > > > other fields in these structs. I feel like they should be removed and > > > > passed via corresponding generic V4L2 properties - format, selection, > > > > etc. > > > > > > > > The same problem is also present in the MPEG2 controls. In fact, there > > > > was a patch already which used some fields from the controls to > > > > calculate the destination buffer strides, rather than bytesperline in > > > > the format. > > > > > > > > Since we're in staging, it could be done with a follow-up patch, though. > > > > > > Just my two cents. I played with some codecs a while back. IIRC some > > > specify a "codec" size in addition to the actual picture size, like > > > when the encoder does padding to fit the requirements of the codec > > > (spec). Is this needed anywhere? > > > > With state-less encoders, the headers, which contains the crop > > information is created by userspace and for state less decoder, the > > headers that contains this information is parsed by userspace. So I > > believe that in theory, the accelerator does not strictly need to be > > aware of the cropped dimensions. > > > > Another thing, is that there is not guarantied matches between e.g. > > depth of the chrome/luma and the final image buffers. Some hardware may > > have bandwidth limitation or internal converter and could possibly > > decode 10bit data into 8bit buffers. > > > > A third reason why I would not try and encode this header information > > is that there can be multiple PPS/SPS at the same time, and I think > > it's confusing if the relevant information to differentiate them is > > removed. > > Sorry if that sounds a bit dumb, but it's not really clear to me if > you're arguing for the removal of the data as Tomasz suggests, or if > you want to keep them. > > The first paragrah seems to advocate for the former, but the two > others for the latter. I think the data should stay. As I said, there can be multiple SPS/PPS, while there is only one format. That being said, how does SPS/PPS activation works ? How do you tell the driver about all the SPS/PPS and which one is being activated ? > > Thanks! > Maxime > > -- > Maxime Ripard, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com