Hi Laurent,

Am Donnerstag, den 28.08.2014, 14:24 +0200 schrieb Laurent Pinchart:
> > A driver could then do the following:
> > 
> > static struct v4l2_pixfmt_info driver_formats[] = {
> >     { .pixelformat = V4L2_PIX_FMT_YUYV },
> >     { .pixelformat = V4L2_PIX_FMT_YUV420 },
> > };
> > 
> > int driver_probe(...)
> > {
> >     ...
> >     v4l2_init_pixfmt_array(driver_formats,
> >                     ARRAY_SIZE(driver_formats));
> >     ...
> > }
> 
> Good question. This option consumes more memory, and prevents the driver-
> specific format info arrays to be const, which bothers me a bit.

Also, this wouldn't help drivers that don't want to take these
additional steps, which probably includes a lot of camera drivers with
only a few formats.

> On the other hand it allows drivers to override some of the default
> values for odd cases.

Hm, but those cases don't have to use the v4l2_pixfmt_info at all.

> I won't nack this approach, but I'm wondering whether a better
> solution wouldn't be possible. Hans, Mauro, Guennadi, any opinion ?

We could keep the global v4l2_pixfmt_info array sorted by fourcc value
and do a binary search (would have to be kept in mind when adding new
formats) or build a hash table (more complicated code, consumes memory).

regards
Philipp

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to