- Fixed bugs reported on github.
- New environment variables used for controlling deinterlacing:
- POT_HALF_FRAMERATE_MODE: if set to 1 the number of frames sent to the renderer are halved. This is needed mostly when using deinterlacing.
- POT_TEXTURE_COUNT: number of texture to be used when buffering. Default is 4.
- POT_DEINTERLACE_MODE: the type of deinterlacing; 0 means off, 1 means auto and 2 means on.
- POT_DEINTERLACE_QPU: 0 or 1; indicates whether to use the QPU for deinterlacing.
- Added watchdogs to monitor the video capabilities and discover instability. These are currently disable but you can enable if needed.
- Some other minor fixes and improvements.
Please file bugs to github if you experience issues.
Bye! ;-)
Download PiOmxTextures 5.1.0 for Raspbian Jessie Pi2 here (extraction code is: bd4f).
Download PiOmxTextures 5.1.0 for Raspbian Jessie Pi2 with Bluetooth (BLE) here.
Configure summary
Building on: linux-g++ (x86_64, CPU features: mmx sse sse2)
Building for: devices/linux-rasp-pi2-g++ (arm, CPU features: neon)
Platform notes:
- Also available for Linux: linux-clang linux-kcc linux-icc linux-cxx
qmake vars .......... styles += mac fusion windows QT_CFLAGS_GLIB = -pthread -I/opt/rpi/sysroot/usr/include/glib-2.0 -I/opt/rpi/sysroot/usr/lib/arm-linux-gnueabihf/glib-2.0/include QT_LIBS_GLIB = -L/opt/rpi/sysroot/usr/lib/arm-linux-gnueabihf -lgthread-2.0 -pthread -lglib-2.0 QT_CFLAGS_PULSEAUDIO = -D_REENTRANT -I/opt/rpi/sysroot/usr/include/glib-2.0 -I/opt/rpi/sysroot/usr/lib/arm-linux-gnueabihf/glib-2.0/include QT_LIBS_PULSEAUDIO = -L/opt/rpi/sysroot/usr/lib/arm-linux-gnueabihf -lpulse-mainloop-glib -lpulse -lglib-2.0 QMAKE_CFLAGS_FONTCONFIG = -I/opt/rpi/sysroot/usr/include/freetype2 QMAKE_LIBS_FONTCONFIG = -L/opt/rpi/sysroot/usr/lib/arm-linux-gnueabihf -lfontconfig -lfreetype QMAKE_INCDIR_LIBUDEV = QMAKE_LIBS_LIBUDEV = -L/opt/rpi/sysroot/usr/lib/arm-linux-gnueabihf -ludev QMAKE_LIBINPUT_VERSION_MAJOR = 1 QMAKE_LIBINPUT_VERSION_MINOR = 0 QMAKE_INCDIR_LIBINPUT = /opt/rpi/sysroot/home/pi/qtdeps/include QMAKE_LIBS_LIBINPUT = -L/opt/rpi/sysroot/home/pi/qtdeps/lib -linput QMAKE_LIBXI_VERSION_MAJOR = 1 QMAKE_LIBXI_VERSION_MINOR = 7 QMAKE_LIBXI_VERSION_PATCH = 4 QMAKE_X11_PREFIX = /usr QMAKE_XKB_CONFIG_ROOT = /usr/share/X11/xkb QMAKE_CFLAGS_XCB = QMAKE_LIBS_XCB = -L/opt/rpi/sysroot/usr/lib/arm-linux-gnueabihf -lxcb-sync -lxcb-xfixes -lxcb-render -lxcb-randr -lxcb-image -lxcb-shm -lxcb-keysyms -lxcb-icccm -lxcb-shape -lxcb INCLUDEPATH += "/opt/rpi/sysroot/home/pi/qtdeps/include" LIBS += -L"/opt/rpi/sysroot/home/pi/qtdeps/lib" sql-drivers = sql-plugins = sqlite qmake switches .........
Build options:
Configuration .......... accessibility accessibility-atspi-bridge alsa audio-backend c++11 clock-gettime clock-monotonic compile_examples concurrent cross_compile cups dbus egl eglfs eglfs_brcm enable_new_dtags evdev eventfd fontconfig full-config getaddrinfo getifaddrs glib gstreamer-1.0 harfbuzz iconv icu inotify ipv6ifname large-config largefile libinput libproxy libudev linuxfb medium-config minimal-config mremap mtdev neon nis opengl opengles2 openssl pcre png posix_fallocate pulseaudio qpa qpa reduce_exports release rpath shared small-config system-freetype system-jpeg system-png system-zlib tslib use_gold_linker xcb xcb-glx xcb-plugin xcb-render xcb-xlib xinput2 xkbcommon-qt xlib xrender
Build parts ............ libs examples
Mode ................... release
Using sanitizer(s)...... none
Using C++11 ............ yes
Using gold linker....... yes
Using new DTAGS ........ yes
Using PCH .............. no
Target compiler supports:
Neon ................. yes
Qt modules and options:
Qt D-Bus ............... yes (loading dbus-1 at runtime)
Qt Concurrent .......... yes
Qt GUI ................. yes
Qt Widgets ............. yes
Large File ............. yes
QML debugging .......... yes
Use system proxies ..... no
Support enabled for:
Accessibility .......... yes
ALSA ................... yes
CUPS ................... yes
Evdev .................. yes
FontConfig ............. yes
FreeType ............... yes (system library)
Glib ................... yes
GStreamer .............. yes (1.0)
GTK theme .............. no
HarfBuzz ............... yes (bundled copy)
Iconv .................. yes
ICU .................... yes
Image formats:
GIF .................. yes (plugin, using bundled copy)
JPEG ................. yes (plugin, using system library)
PNG .................. yes (in QtGui, using system library)
journald ............... no
libinput................ yes
mtdev .................. yes (system library)
Networking:
getaddrinfo .......... yes
getifaddrs ........... yes
IPv6 ifname .......... yes
libproxy.............. yes
OpenSSL .............. yes (loading libraries at run-time)
NIS .................... yes
OpenGL / OpenVG:
EGL .................. yes
OpenGL ............... yes (OpenGL ES 2.0+)
OpenVG ............... no
PCRE ................... yes (bundled copy)
pkg-config ............. yes
PulseAudio ............. yes
QPA backends:
DirectFB ............. no
EGLFS ................ yes
EGLFS i.MX6....... . no
EGLFS KMS .......... no
EGLFS Mali ......... no
EGLFS Raspberry Pi . yes
EGLFS X11 .......... no
LinuxFB .............. yes
XCB .................. yes (system library)
EGL on X ........... no
GLX ................ yes
MIT-SHM ............ yes
Xcb-Xlib ........... yes
Xcursor ............ yes (loaded at runtime)
Xfixes ............. yes (loaded at runtime)
Xi ................. no
Xi2 ................ yes
Xinerama ........... yes (loaded at runtime)
Xrandr ............. yes (loaded at runtime)
Xrender ............ yes
XKB ................ yes
XShape ............. yes
XSync .............. yes
XVideo ............. yes
Session management ..... yes
SQL drivers:
DB2 .................. no
InterBase ............ no
MySQL ................ no
OCI .................. no
ODBC ................. no
PostgreSQL ........... no
SQLite 2 ............. no
SQLite ............... yes (plugin, using bundled copy)
TDS .................. no
tslib .................. yes
udev ................... yes
xkbcommon-x11........... yes (bundled copy, XKB config root: /usr/share/X11/xkb)
xkbcommon-evdev......... no
zlib ................... yes (system library)
Hi Luca,
ReplyDeletedoes this run on the pi-1 as well? If not, will you upload that package as well?
Would be great.
No, as you can see Qt is built for armv7 with neon optimisations. You'll have to rebuild it. I'll provide the sources shortly.
DeleteHello,
ReplyDeleteI have this error message when I play a video with qt example (examples/multimedia/video/qmlvideo or qmlvideofx) :
17:52:39.706 ERROR: Failed to get shared OGL context. Please enable it with the proper attr.
What to do to fix this error ? I try with another video, but I had the same error message
Raspberry Pi firmware is up-to-date. Full log :
Unable to query physical screen size, defaulting to 100 dpi.
To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
17:52:39.702 INFORMATION: POT build Nov 10 2015 21:01:04.
17:52:39.705 INFORMATION: Initializing GPU context in media processor...
Requesting control for org.qt-project.qt.metadatareadercontrol/5.0...
17:52:39.705 INFORMATION: Initializing buffer provider...
Requesting control for org.qt-project.qt.mediaavailabilitycontrol/5.0...
Requesting control for org.qt-project.qt.mediaplayercontrol/5.0...
Requesting control for org.qt-project.qt.medianetworkaccesscontrol/5.0...
Requesting control for org.qt-project.qt.videorenderercontrol/5.0...
Input #0, h264, from '/opt/vc/src/hello_pi/hello_video/test.h264':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: h264 (Main), yuv420p(tv, bt709), 1920x1080, 25 fps, 25 tbr, 1200k tbn, 50 tbc
17:52:41.278 INFORMATION: Instantiating texture data...
17:52:41.279 INFORMATION: Creating EGLImageKHR...
eglCreateImageKHR: failed to create image for buffer 0x74b57d5 target 12465 error 0x3008
17:52:41.280 ERROR: Failed to create KHR image: 12296.
17:52:41.280 INFORMATION: Instantiating texture data...
17:52:41.280 INFORMATION: Creating EGLImageKHR...
eglCreateImageKHR: failed to create image for buffer 0x74b57d5 target 12465 error 0x3008
17:52:41.281 ERROR: Failed to create KHR image: 12296.
17:52:41.283 INFORMATION: Instantiating texture data...
17:52:41.283 INFORMATION: Creating EGLImageKHR...
eglCreateImageKHR: failed to create image for buffer 0x74b57d5 target 12465 error 0x3008
17:52:41.283 ERROR: Failed to create KHR image: 12296.
17:52:41.283 INFORMATION: Instantiating texture data...
17:52:41.283 INFORMATION: Creating EGLImageKHR...
eglCreateImageKHR: failed to create image for buffer 0x74b57d5 target 12465 error 0x3008
17:52:41.283 ERROR: Failed to create KHR image: 12296.
17:52:41.284 WARNING: Couldn't get a valid texture.
Video codec omx-h264 width 1920 height 1080 profile 77 fps 25.000000
V:PortSettingsChanged: 1920x1080@25.00 interlace:0 deinterlace:0 anaglyph:0 par:inf layer:0 alpha:255
Best regards
You need to enable shared opengl context. Refer to Qt documentation for that.
DeleteHello,
ReplyDeleteI thank you for your support Luca, really appreciated. I would like to ask you about dependencies; I am trying to cross compile my project (which I have started on POT 5 beta 2) against POT 5.1 jessie on pi2. but when I try to compile it, it fails to compile, it could not find "libicui18n.so.55, libicuuc.so.55, libicudata.so.55". I have already have libicu-dev and libicu52 but those are provide "libicui18n.so.52, libicuuc.so.52, libicudata.so.52" but I could not be able to find "libicui18n.so.55, libicuuc.so.55, libicudata.so.55". Do you have any advice where can i find those or how can i solve this problem?
Thank you,
Sina
Those libs are provided in qtdeps. What's the exact error?
Delete/opt/rpi/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: warning: libicui18n.so.55, needed by /opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so, not found (try using -rpath or -rpath-link)
Delete/opt/rpi/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: warning: libicuuc.so.55, needed by /opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so, not found (try using -rpath or -rpath-link)
/opt/rpi/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: warning: libicudata.so.55, needed by /opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so, not found (try using -rpath or -rpath-link)
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucnv_compareNames_55'
Delete/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucnv_fromUnicode_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucnv_countAliases_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucal_get_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucol_open_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucal_openTimeZones_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `u_strToUpper_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucal_close_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucal_openTimeZoneIDEnumeration_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucal_getDSTSavings_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucnv_toUnicode_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucol_setAttribute_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucnv_open_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucol_strcoll_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucnv_close_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucal_getTimeZoneDisplayName_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucal_open_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucol_close_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucal_openCountryTimeZones_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucnv_getStandardName_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucol_getSortKey_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucnv_getAvailableName_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucal_setMillis_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `u_errorName_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucnv_getDefaultName_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `uenum_next_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `u_strToLower_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucal_inDaylightTime_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `uenum_close_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucal_clone_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucnv_getAlias_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucnv_getMaxCharSize_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucal_getDefaultTimeZone_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucnv_setSubstChars_55'
/opt/rpi/sysroot/usr/local/Qt-rasp2-5.5.1/lib/libQt5Core.so: undefined reference to `ucnv_countAvailable_55'
collect2: error: ld returned 1 exit status
This comment has been removed by the author.
DeleteAh Luca, I found the why linker could not be able to find qtdeps, becasuse the rpath link has been setted to different path where I have copied them. I copied qtdeps to root but rpath link setted to /home/pi/qtdeps/lib.
DeleteSo everythink is ok now, I thank you so much.
Sina
Thanks for your work on this.
ReplyDeleteI have one error i can get rid off.
eglCreateImageKHR: failed to create image for buffer 0x28 target 12465 error 0x300c
22:55:04.546 ERROR: Failed to create KHR image: 12300.
I have made a app who shows a image in a ListView slides and shows a video (using POT) after the video has been showed i destory the video object en plays a image or a video so on so... after 8 minutes i get the error escripted above... I think there is a leak... but i don't no how to fix it
You can file the bug on github but you need to provide a simple way to reproduce. There are people running for weeks so it may be something related to your specific use case.
DeleteI have found the problem when you initialize the mediaplayer a lot of times and destroy It the player Will crash... there is a memoryleak when you destroy the mediaplayer. Solution I implementeren now is one mediaplayer which I overlap over my slider when he is finished. For the slider I have made a screenshot of the first and the last frame. And nog everything is working fine...
DeleteThanks for the great work...
Cheers
What is the memory leaked? You can propose the fix if you found it.
DeleteHi. I have tried to play video with audio. Video plays perfectly but I've got no audio. Then i tried to play just audio and got the same problem.
ReplyDeleteCode:
MediaPlayer {
id: mpa
source: "file:///home/pi/prest.mp3"
autoPlay: true
volume: 1.0
onPlaying: {
console.log("Volume: " + mpa.volume)
}
}
Logs:
[mp3 @ 0x67825ad0] Skipping 417 bytes of junk at 85.
[mp3 @ 0x67825ad0] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from '/home/pi/prest.mp3':
Metadata:
artist : Quinn String Quartet
album : Israeli Concertino
genre : Classical
Duration: 00:01:06.65, start: 0.000000, bitrate: 128 kb/s
Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 128 kb/s
Audio codec mp3 channels 2 samplerate 44100 bitspersample 16
qml: Volume: 0.009999999776482582
I get no errors in logs, but volume of my media player is near zero. Do you have idea what can be the issue? Without POT its OK but video is not accelerated.
Open an issue in github, if I'll find the time I'll have a look.
Delete