Re: [RFC v2 2/2] backlight: pwm_bl: compute brightness of LED linearly to human eye.

From: Pavel Machek
Date: Mon Dec 18 2017 - 07:33:54 EST


On Mon 2017-12-18 11:40:59, Enric Balletbo Serra wrote:
> Hi Pavel,
>
> 2017-12-15 21:57 GMT+01:00 Pavel Machek <pavel@xxxxxx>:
> > Hi!
> >
> >> Yes, I think that how you describe luminance and lightness is right,
> >> and sounds good improve the doc.
> >>
> >> To be clear the correction table for PWM values can be calculated with
> >> this code.
> >>
> >> OUTPUT_SIZE = 65535 # Output integer size
> >> INPUT_SIZE = 2047
> >>
> >> def cie1931(L):
> >> L = L*100.0
> >> if L <= 8:
> >> return (L/902.3)
> >> else:
> >> return ((L+16.0)/116.0)**3
> >>
> >> x = range(0,int(INPUT_SIZE+1))
> >> y = [int(round(cie1931(float(L)/INPUT_SIZE)*(OUTPUT_SIZE))) for L in x]
> >
> > Can we just generate the table on the fly? Should not be hard to do in
> > fixed point, right?
>
> This was discussed a bit in previous RFC which had the code to
> generate the table on the fly, see [1]. The use of a fixed table or an
> on the fly table is something that I'll let the maintainers to decide.
> I've no strong opinion on use the on the fly table if someone takes
> care to review deeply the fixed point maths :)

You are free to pre-compute the table at boot. And you can even
compare the built-in and pre-computed table at boot, to make sure you
made no mistakes :-).
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

Attachment: signature.asc
Description: Digital signature