Hi Chris, On Thursday 16 April 2015 13:05:30 Chris Whittenburg wrote: > On Tue, Apr 7, 2015 at 10:51 AM, Laurent Pinchart wrote: > > Black level compensation is applied by the CCDC before writing raw frames > > to memory. If your raw frames are correct BLC is probably not to blame. > > > > The default contrast is x1.0 and the default brightness is +0.0, so I > > don't think those should be blame either. > > > > I suspect the RGB2RGB conversion matrix to be wrong. The default setting > > is supposed to handle fluorescent lighting. You could try setting the > > RGB2RGB matrix to the identity matrix and see if this helps. See > > http://git.ideasonboard.org/omap3-isp-live.git/blob/HEAD:/isp/controls.c#l > > 184 for sample code. > > > > Another matrix that could be worth being reprogrammed is the RGB2YUV > > matrix, which also defaults to fluorescent lighting. Sample code to > > reprogram it is available in the same location. > > I tried changing the rgb2rgb matrx to the identity matrix: > > {0x0100, 0x0000, 0x0000}, > {0x0000, 0x0100, 0x0000}, > {0x0000, 0x0000, 0x0100} > > And the csc (rgb2yuv) to this: > {256, 0, 0}, > {0, 0, 0}, > {0, 0, 0} > > But I couldn't see much, if any, difference. > > However, when I forced the gamma correction to be bypassed, it seemed to fix > it. > > Does that make sense? I guess I don't understand it enough to understand if > gamma correction would have compressed all my luma values. Yes, it makes sense. Gamma correction applies a non-linear transformation to the pixel values and can explain the problems you were seeing. I've checked the default rgb2rgb matrix, and it should work fine for your case as all lines add up to 1.0. The default rgb2yuv matrix, however, limits Y values to 220, so you should modify it. -- Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html