xbmc/xbmc — pull request #3493 by popcornmix (2013-10-24 13:57:18+00:00)
Title: [rbp/omxplayer] Use an omx decode to texture pipeline

This PR uses an openmax pipeline to handle jpeg decode/resize/convert to texture
in a pipeline without the decoded pixels being returned to the arm.

The jpeg is decoded in stripes which saves memory. There is no need for the RGBA32 pixel buffer to ever exist on the arm.
It is straightforward to choose whether the textures are 16bpp or 32bpp which could be a useful option on 256M Pi.

This scheme is *much* faster, and is the main factor in the recent raspberry-pi "speed" video.

Consider this an RFC, as this code is ugly. The requirement to bind to the texture before decoding the jpeg is the main reason for the ugliness.

I would like to get it into mainline code before the Gotham feature freeze as it is such a significant improvement.
I am quite prepared to restructure or refactor this if guidance is provided.