nautilus27 wrote:It does play the SD videos with software acceleration. But MMAL acceleration using Video Processing Unit (VPU) of Raspberry Pi does not work. VLC throws error when compiled with special instuctions to use MMAL.
As far as I know no software other than OMX Player can play hardware accelerated videos and it can't play videos in window. nor does it have a GUI. That is a problem. Work arounds such as skinning OMX player doesn't solve it.
The problem is not specific to Pi. No Single Board Computer based on Arm can do it. I've tried many. Banana Pi, Orange Pi, Odroid etc... with different operating systems. None can do hardware accelerated video playback via VLC.
VLC on Android smartphones work flawlessly with hardware acceleration but fails on these devices. Both smartphones and Single board computers have similar hardware to work with. So I'm guessing the problem can be solved.
You're right in in one thing (MMAL is broken in all versions I tried), but Openmax IL does work ( see: viewtopic.php?f=66&t=59814
). But it uses overlays for video in the same ways as omxplayer does. So the video will not run inside the window.
omxplayer not only uses HW acceleration for decoding the video but also accesses the video display directly creating an overlay. All other solution would require to copy the decoded video in real time back into the frame buffer. This has been tried in some programs ( epiphany, kweb3, chromium-browser), but it is only possible for medium sized screen areas (up to 720p) and not for larger ones or even full HD screens. I don't think it will ever be possible (with the current hardware).
But there are solutions. omxplayerGUI creates a window around the overlay, which you can move, resize, hide and unhide in real time. It gives you the basic controls you need and adds additional features like web video (youtube and 600+ other websites) and playlist support. Then there is ubeify which uses similar methods. And you can also use kodi, which uses an OpenGL ES interface to display controls on top of a video (Android works in similar way).