Thread (32 messages) 32 messages, 9 authors, 2011-08-13

Re: [PATCH/RFC] fbdev: Add FOURCC-based format configuration API

From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date: 2011-07-31 23:30:09
Also in: dri-devel, linux-media

Hi Geert,

Thanks for the feedback.

On Sunday 31 July 2011 22:32:42 Geert Uytterhoeven wrote:
On Thu, Jul 28, 2011 at 12:51, Laurent Pinchart wrote:
quoted
quoted
As for struct fb_var_screeninfo fields to support switching to a FOURCC
mode, I also prefer an explicit dedicated flag to specify switching to
it. Even though using FOURCC doesn't fit under the notion of a
videomode, using one of .vmode bits is too tempting, so, I would
actually take the plunge and use FB_VMODE_FOURCC.
Another option would be to consider any grayscale > 1 value as a FOURCC.
I've briefly checked the in-tree drivers: they only assign grayscale
with 0 or 1, and check whether grayscale is 0 or different than 0. If a
userspace application only sets grayscale > 1 when talking to a driver
that supports the FOURCC-based API, we could get rid of the flag.

What can't be easily found out is whether existing applications set
grayscale to a > 1 value. They would break when used with FOURCC-aware
drivers if we consider any grayscale > 1 value as a FOURCC. Is that a
risk we can take ?
I think we can. I'd expect applications to use either 1 or -1 (i.e. all
ones), both are invalid FOURCC values.
OK.
Still, I prefer the nonstd way.
And limiting traditional nonstd values to the lowest 24 bits (there
are no in-tree drivers using the highest 8 bits, right?).
None that I've found. I still have a preference for the grayscale field 
though. As mentioned by Guennadi, the grayscale field would become redundant 
for FOURCC-based formats. It's then a good candidate, and would let drivers 
(and applications) do any crazy stuff they want with the nonstd field.

-- 
Regards,

Laurent Pinchart
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help