Re: [PATCH RESEND v7 1/2] media: uapi: Add H264 low-level decoder API compound controls.

From: Maxime Ripard
Date: Fri Apr 05 2019 - 11:16:01 EST


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.

Thanks!
Maxime

--
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

Attachment: signature.asc
Description: PGP signature