On 11/2/19 1:50 PM, Hans Verkuil wrote: <snip> > Action Items > ------------ > > Hans Verkuil: > > - Ask Cisco colleagues which bitrate-related parameters have to be per-frame for > an encoder > - make stateful encoder infrastructure + documentation for the missing bits > - investigate using different sizes for metadata controls in the control framework: > is this possible? The problem is with compound arrays. struct v4l2_ext_control just provides a size field for the total size and so for an array there is no way to discover the actual element size. That said, to my knowledge there are currently no compound arrays defined in the mainline kernel. So one option is to take the last reserved __u32 field and split it in a __u16 elem_size and a __u16 reserved2 field, or just use the full __u32 for the elem size and drop the reserved2 field. Alternatively, we prohibit compound arrays for now and postpone making any changes to struct v4l2_ext_control until we actually need this. As long as it is not an array, then we can safely extend these compound control structs later. It requires some work in the control framework, but it isn't too bad. I'm in favor of implementing this, and for now prohibiting the use of compound arrays. It is really helpful making these codec state controls at least somewhat future-proof. Comments? Hans > > Michael Tretter: > > - Support the new encoder stateful controls in the driver > > Tomasz Figa: > > - look up AMD encoder support > > Boris Brezillon: > > - send v3 of hantro g1 fixes > > Nicolas Dufresne: > > - look into multiview and sublayers support > > Paul Kocialkowski: > > - check metadata controls against the standards and update the docs if needed > > Ezequiel Garcia and Boris Brezillon: > > - add VP9 support >