iMX53 VPU usage

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

iMX53 VPU usage

1,635 Views
rostislav
Contributor III

Hi,

I am trying to build FFMPEG v0.6.6 on an IMX53 QS board. I need this version of FFMPEG specifically, so that is why I am trying to build it from scratch. After some tests it seems that FFMPEG is not using the NEON SIMD. I would like it to do so.

The problem is, I think I am configuring it properly. My “configure” command is this:

: ./configure --enable-shared --enable-neon --enable-libx264 --enable-gpl --extra-cflags=’-mfpu=neon -mcpu=cortex-a8 -mfloat-abi=softfp’

The configure script’s summary goes on to say “NEON enabled: yes”. But I don’t think it is really engaged. Why do I think this? My kernel has MXC Debugging turned on. That means I get nice messages about the VPU usage when it is used. When I run a demo video, I see many MXC debugging prints. When I run my software which uses FFMPEG, I see no such messages. Also, performance is low and CPU usage is high.

Any ideas on how to build FFMPEG so that it REALLY engages the NEON SIMD (or VPU?)

Labels (1)
Tags (3)
6 Replies

798 Views
rostislav
Contributor III

I installed the Freescale's codecs following i.MX Linux Mulimedia Framework User's Guide.


While trying to use a h264 codec we get the following error:


0:11.053 PExternalT...0x2f2be420 GStreamer mfw_gst_h264_getbuffer: >>DECODER: Error -4 in allocating the Framebuffer[0]

Could anybody point to a document that may help to interpret codec errors? What the  "Error -4" means?

0 Kudos

798 Views
LeonardoSandova
Specialist I

Hi rostislav

I wonder if you are really using the element you are building.

can you post the pipeline you are running?

are you using playbin2?

Also, I am not sure how much benefit does the '-mfpu=neon' is archive for that particular gst element. As DaianeAngolini mentioned, ffmpeg plugins do not accelerate the decoding/encoding using the VPU, so the only optimization you can get is using the NEON configure parameter, as you have done.

0 Kudos

798 Views
rostislav
Contributor III

Hi Leonardo,

Thank you for your help. Unfortunately ffmpeg is not capable to use the VPU.

I am looking for g-stream friendly solution for my application. That may use Freescale codecs.

798 Views
daiane_angolini
NXP Employee
NXP Employee

That sounds good to me.

Please, keep posting your progress (here or on a new discussion). I´m sure there is somebody else working almost the same.

0 Kudos

798 Views
daiane_angolini
NXP Employee
NXP Employee

FFMPEG does not have VPU support.

As I know, any decoder from ffmpeg is sotfware based.

For the neon support, I did not understand how you concluded you´re not using it on ffmpeg, could you, please elaborate?

798 Views
rostislav
Contributor III

Hi Daiane,

I mistakenly thought that Neon is a VPU name. I need to use VPU not Neon. Unfortunately ffmpeg doesn't support VPU. I actually didn't check if Neon used. To confirm VPU usage I added to each VPU related kernel API printk.