imxplayer (imx-qtapplications) source code

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imxplayer (imx-qtapplications) source code

2,469 Views
ericholmberg
Contributor III

imxplayer is a binary component in the imx-qtapplications recipe in the latest Yocto BSP 5.4.70_2.3.0 and I have been unsuccessful in tracking down the source code.  Could you please point me to the source code?

I'm trying debug a video playback performance issue when using xwayland on the imx6qsabresd.  QMediaPlayer performance is around 3 fps when using xwayland on imx6qsabresd.  Using gplay, gst-play-1.0, and imxplayer all work correctly at 30 fps.  I would be interested to see what imxplayer is doing behind the scenes to get better performance through QT.

Interestly, objdump on imxplayer seems to indicate that it is not using QMediaPlayer, but I would like to take a look at the source code to confirm.

0 Kudos
12 Replies

2,439 Views
ericholmberg
Contributor III

[Post Moved to reply to joanxie's response instead of a reply to topic]

0 Kudos

2,456 Views
joanxie
NXP TechSupport
NXP TechSupport

the path is:

"/imx-gst1.0-plugin/4.5.7-r0/git/tools/imx-player/"

2,428 Views
ericholmberg
Contributor III

Thank you for the reply Joan.  I checked that one and it looks like it uses GTK directly instead of QT, so there confusingly appears to be two imxplayer test applications.

The source I am looking for is for the QT imxplayer which is part of the imx-qtapplications recipe and is installed at the path /usr/share/qt5/examples/multimedia/imxplayer/imxplayer.  The build path is imx-qtapplications-1.2.2-aarch32/usr/share/qt5/examples/multimedia/imxplayer/imxplayer.

Here is the contents of the SCR:

 

imx-qtapplications/1.2.2-aarch32-r0/imx-qtapplications-1.2.2-aarch32$ cat SCR-imx-qtapplications.txt 
NXP Software Content Register

--------------------------------------------

Package:                   imx-qtapplications-*.bin
Outgoing License:          LA_OPT_BASE_LICENSE 
License File:              COPYING
Package Category:          Multimedia
Type of content:           Binaries
Description and comments:  i.MX QT multimedia player application
Release Location:          i.MX Yocto Project mirror
Origin:                    NXP (proprietary)
                           Freescale Semiconductor, Inc. (proprietary)

--------------------------------------------

 

 

 

0 Kudos

2,421 Views
joanxie
NXP TechSupport
NXP TechSupport

do you mind sending the imxplayer picture to me? let me check what imxplayer you mean look like?

in fact you can find ../git/doc/design, which shows the imxplayer uses qt as GUI, if you need the source code of qtmultimedia, you can find /tmp/work/cortexa53-crypto-poky-linux/qtmultimedia, it seems this imxplayer you add by yourself, right? how did you get the imxplayer? add it in the local.conf, then build the bsp? if yes, maybe you can try to find the path of /tmp/work/cortexa53-crypto-poky-linux/qtmultimedia

0 Kudos

2,403 Views
ericholmberg
Contributor III

The imxplayer utility just plays video full-screen, so a screen shot will just show a frame of the test video.

imxplayer is enabled by the layer sources/meta-imx/meta-sdk/dynamic-layers/qt5-layer/recipes-qt/qt5/imx-qtapplications_1.2.2-aarch32.bb and downloaded by sources/meta-imx/meta-sdk/dynamic-layers/qt5-layer/recipes-qt/qt5/imx-qtapplications_1.2.2-aarch32.bb.

It appears to only be compatible with iMX6 and iMX7ULP which could be why there is some confusion.

imx_yocto-bsp-5.4.70_2.3.0/imx-yocto-bsp $ grep MACHINE sources/meta-imx/meta-sdk/dynamic-layers/qt5-layer/recipes-qt/qt5/imx-qtapplications_1.2.2-aarch32.bb
COMPATIBLE_MACHINE = "(mx6|mx7ulp)"

 

The Yocto environment has been created by:

repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-zeus -m imx-5.4.70-2.3.0.xml
repo sync
DISTRO=fsl-imx-xwayland MACHINE=imx6qsabresd source imx-setup-release.sh -b build-xwayland

 

0 Kudos

2,396 Views
joanxie
NXP TechSupport
NXP TechSupport

ok, I didn't build imx6, maybe that's the reason I couldn't find it, you can try to find the folder /tmp/work/cortexa53-crypto-poky-linux/qtmultimedia as I mentioned before,  if  you still couldn't find it, pls tell me, let me build the bsp for you, but which cost me couple days, and refer to the bb file:

# For now, imxcamera & imxplayer can only be supported on x11 backend for SoC with VPU only (including i.MX6Q & i.MX6DL)

 

 

0 Kudos

2,375 Views
ericholmberg
Contributor III

FYI /tmp/work/cortexa53-crypto-poky-linux/qtmultimedia is for the iMX8 and I'm using iMX6.

If you refer back to my previous post (https://community.nxp.com/t5/i-MX-Processors/imxplayer-imx-qtapplications-source-code/m-p/1257812/hi...), the problem is that the package is binary only, so even when I looked at the binary really hard and with intense focus, I couldn't get the source code to appear.

For now, imxcamera & imxplayer can only be supported on x11 backend for SoC with VPU only (including i.MX6Q & i.MX6DL)

So are you saying that XWayland does not currently support the VPU on iMX6 or are you just stating that the precompiled example applications do not have that support?

Looks like there is yet another BSP release from the 31st of March, so I've started the build of that to retest the performance.

Ultimately, I am trying to get video playback through QT (QMediaPlayer) running on XWayland for the iMX6.  So far, my testing on 5.4.70_2.3.0 it looks like hardware acceleration for video playback isn't supported for QT + XWayland.  Will see how 5.10.9_1.0.0 works.

0 Kudos

2,352 Views
joanxie
NXP TechSupport
NXP TechSupport

how did you get this? just build the bsp, download the images to the board, then you can get imxplayer under /usr/lib/... or  you need add something in the local.conf? yes, the path I sent to you is for imx8 because I didn't build imx6 yet, but the path should be similar

0 Kudos

2,346 Views
ericholmberg
Contributor III

It is part of the standard Yocto distribution when building for MACHINE=imx6qsabresd and building the full image:

 

bitbake imx-image-full

 

 

You should have the imx-qtapplications in the recipe sources/meta-imx/meta-sdk/dynamic-layers/qt5-layer/recipes-qt/qt5/imx-qtapplications_1.2.2-aarch32.bb.

I didn't see the download URL in the logs when building and figured this would be a quick question, but looks like it is as baffling to you as it is to me!

0 Kudos

2,329 Views
joanxie
NXP TechSupport
NXP TechSupport

I downloaded the latest version and built it, you're right, current bsp doesn't include the imxplayer source code by QT

 

0 Kudos

1,988 Views
kangmw086
Contributor III

So the source code for imxplayer and imxcamera application is not provided?

0 Kudos

1,963 Views
ericholmberg
Contributor III

Correct, it seems to be binary only and using objdump shows that it likely doesn't use QMediaPlayer.

I did end up getting XWayland to support video playback on iMX6 with some video sink changes to QT.  See the thread https://community.nxp.com/t5/i-MX-Graphics/i-MX6-XWayland-QT-Slow-Video-Playback/m-p/1301858

0 Kudos