gstreamer: mfw_vpudecoder not being selected by playbin2

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

gstreamer: mfw_vpudecoder not being selected by playbin2

ソリューションへジャンプ
1,350件の閲覧回数
jhollister
Contributor II

I'm working on a new product design based on the i.MX535 MCU and I've been using the i.MX53 Quick Start Board (QSB) for software development. For about a year now I've been running videos on the QSB using "gst-launch playbin2 uri=…", which has been selecting the mfw_vpudecoder plugin for video decoding and mfw_v4lsink for video output. This is the behavior I want.

Now I've transferred my software development efforts to my new target board that also uses the i.MX535 and was designed, as much as practical, to be similar to the QSB's reference design. However, on my target board, "gst-launch playbin2 uri=…" appears to ignore mfw_vpudecoder and selects mfw_h264decoder instead.

As far as I can tell, I'm running the same video files, same Linux BSP (11.04 Lucid), same version of gstreamer, Freescale codecs (2.0.4), etc. on the QSB and on my target board. I've used gst-inspect to look at the registered plugins and mfw_vpudecoder is registered and not blacklisted. On both boards, mfw_vpudecoder has a plugin rank of 257 (Unknown) and mfw_h264decoder has a plugin rank of 256 (Primary). I've also checked, using ldd, that the mfw_vpudecoder plugin .so encoder and decoder files are finding all of the shared libraries they depend upon. My understanding is that, given all this, mfw_vpudecoder should be selected by playbin2.

Can anyone give me some suggestions about why playbin2 is not choosing to use mfw_vpudecoder on my target board, and choosing mfw_h264decoder instead?

ラベル(2)
1 解決策
927件の閲覧回数
fabio_estevam
NXP Employee
NXP Employee

Hi Jim,

I have met the same issue you described.

It seems that vpu library searches for a harcoded "MX53" string in the machine definition name.

For example: Look at arch/arm/mach-mx5/board-mx53_loco.c , where the machine name is defined as:

MACHINE_START(MX53_LOCO, "Freescale MX53 LOCO Board")

On your own board file, try also adding "MX53" into the string of MACHINE_START.

Hope this helps.

Regards,

Fabio Estevam

元の投稿で解決策を見る

1 返信
928件の閲覧回数
fabio_estevam
NXP Employee
NXP Employee

Hi Jim,

I have met the same issue you described.

It seems that vpu library searches for a harcoded "MX53" string in the machine definition name.

For example: Look at arch/arm/mach-mx5/board-mx53_loco.c , where the machine name is defined as:

MACHINE_START(MX53_LOCO, "Freescale MX53 LOCO Board")

On your own board file, try also adding "MX53" into the string of MACHINE_START.

Hope this helps.

Regards,

Fabio Estevam