This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Why does this "white" 4bit image project a black image?

I've attached a zip that contains two 4bit images.  Both contains a "white" image to be used in a 4bit pattern sequence.  However, for some reason, one of them projects normally, while the other one projects a black image. 

I've compared the data for each image, and as far as I can tell, the only significant difference is that the invalid image is using palette index 0 for the primary color, while the good one uses the 8th index into the palette.  Does the LCr make any assumptions about the palette format?  Does it expect the first index to contain a black color with RGBA = 0? 

I'm able to view both images correctly using MSPaint, Paint.Net, Picasa, Windows Photo Editor, etc... but the LCr seems unable to project it properly. 

3175.4bit_Images.zip

  • Hmmm....

    I made a hack in the code to alter the way the bitmaps were generated...  after some trial and error, it seems like the pixel data is actually an intensity level, and the palette is NOT being used at all.  Can you confirm this is the case?  Is this intentional? 

    In other words, a 4 bit value is essentially an intensity multiplier, where 0 is black and 15 is 100% of whatever the current LED intensity is? 

    We need to use a palette in order to have a proper intensity sine wave in the image, which isn't possible if the step value is intensity/16...

  • Hi Pete Thompson,

    Your understanding is correct. The LCr uses the palette index for reproducing the gray scale not the palette color. This is to give user, the accurate controls of the intensity levels.

    It is not possible to skip the intensity levels in a given bit depth pattern sequence. However to reproduce non-leanier intencity levels you can choose a higher bit depth pattern sequence and use only the levels that you intent to use.

  • Well, the main reason we want to use 4 bit color is because we want to have more than 12 images in a pattern sequence, and to go beyond 120Hz. 

    Is it possible to add palette support in the future for non-linearity support, or is this a hardware limitation?