Hello,
I am trying to run a rotation example from here: GitHub - rogeriorps/ipu-examples: IPU example codes for i.MX5 and i.MX6 families
My display resolution is 1280x800. When I take the same size input image the provided example able to perform all flips but not to rotate:
isize value 2048000
Rotation 0 time: 4741 usecs
Rotation 1 time: 4589 usecs
Rotation 2 time: 4554 usecs
Rotation 3 time: 4615 usecs
[19493.497581] mxc_ipu mxc_ipu: ERR: no-0x0,ipu_queue_task err:-22
ioct IPU_QUEUE_TASK fail
If I take 1024x768 input image and 1280x800 output resolution -- the same result.
But if I take 1024x768 input and output resolutions, all possible 8 flips and rotations work, though I observe an interlaced garbage on my screen, due to wrong output resolution:
isize value 1572864
Rotation 0 time: 6144 usecs
Rotation 1 time: 6166 usecs
Rotation 2 time: 6152 usecs
Rotation 3 time: 6152 usecs
Rotation 4 time: 29750 usecs
Rotation 5 time: 21677 usecs
Rotation 6 time: 21586 usecs
Rotation 7 time: 21605 usecs
I understand that this is related to IPU's rotator limitation of 1024x1024 pixel size, but still, how to make all rotations work? I am running it on kernel 4.1.15.
Thanks, Ivan
Hi Ivan
IPU does not support rotation (limitation of IC module) above 1024x1024,
so one needs to split image on smaller areas and rotate them, after that combine
to whole image. Please check for example below
https://community.freescale.com/message/567360#567360
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Thanks Igor, will take a look.
Don't you have it implemented as a fb driver?