Hi!

I have been trying to reproduce videos on a Raspberry Pi 4 64 bits with:

- VLC
- Qt 5 Multimedia
- Qt 6 Multimedia

But in all cases I am facing issues and/or decoding via CPU instead of
using the GPU.

Let me summarize my findings and hopefully you can guide me to a solution.

In all cases I'm using Weston.

## VLC

Currently VLC defaults to `rpidistro-vlc` which, I understand, it's a
heavily patched VLC fork, and many patches are for using the GPU.
I've tried building VLC but then found out that it requires an older
taglib, failing to build from source. So I went ahead and forced an
older taglib (1.12, perhaps too much) which allowed me to at least
build VLC.

I noticed however that rpidistro-vlc is currently being built without
Qt, so I am using cvlc.

When I run cvlc I get:

```
rpi4:~$ cvlc big-buck-bunny-1080-60fps.mp4
[00000055b96bd120] main interface error: no suitable interface module
[00000055b968f410] main libvlc error: interface "globalhotkeys,none"
initialization failed
[00000055b96bd120] dummy interface: using the dummy interface module...
[0000007f740013f0] gles2 vout display error: parent window not available
[0000007f740013f0] gl vout display error: parent window not available
[0000007f740013f0] fb vout display error: cannot get terminal mode
(Inappropriate ioctl for device)
[0000007f94114d20] main video output error: video output creation failed
[0000007f9cd826d0] main decoder error: failed to create video output
[h264 @ 0x7f9cd92c30] get_buffer() failed
[h264 @ 0x7f9cd92c30] thread_get_buffer() failed
[h264 @ 0x7f9cd92c30] decode_slice_header error
[h264 @ 0x7f9cd92c30] no frame!
[0000007f780013f0] gles2 vout display error: parent window not available
[0000007f780013f0] gl vout display error: parent window not available
[0000007f780013f0] fb vout display error: cannot get terminal mode
(Inappropriate ioctl for device)
[0000007f74045e20] main video output error: video output creation failed
[0000007f9cd826d0] main decoder error: failed to create video output
[h264 @ 0x7f9cdae890] get_buffer() failed
[h264 @ 0x7f9cdae890] thread_get_buffer() failed
[h264 @ 0x7f9cdae890] decode_slice_header error
[h264 @ 0x7f9cdae890] no frame!
...
```

I noticed that RPi OS is shipping a newer version, so I took the time
to build it, but got the same result.

I did try to build it with Qt 5, but failed (I might need to apply
extra patches...?)

## Using Qt 5

Any video example in Qt Multimedia is simply using the CPU to render,
and goes REALLY slow.

## Using Qt 6

This is clearly still using the CPU but it's a little bit smoother than Qt 5.

## Extra questions

Maybe I need to go with 32 bits and use the userland video driver?
Something else?

Any feedback here will be highgly appreciated.

Thanks in advance, Lisandro.

-- 
Lisandro Pérez Meyer
Embedded Platform Engineer
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#63934): https://lists.yoctoproject.org/g/yocto/message/63934
Mute This Topic: https://lists.yoctoproject.org/mt/108808388/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to