Re: [PATCH v2 2/2] media: docs-rst: Document memory-to-memory video encoder interface

From: Nicolas Dufresne
Date: Thu Jan 24 2019 - 15:14:24 EST


Le mercredi 23 janvier 2019 Ã 14:04 +0100, Hans Verkuil a Ãcrit :
> > > Does this return the same set of formats as in the 'Querying Capabilities' phase?
> > >
> >
> > It's actually an interesting question. At this point we wouldn't have
> > the OUTPUT resolution set yet, so that would be the same set as in the
> > initial query. If we set the resolution (with some arbitrary
> > pixelformat), it may become a subset...
>
> But doesn't setting the capture format also set the resolution?
>
> To quote from the text above:
>
> "The encoder will derive a new ``OUTPUT`` format from the ``CAPTURE`` format
> being set, including resolution, colorimetry parameters, etc."
>
> So you set the capture format with a resolution (you know that), then
> ENUM_FMT will return the subset for that codec and resolution.
>
> But see also the comment at the end of this email.

I'm thinking that the fact that there is no "unset" value for pixel
format creates a certain ambiguity. Maybe we could create a new pixel
format, and all CODEC driver could have that set by default ? Then we
can just fail STREAMON if that format is set.

That being said, in GStreamer, I have split each elements per CODEC,
and now only enumerate the information "per-codec". That makes me think
this "global" enumeration was just a miss-use of the API / me learning
to use it. Not having to implement this rather complex thing in the
driver would be nice. Notably, the new Amlogic driver does not have
this "Querying Capabilities" phase, and with latest GStreamer works
just fine.

Nicolas