Hi Guys,
If I do a PXP rotate to coordinates divisible by the BLOCK_SIZE then everything looks good. I am using a block size of 8x8, coords = 128, 128:
coords = 132, 132. Not so good:
I am setting the ps buffer config
.bufferAddr = (uint32_t)s_psBufferPxp - uSourceOffset
Where:
uint16_t uSourceOffset = (uXTop%8)
Is it possible to rotate to offsets within the blocks or does PXP only support rotation to coordinates divisible by the block size?
Cheers
Andy
Ok I "Fixed" the issue by calculating the destination address and changing outputBufferConfig.buffer0Addr.
Then setting outputBufferConfig.height to the width of my source buffer.
And using PXP_SetProcessSurfacePosition() with a an upper x and y of 0 and the lower x and y set to height and width.
This all seems a bit strange, am I misunderstanding what PXP_SetProcessSurfacePosition does?
This approach seems to be 1.4 times faster and works!
Hello @AndyCapon,
I think this problem shown is addressed in section 36.4.26 of the RM, not calculating the surface position correctly could cause one of the two following cases:
Best Regards,
Alexis Andalon