AnsweredAssumed Answered

iMX6 display rotation example fail at resolution 1280x800

Question asked by Ivan Pankratov on May 8, 2017
Latest reply on May 9, 2017 by Ivan Pankratov

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

Outcomes