tag:blogger.com,1999:blog-3944174827064012298.post3902564797449821442..comments2023-12-19T16:55:37.721+01:00Comments on The Bugfree Blog ;-): Yocto Recipe for Accelerated Video Playback with Qt on Raspberry PiLuca Carlonhttp://www.blogger.com/profile/05071568155815750619noreply@blogger.comBlogger13125tag:blogger.com,1999:blog-3944174827064012298.post-23404172932240598532018-09-24T16:18:28.111+02:002018-09-24T16:18:28.111+02:00So it was in fact a broken video that had height n...So it was in fact a broken video that had height not divisible by 2. So that's what " COMXCoreComponent::DecoderEventHandler OMX.broadcom.egl_render - OMX_ErrorInsufficientResources, insufficient resources)" was trying to say :-D Fixed the source, it plays fine nowYury Lunevhttp://github.com/koolkhelnoreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-60809370306801398462018-09-24T15:48:46.950+02:002018-09-24T15:48:46.950+02:00Sorry for spamming :-D I've narrowed the issue...Sorry for spamming :-D I've narrowed the issue to the source video file.<br /><br />Broken video<br /><br />Duration: 00:00:04.00, start: 0.000000, bitrate: 333 kb/s<br /> Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 440x247 [SAR 1:1 DAR 440:247], 281 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 48k tbc (default)<br />V:PortSettingsChanged: 440x248@23.98 interlace:0 deinterlace:0 anaglyph:0 par:inf display:0 layer:0 alpha:255 aspectMode:0<br />Video codec omx-h264 width 440 height 247 profile 100 fps 23.976025<br />Audio codec aac channels 2 samplerate 48000 bitspersample 16<br />(says 10:54:22.909 ERR: COMXCoreComponent::DecoderEventHandler OMX.broadcom.egl_render - OMX_ErrorInsufficientResources, insufficient resources)<br /><br />Working video:<br /><br />Duration: 00:00:12.06, start: 0.000000, bitrate: 1399 kb/s<br />Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 440x504 [SAR 1:1 DAR 55:63], 1397 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 50 tbc (default)<br />Video codec omx-h264 width 440 height 504 profile 100 fps 23.976025<br />Audio codec aac channels 2 samplerate 48000 bitspersample 16<br />V:PortSettingsChanged: 440x504@23.98 interlace:0 deinterlace:0 anaglyph:0 par:inf display:0 layer:0 alpha:255 aspectMode:0<br />(plays fine)Yury Lunevhttp://github.com/koolkhelnoreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-19962907361615634322018-09-24T15:33:40.270+02:002018-09-24T15:33:40.270+02:00That's with gpu_mem=512 :-) Can't get any ...That's with gpu_mem=512 :-) Can't get any higher. All videos seems to be initialized at once and I think that's too much for POT to handle. Looking on ways to serialize video playback so that resources are allocated for a single video at onceYury Lunevhttp://github.com/koolkhelnoreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-46287253053948864532018-09-24T15:17:38.115+02:002018-09-24T15:17:38.115+02:00Oh, I guess, nevermind for this issue. I set hdmi_...Oh, I guess, nevermind for this issue. I set hdmi_mode to be exactly 1024 by 768 so I probably can't expect to stuff work properly when there's another physical display resolution. It works occasionally, but I assume that doesn't extend to every case.<br /><br />Of my integration issues, I still seem to hit "COMXCoreComponent::DecoderEventHandler OMX.broadcom.egl_render - OMX_ErrorInsufficientResources, insufficient resources". I have an assortment of QML files with Video inside loaded at once. And it looks like that half of them work and half - don't. Not everything is shown/loaded/played at once, so I hoped this would work :-) But it doesn't :-)<br /><br />I can see an "10:24:36.224 ERR: COMXCoreTunel::Deestablish - Error WaitForCommand port 220 on component OMX.broadcom.egl_render omx_err(0x80001000)" as well... So the issue seems much like this one https://github.com/carlonluca/pot/issues/60Yury Lunevhttp://github.com/koolkhelnoreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-79039422570883544292018-09-21T13:56:31.456+02:002018-09-21T13:56:31.456+02:00You mean that if output resolution is 1024x600 you...You mean that if output resolution is 1024x600 you have garbage on the video surfce? Or on the entire screen?Luca Carlonhttps://www.blogger.com/profile/05071568155815750619noreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-17728488299038002102018-09-21T11:24:59.155+02:002018-09-21T11:24:59.155+02:00Thank you, Luca!
I've removed all other optio...Thank you, Luca!<br /><br />I've removed all other options from /usr/lib/qt5/plugins/mediaservice/ and it now seems to work :-) CPU usage dropped to 2-7% and I can see POT messages when QT_DEBUG_PLUGINS=1 is set. So thank you very much for the hint.<br /><br />I got another integration question, though ;-) I've used 1024 by 600 display and I got garbage on the screen. It seems to work nice with 1024 by 768, though, so I hope it will work fine with my setup. Any way I can influence its behavior with weird resolutions? Or it is built-in Raspberry-something?Yury Lunevhttp://github.com/koolkhelnoreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-24496885668120701532018-09-20T19:47:08.336+02:002018-09-20T19:47:08.336+02:00You can see details using the env variable QT_DEBU...You can see details using the env variable QT_DEBUG_PLUGINS. But POT won't be used if other plugins are available. Qt tends to use other plugins when others are installed. It is typically as simple as moving the other plugins somewhere else.Luca Carlonhttps://www.blogger.com/profile/05071568155815750619noreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-88980279449981933502018-09-20T19:44:35.846+02:002018-09-20T19:44:35.846+02:00It depends on you. The code is identical. If you w...It depends on you. The code is identical. If you want to build up your own rootfs using yocto you can't use the raspbian build.Luca Carlonhttps://www.blogger.com/profile/05071568155815750619noreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-89601765396936949012018-09-20T14:54:12.297+02:002018-09-20T14:54:12.297+02:00Thank you for the great work you done with this pr...Thank you for the great work you done with this project!<br /><br />It seems like I was able to integrate POT plugin to my Yocto firmware, though I'm unsure if it is actually utilized for decoding h264 video I have here :-)<br /><br />Logs say:<br />```<br />qt.multimedia.video: found videonode plugin "egl" 0x16674e8<br />```<br />And I don't know if that's mutually exclusive with POT. It works, but it eats 30% cpu for a simple video.<br /><br />Is there a way to verify everything is working right?Anonymoushttps://www.blogger.com/profile/04748957932546886996noreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-27883689793672954902018-08-19T17:57:00.501+02:002018-08-19T17:57:00.501+02:00Where can I find 'meta-raspberrypi-crypto'...Where can I find 'meta-raspberrypi-crypto'? Looking on google only this post makes reference to it.<br /><br />ThanksDavid Ealesnoreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-76058293016923355042018-08-14T04:29:03.756+02:002018-08-14T04:29:03.756+02:00I would like to ask, what is the best way (for be...I would like to ask, what is the best way (for better performance) to use pot. Is it better to used a yocto image or using Raspbian StrechAnonymoushttps://www.blogger.com/profile/16688721867202130959noreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-14822863776459330562018-06-01T08:13:52.421+02:002018-06-01T08:13:52.421+02:00After adding qtdeclarative-tools to pot-minimal.bb...After adding qtdeclarative-tools to pot-minimal.bb i can use qmlscene now.Michalnoreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-29826244798708833292018-05-31T12:25:29.799+02:002018-05-31T12:25:29.799+02:00Thank you for making recipe. I tried compile pot-m...Thank you for making recipe. I tried compile pot-minimal.bb, and it went well. But unfortunately there isn't any qmlscene bin file. I tried to look for it and it looks like it's part of qtdeclarative-tools(oe-pkgdata-util list-pkg-files qtdeclarative-tools) but it wont let me add package using bitbake qtdeclarative-tools. Im really new in Yocto so maybe it's trivial problem.Michalnoreply@blogger.com