New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VA-API hardware decoding is slower than software decoding on Intel Celeron N4000 #734
Comments
how about media engine usage from intel_gpu_top? |
Looks like it's the similar performance issue with another computer having It renders It has Debian 11 though, I can try installing 12. |
|
I've upgraded I'll try to upgrade N4000 to Sid too. |
Just upgrade N4000 to Sid too. vainfo:
Sadly, upgrade didn't help. N4000 manages only about 16-17fps @ 720p, and 9fps on 1080p. |
from intel gpu top. the video utilization is 2.43%, it is almost free, so, it is not a decode issue, it maybe caused by other reason. |
@Talkless There should be a data copy between vah264dec and glupload, could you check the used caps ? You may specify video/x-raw(memory:DMABuf) if you want to avoid data copy. |
I'll try to fiddle with caps and will try to render pipeline visualization to see what it's doing though, thanks for the hints. EDIT: I take my words about |
Now that's discovery for me: Even thought |
If I explicitly use "slow" version like this:
Maybe I need to enable DMABuf suport some how in my systems..? |
So the issue was that GStreamer does not support DMABuf with GLX. It works with EGL if I specify For example, using:
I get flawless playback on N4000 with just around ~6% CPU, meanwhile if I go back to GLX I get ~100% CPU with lots of frame dropped. Closing as invalid. |
cool, how about intel_gpu_top result? Suppose you could playback several bitstream simultaneously |
@XinfengZhang yeah it could play 4 streams. Well not flawlessly (with some rare stuttering), maybe 3 x 1080p would be more realistic/practical. Pretty good result for such a tiny "hdmi stick" pc like this:
|
yes, video engine still have rooms to decode more streams, but render engine utilization is full |
@XinfengZhang Might work better without whole Gnome desktop, etc. In Wayland, etc. But still, great stuff. Thanks! |
We have some very small Chinese mini-PC that has Intel N4000.
I've installed Debian 12 in it, with VA-API:
I'm using GStreamer 1.22.1 with
vah264dec
element, but on this machine (works fine on other Celerons) I get only about ~16FPS for 720p, while usingavdec_h264
software decoder element (ffmpeg) I can get full 25fps.intel_gpu_top
does show that "Video" usage is non-zero withvah264dec
, and zero with software decoding, so I assume it does in principle work..?GStreamer logs while playing videounder
vah264dec
:I'm not really sure if I should report this issue here or to GStreamer though, so sorry if misjudged, though it seemed as if something's wrong with VA driver.
The text was updated successfully, but these errors were encountered: