Any LED responds (almost) linearly to pulse-width modulation (PWM), putting out twice as much light when it’s on for twice as long, but the human eye is dramatically nonlinear. Consequently it's necessary for mechanical TV to correct the video signal sent to the LED array to cater for this non-linearity in the eye. It's called "gamma correction" and here's my first attempt at doing that. It's all a bit dark because it's quite bright today and the picture isn't as easy to see as at night time when I usually work. I cheated a bit and processed the video to increase the brightness a bit because of the daytime issues. But still, I think there's more visible detail in the picture and the gamma correction is doing its job.
youtu.be/ripFpSgmT4c
I only had to add a small bit of code - a one-liner, actually - that's my first attempt at gamma correction. This page gives a quick and dirty 256 byte table and I've taken that on faith and passed my brightness through that conversion to give my first gamma-corrected attempt.