I'm currently working with advanced picamera parameters. A new functionnality to come is the "lens shading correction", a RGGB array that modify the image generated by the camera in order to compensate darks halos and color shifting.
The generation of this array is quite complicated (need a photography lab), so some users just want to modify the original table. Problem, the original table was never publicated ...
Playing with the sudo vcdbg reloc
command, I was able to locate the GPU memory blocks that (seems to) contain these precious values :
[ 62] 0x375af2e0: used 25K (refcount 1 lock count 0, size 25100, align 4, data 0x375af300, d0rual) 'ls table 4'
[ 37] 0x375b5540: used 25K (refcount 1 lock count 0, size 25100, align 4, data 0x375b5560, d0rual) 'ls table 3'
[ 96] 0x375bb7a0: used 25K (refcount 1 lock count 0, size 25100, align 4, data 0x375bb7c0, d0rual) 'ls table 2'
[ 71] 0x375c1a00: used 25K (refcount 1 lock count 0, size 25100, align 4, data 0x375c1a20, d0rual) 'ls table 1'
[ 34] 0x375c7c60: used 25K (refcount 1 lock count 0, size 25100, align 4, data 0x375c7c80, d0rual) 'ls table 0'
[ 25] 0x37647bc0: used 25K (refcount 1 lock count 0, size 25100, align 4, data 0x37647be0, d0rual) 'ls table isp'
[ 55] 0x3764de20: used 25K (refcount 1 lock count 0, size 25100, align 4, data 0x3764de40, d0rual) 'ls table tx1'
[ 28] 0x37654080: used 25K (refcount 1 lock count 0, size 25100, align 4, data 0x376540a0, d0rual) 'ls table tx0'
[ 15] 0x3765a2e0: used 25K (refcount 1 lock count 0, size 25100, align 4, data 0x3765a300, d0rual) 'ls table 1'
[ 19] 0x37660540: used 25K (refcount 1 lock count 0, size 25100, align 4, data 0x37660560, d0rual) 'ls table 0'
Is there a way to access these memory adresses, or to dump the whole GPU memory to a file ?
Thank you !