Hi,
I'm using Saberlite connected to HDMI 10820p monitor. In my test case I'm playing 12 streams with different aspect rations. All the streams are scaled down to fit on the same screen.
Normally I get the following message when I start the streams:
........
imx-ipuv3 imx-ipuv3.0: IDMAC11's EBA0 is not 8-byte aligned
imx-ipuv3 imx-ipuv3.0: IDMAC12's EBA0 is not 8-byte aligned
imx-ipuv3 imx-ipuv3.0: IDMAC11's EBA0 is not 8-byte aligned
imx-ipuv3 imx-ipuv3.0: IDMAC12's EBA0 is not 8-byte aligned
imx-ipuv3 imx-ipuv3.0: IDMAC11's EBA0 is not 8-byte aligned
imx-ipuv3 imx-ipuv3.0: IDMAC12's EBA0 is not 8-byte aligned
imx-ipuv3 imx-ipuv3.0: IDMAC11's EBA0 is not 8-byte aligned
imx-ipuv3 imx-ipuv3.0: IDMAC12's EBA0 is not 8-byte aligned
imx-ipuv3 imx-ipuv3.0: IDMAC11's EBA0 is not 8-byte aligned
imx-ipuv3 imx-ipuv3.0: IDMAC12's EBA0 is not 8-byte aligned
imx-ipuv3 imx-ipuv3.0: IDMAC11's EBA0 is not 8-byte aligned
imx-ipuv3 imx-ipuv3.0: IDMAC12's EBA0 is not 8-byte aligned
imx-ipuv3 imx-ipuv3.0: IDMAC11's EBA0 is not 8-byte aligned
If I leave the system running for enough time "few hours" the video freezes and I get this error message:
imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_10 = 0x00080000
VPU blocking: timeout.
VPU blocking: timeout.
VPU blocking: timeout.
VPU blocking: timeout.
VPU blocking: timeout.
Can you please let me know what does this error indicates and how to solve the problem?
Thanks,
Tarek
已解决! 转到解答。
Hello,Tarek El-Sherbiny
I saw your workground for "imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_10 = 0x00080000" as below:
>It turned out that vpudec low-latency property was causing the problem.
>Once I disabled this option all the video streams runs forever.
Could you tell me where to disable low-latency property?
Thank you!
ZongbiaoLiao
Same problem with different error message:
Error: Internal data flow error.
[WARN] VPU mutex couldn't be locked before timeout expired or get lock failure
[WARN] VPU mutex couldn't be locked before timeout expired or get lock failure
[WARN] VPU mutex couldn't be locked before timeout expired or get lock failure
[WARN] VPU mutex couldn't be locked before timeout expired or get lock failure
[WARN] VPU mutex couldn't be locked before timeout expired or get lock failure
[WARN] VPU mutex couldn't be locked before timeout expired or get lock failure
[WARN] VPU mutex couldn't be locked before timeout expired or get lock failure
[WARN] VPU mutex couldn't be locked before timeout expired or get lock failure
[WARN] VPU mutex couldn't be locked before timeout expired or get lock failure
Any suggestions?
Hi,
imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_10 = 0x00080000 is a bandwidth issue.
H264 @ 1080p 30fps is about [250 to 330] Mbytes/sec and you can more or less make a linear relation for other resolutions or formats.
You can also check the bandwidth consumed with the attached binary.
Michel
Hi Guillermo,
We are trying to profile our IMX6 DDR performance. Can you point me to, or attach, the source code for the mmdc_prof tool? I cant seem to find it anywhere else. Sadly the bin you built is not compatible with our linux version (the software gurus say something about differing ABI calling format or something:-)
Env: imx6 Solo - linux 3.0.68-smx6_03
Thanks.
Mike
If your are familiar with Yocto, the tool is compiled and installed on the target filesystem. Anyway, it should be on the SRC_URI defined here
meta-fsl-bsp-release.git - Freescale i.MX Yocto BSP Release Layer
Hi Michel,
The pipeline is as follow:
-> vpudec
appsrc -> output-selector ->input-selector ->mfw_isink
->jpecgdec
/* appsrc properties */
gst_app_src_set_stream_type (ctx->appsrc,GST_APP_STREAM_TYPE_STREAM);
g_object_set(ctx->appsrc,"stream-type",0, NULL);
g_object_set(ctx->appsrc,"is-live",TRUE, NULL);
g_object_set(ctx->appsrc,"block",TRUE, NULL);
gst_app_src_set_max_bytes(ctx->appsrc, 1*1024*1024);
/* vpu properties */
g_object_set(ctx->vpudec,"low-latency",TRUE, NULL);
g_object_set(ctx->vpudec,"frame-plus",1, NULL);
g_object_set(ctx->vpudec,"profile",TRUE, NULL);
/* isink properties */
g_object_set(ctx->isink,"sync",FALSE, NULL);
Obviously I'm using the vpudec branch all the time.
I couldn't set the camera to stream 60 fps. Sorry about that.
Thanks
Hi,
So, how are you getting the input from the camera? How many CSI channels are you using?
Do you have an encoding pipeline for the camera input?
Could you use your captured video or another video and set the display frame rate to 60 for H264 decoding for testing?
Michel
Hardware: Nitrogen Board i.MX6Q rev. 1.2 connected to HDMI 1080p display.
Software: LTIB BSP 4.0.0
Gstreamer is used to utilize the HW acceleration for decoding and display. So frames are being fed to the decoder with a configurable rate in infinite loop . One frame is sent at a time.
The pipeline as follow:
-> vpudec
apsrc -> queue2 -> output-selector ->input-selector -> queue2 -> mfw_isink
->jpegdec
Please check the attached file as an example for the source code.
I just thought we haven't consider the VPU capabilities. According to reference manual VPU section:
68.4 Functional Description
VPU is a high-performance multi-standard video processing block that supports up to full
HD 1920 x 1088 at 30 fps plus D1 at 30 fps decoding and 1920 x 1088 at 30 fps
encoding.
Maybe this is the cause for the issue. I have sent that info to our R&D team so they can comment on that.
Michel