I'm trying to find out if it's possible to do continuous rotation of a video in real time using the IMX6, and if so could someone point me in the direction of some documentation on how to do that using gstreamer.
We're currently capturing a 1080p video @30.
I've had little to no luck with sinking to imxeglvivsink, when I try to do this I get a response of "the pipeline doesn't want to PAUSE" and gstreamer exits. I have no trouble streaming to imxipuvideosink or imxv4l2videosink, however I don't believe either of these are capable of doing continuous rotation.
Any help would be greatly appreciated, thank you!
Solved! Go to Solution.
With the i.MX6 you should be able to achieve video rotation if you use the 3D GPU for rendering. Once the videos are imported into the 3D GPU, you should be able to render any which way you want. Here's an example of what I've done with the i.MX6qp with a 1080p display:
The movie in the upper left corner is a 1080p video. The rest of the videos are 480p or 720p. We did have to increase the VPU frequency to achieve this as the VPU becomes the bottleneck otherwise.
The way we used the 3D GPU for video was to do everything through Qt, so in Qt we are using gstreamer and gstreamer is sinking to a texture that Qt renders.
Rotation on i.MX 6 with VPU is not supported for interlaced streams whose width or height is larger than 968 x 968
when enabled deinterlacing due to a driver limitation.
The stream coming into the IMX-6 is YUV 422, so it doesn't require any further deinterlacing. If I were to not turn on deinterlacing would it then be possible?