[rbp/omxplayer] Use an omx decode to texture pipeline
authorpopcornmix <popcornmix@gmail.com>
Tue, 8 Oct 2013 11:33:25 +0000 (12:33 +0100)
committerpopcornmix <popcornmix@gmail.com>
Sat, 2 Nov 2013 23:28:00 +0000 (23:28 +0000)
commit3f58986190a9a6a8722c3706819780e2a78623b7
treeb5a4fdc63269a00fbd7f4390991f7ffd75928bc9
parentee43b7ae4ba9680b16b154ad3c97a75f4de6e3e8
[rbp/omxplayer] Use an omx decode to texture pipeline

This PR uses an openmax pipeline to handle jpeg decode/resize/convert to texture 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.
It is well tested and openelec and raspbmc builds have been made with this patch in.
13 files changed:
xbmc/cores/omxplayer/OMXImage.cpp
xbmc/cores/omxplayer/OMXImage.h
xbmc/guilib/Makefile.in
xbmc/guilib/Texture.cpp
xbmc/guilib/Texture.h
xbmc/guilib/TextureGL.cpp
xbmc/guilib/TextureGL.h
xbmc/guilib/TexturePi.cpp [new file with mode: 0644]
xbmc/guilib/TexturePi.h [new file with mode: 0644]
xbmc/linux/OMXCore.cpp
xbmc/linux/RBP.cpp
xbmc/linux/RBP.h
xbmc/windowing/egl/WinSystemEGL.h