Hyperpixel4 CPU Usage


#1

Hello,

Figured I’d ask a dumb question before spending too much time on this. I have a Hyperpixel4 on Raspbian Jesse Lite running on a Raspberry Pi 3 B+. I’m running an app written in Kivy 1.10.dev0 on Python 3.5.3. I am using the kivy.uix.video.Video object to play a video. The python3 process in top sits at ~70% cpu as long as the video is playing. It occurred to me that since the Hyperpixel4 is using all the gpio pins on the Pi, it might be wholly bypassing the GPU which may be evidenced by the need to disable OpenGL ES2 from raspi-config, forcing the video to be processed entirely by the CPU.

Is there any merit to this idea? I don’t believe I’ve seen a 480x720 video move the needle much in normal playback on a regular Pi but maybe I’m misremembering somehow. It’s kind of a pain to tear the device down to get to the HDMI port easily so just curious if this is something intrinsic to the Hyperpixel4.

Incidentally, is there any documentation as to how the Hyperpixel4 actually functions on the 40-pin interface? I don’t know much about video signaling and I can’t quite understand how this is working.

Thanks for the help!


#2

I should also mention that finding documentation on the DPI pinout on the RPi (https://www.raspberrypi.org/documentation/hardware/raspberrypi/dpi/) wasn’t terribly hard to find and is somewhat helpful however it doesn’t clarify my question as to CPU use.


#3

I’m fairly sure that DPI is controlled entirely by the Videocore GPU, since all of the settings passed to it are from very low level config.txt options. I’m pretty sure this means it’s functionally equivilent to HDMI since there’s no more overhead in driving a DPI interface than there is in the HDMI signalling, and the two are mutually exclusive.

It does, I believe, depend very highly on the video format whether or not you’ll be taking advantage of the hardware acellerated video decoding, though. (H.264 works as standard, MPEG-2 requires a license key and I guess everything else is software)