i.MX6Q: Video freeze after running for long time "VPU blocking: timeout."

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

i.MX6Q: Video freeze after running for long time "VPU blocking: timeout."

Jump to solution
5,463 Views
Tarek
Senior Contributor I

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

Labels (3)
1 Solution
2,182 Views
Tarek
Senior Contributor I

It turned out that vpudec low-latency property was causing the problem.

Once I disabled this option all the video streams runs forever.

View solution in original post

25 Replies
1,898 Views
宗標廖
Contributor V

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

0 Kudos
2,183 Views
Tarek
Senior Contributor I

It turned out that vpudec low-latency property was causing the problem.

Once I disabled this option all the video streams runs forever.

1,898 Views
mghasan
Contributor I

Hi Tarek,

Where to disable this low-latency property? We are also getting same issue when we try to play multiple streams using IMX6 board based on Android 4.2.2.

0 Kudos
1,898 Views
宗標廖
Contributor V

Hello Hasan

Did you find where to disable this low-latency property?

Thank you!

ZongbiaoLiao

0 Kudos
1,898 Views
Tarek
Senior Contributor I

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?

0 Kudos
1,898 Views
ChucoChe
NXP Employee
NXP Employee

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


1,898 Views
mikesloman
Contributor I

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.

0 Kudos
1,898 Views
LeonardoSandova
Specialist I

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

1,898 Views
Tarek
Senior Contributor I

Hi Michel,


The maximum memory bandwidth is about 1 GB/s and utilization = 16 %


I should be able to get more out of it. Is there anyway to improve it?

0 Kudos
1,900 Views
ChucoChe
NXP Employee
NXP Employee

Hi,

Could you describe the pipeline and files?

Also, have  you tried a 1080p at 60fps file? That may point us to some extra overhead.

Michel

0 Kudos
1,900 Views
Tarek
Senior Contributor I

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

0 Kudos
1,900 Views
ChucoChe
NXP Employee
NXP Employee

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

0 Kudos
1,900 Views
Tarek
Senior Contributor I

Hi Michel,

I have recorded H264 raw stream and used the application attached to play it back in 60 pps. The same problem occurs.

Do you have any suggestions?

Thanks,

Tarek

0 Kudos
1,900 Views
Tarek
Senior Contributor I

The camera is a different platform. It's not Freescale nor Linux.

I will record few minutes and try to play it back in 60 frames per seconds. Does it have to be H264 or mpeg4 will do?

0 Kudos
1,900 Views
ChucoChe
NXP Employee
NXP Employee

H264 would be better. Could you describe your setup? Software and Hardware.

Michel

0 Kudos
1,900 Views
Tarek
Senior Contributor I

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.

0 Kudos
1,900 Views
karina_valencia
NXP Apps Support
NXP Apps Support

ChucoChe please  continue with the follow up.

0 Kudos
1,898 Views
karina_valencia
NXP Apps Support
NXP Apps Support

No update from customer

0 Kudos
1,898 Views
Tarek
Senior Contributor I

I'm on holiday and will try your suggestion once I get back to office

Thanks

On 9 Aug 2013 15:56, "Karina Valencia Aguilar" <

0 Kudos
1,898 Views
ChucoChe
NXP Employee
NXP Employee

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

0 Kudos