I am trying to understand the layout of the RGB buffers sent to the fl2k over USB. From lines 755-820 in libosmo-fl2k.c I can see the RGB buffers are "serialized" in this order:
g1,r1,b2,g2,b0,g0,r0,b1,b4,g4,r4,b5,r2,b3,g3,r3,r6,b7,g7,r7,g5,r5,b6,g6
(where r0 is the red component of first pixel, b3 is the blue component of fourth pixel, etc)
What is this layout? Why does the chip expect the pixels to be sent in this order?
Look at them as 32 bits words :
g1,r1,b2,g2, b0,g0,r0,b1, b4,g4,r4,b5, r2,b3,g3,r3, r6,b7,g7,r7, g5,r5,b6,g6
Then imagine them being grouped 2 by two and read in reverse order : (probably because of endianness)
b0,g0,r0,b1, g1,r1,b2,g2, r2,b3,g3,r3, b4,g4,r4,b5, g5,r5,b6,g6, r6,b7,g7,r7,
Cheers,
Sylvain
ah....that does clarify it. Thanks!
And thanks for making this wonderful new sdr tx!
On Tue, Apr 24, 2018 at 10:00 PM, Sylvain Munaut 246tnt@gmail.com wrote:
Look at them as 32 bits words :
g1,r1,b2,g2, b0,g0,r0,b1, b4,g4,r4,b5, r2,b3,g3,r3, r6,b7,g7,r7, g5,r5,b6,g6
Then imagine them being grouped 2 by two and read in reverse order : (probably because of endianness)
b0,g0,r0,b1, g1,r1,b2,g2, r2,b3,g3,r3, b4,g4,r4,b5, g5,r5,b6,g6, r6,b7,g7,r7,
Cheers,
Sylvain