I need some guidance to program the CSC (DPP or CP) on an ADV7441A.
I'm converting from RGB to YUV 16 bit 4:2:2 output on our own hardware; HDMI / CVBS works just fine but when it comes to the RGB inputs I need to remap the input channels to those supported by the auto setup functions.
I've been following the RGB/YUV conversion algorithm in the HW guide - and remapped the coefficients to the input channels/ADC's I'm using - but for some reason my output colors are all incorrect.
Can someone help with how to configure the DPP/CP CSC matrices and input/output modes?
in a nutshell:
AIN1 = Red => ADC0 -> IN_A
AIN2 = Blue => ADC2 -> IN_C
AIN3 = Green => ADC1 -> IN_B
I have tried
IN_CSPACE =1 (for rgb 0-255 input)
RGB_OUT = 0 (YUV output – although this is ignored in manual csc mode I think?)
CSC_COEFF_SEL = 0 (Manual csc configuration)
CP_CSC_EN = 0 (disable CP_CSC , use the DPP CSC for 4:2:2 decimation?)
SWAP_CSC_COEFF = 1 (DPP_CSC implements conversion)
for testing, I modified the coefficients to pick up one input channel at a time - and indeed by matching where output video illuminates to the input signal I can verify the AIN/ADC/IN_x channel mappings are correct. However, whenever I pick up one input signal at a time, the output is_always_ green. And this is the bit I can't figure out. It's almost like a second conversion is happening after the DPP CSC output.. but not quite. When I enabled other input channels I do see color but they don't follow the channel order (SMPTE bars swapped). I've been through each of the permutations of the 3 inputs one by one which should have found a working combination but I still can't get the correct output. (which is why I suspect some other conversion is happening that I need to adjust but haven't found details on how or why ... )
Any suggestions appreciated.