OpenGL video playback performance with the Pi 5

I do a lot of hobbyist info-beamer development on the go, so I run a build of the old open source version and limit myself to the subset of the features common for the open source and the Raspberry Pi APIs. There are some missing features in the API, like util.json_watch(...) that I made wrappers to handle, and others that I didn’t use, like “raw” video playback.

I’m finally getting around to adding video playback to my package, and when I started on the Pi 3, there was no way to get the necessary performance without the raw video API options. Now that the Pi 5s are readily available, does anyone have experience with running video on them? Can you play 1920x1080 video through OpenGL?

Thanks!

I just did a quick test and H264 @ FullHD seems to get around 30fps, H264 @ 720p around 60fps, H265 @ FullHD has 45fps and finally 4K runs with 15fps. The latter runs at only 2% CPU, so it seems memory bandwidth limited.

The overhead of feeding all the video data through OpenGL is still very relevant. Additionally on the Pi5, H264 decoding is software only (as there isn’t any hardware decoder anymore), so there is additional CPU overhead. I guess that’s the difference between H264 and H265.

Thank you for testing that!

I guess maybe I can make some kind of wrapper that uses the raw video display commands on the Pi but uses OpenGL when testing on the desktop (with drawing limitations similar to the raw implementation).