Robbie Jiang

gstreamer mfw_vpudecoder error on i.mx27

Discussion created by Robbie Jiang on May 26, 2012

Hi,

I'm trying to test mfw_vpudecoder gstreamer plugin on mx27 platform.  Following is the cmd used to receive a RTP stream with H264 encoded video data, then decoded by mfw_vpudecoder.

Note the "ERROR" msg :

0:00:01.204108497  1726    0xd7c68 ERROR         mfw_vpudecoder mfw_gst_vpu_decoder.c:1748:mfw_gst_vpudec_vpu_init: >>VPU_DEC: vpu_DecGetInitialInfo failed. Error code is -1 handle 104720

0:00:01.205032482  1726    0xd7c68 ERROR         mfw_vpudecoder mfw_gst_vpu_decoder.c:2477:mfw_gst_vpudec_chain: >>VPU_DEC: mfw_gst_vpudec_vpu_init failed

 

It seems that the error occurs in vpu_DecGetInitialInfo function of libvpu.

The VPU firmware version is 2.2.5 and  libvpu version is 3.3.2.

I built libvpu and gstreamer plugins (mfw_v4lsrc, mfw_v4lsink, mfw_vpuencoder, mfw_vpudecoder) from MX27_FULL_VPU_LINUX_FW_2.2.5_GST_1.6.1_TO2.X_ONLY (downloaded from http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX27&fpsp=1&tab=Design_Tools_Tab ).

 

Anyone encountered the same problem?

How to fix it?

 

Or is there any updated gstreamer plugin package for i.mx27?

 

Any suggestion is appreciated.

 

Regards,

Jie

 

..............................

 

mx27# gst-launch-0.10 -v --gst-debug=mfw_vpudecoder:5 udpsrc port=5434 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96, ssrc=(uint)1697405199, clock-base=(uint)2806300712, seqnum-base=(uint)63246" ! rtph264depay ! mfw_vpudecoder codec-type=std_avc ! mfw_v4lsink

0:00:00.941287745  1726    0x170b8 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:180:mfw_gst_vpudec_set_property: >>VPU_DEC: codec=2

Setting pipeline to PAUSED ...
0:00:00.991929022  1726    0x170b8 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:3346:mfw_gst_vpudec_change_state:
>>VPU_DEC: State: Null to Ready

Product Info: i.MX27
VPU Version: firmware 2.2.5; libvpu: 3.3.2
MFW_GST_VPU_DECODER_PLUGIN  build on Feb  2 2012 15:20:13.

0:00:01.053322405  1726    0x170b8 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:3470:mfw_gst_vpudec_change_state:
>>VPU_DEC: State Change 0xa for VPU returned 1

0:00:01.054388496  1726    0x170b8 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:3571:mfw_gst_vpudec_change_state:
>>VPU_DEC: State unhandled next 0xa

0:00:01.059210751  1726    0x170b8 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:3376:mfw_gst_vpudec_change_state:
>>VPU_DEC: State: Ready to Paused


0:00:01.060538270  1726    0x170b8 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:3470:mfw_gst_vpudec_change_state:
>>VPU_DEC: State Change 0x13 for VPU returned 1

0:00:01.061436466  1726    0x170b8 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:3571:mfw_gst_vpudec_change_state:
>>VPU_DEC: State unhandled next 0x13

Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
0:00:01.083099775  1726    0x170b8 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:3459:mfw_gst_vpudec_change_state:
>>VPU_DEC: State: Transition to Playing new clock 1863534

0:00:01.084001053  1726    0x170b8 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:3470:mfw_gst_vpudec_change_state:
>>VPU_DEC: State Change 0x1c for VPU returned 1

0:00:01.085028647  1726    0x170b8 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:3571:mfw_gst_vpudec_change_state:
>>VPU_DEC: State unhandled next 0x1c

New clock: GstSystemClock
/GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal
/GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0.GstPad:sink: caps = application/x-rtp, media=(string)video, payload=(int)96, clock-rate=(int)90000, encoding-name=(string)H264, ssrc=(uint)1697405199, clock-base=(uint)2806300712, seqnum-base=(uint)63246
0:00:01.103273309  1726    0xd7c68 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:2984:mfw_gst_vpudec_sink_event: >>VPU_DEC: Receiving new seg

0:00:01.104170677  1726    0xd7c68 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:2985:mfw_gst_vpudec_sink_event: >>VPU_DEC: start = 0:00:00.000000000
0:00:01.105248647  1726    0xd7c68 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:2986:mfw_gst_vpudec_sink_event:  stop = 99:99:99.999999999
0:00:01.106338572  1726    0xd7c68 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:2987:mfw_gst_vpudec_sink_event:  position =0:00:00.000000000
0:00:01.107426993  1726    0xd7c68 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:2988:mfw_gst_vpudec_sink_event:

0:00:01.108882331  1726    0xd7c68 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:3004:mfw_gst_vpudec_sink_event: >>VPU_DEC: End New Seg event

0:00:01.110003685  1726    0xd7c68 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:3707:mfw_gst_vpudec_setcaps: >>VPU_DEC: set framerate nu 30 de 1

0:00:01.111054361  1726    0xd7c68 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:3715:mfw_gst_vpudec_setcaps: >>VPU_DEC: Time per frame 33333333

0:00:01.112095715  1726    0xd7c68 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:3718:mfw_gst_vpudec_setcaps: >>VPU_DEC: Frame Rate = 30

0:00:01.113144512  1726    0xd7c68 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:3720:mfw_gst_vpudec_setcaps: >>VPU_DEC: Input Width is 0

0:00:01.114191354  1726    0xd7c68 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:3722:mfw_gst_vpudec_setcaps: >>VPU_DEC: Input Height is 0

0:00:01.115220151  1726    0xd7c68 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:3736:mfw_gst_vpudec_setcaps: >>VPU_DEC: Assuming no parser input so using streaming mode

0:00:01.134412030  1726    0xd7c68 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:759:mfw_gst_vpudec_vpu_open: >>VPU_DEC: codec=2

0:00:01.183144888  1726    0xd7c68 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:830:mfw_gst_vpudec_vpu_open: >>VPU_DEC: Setting file play mode to 0

0:00:01.184398271  1726    0xd7c68 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:2462:mfw_gst_vpudec_chain: >>VPU_DEC: init needs more data data_in_vpu=29

0:00:01.186106015  1726    0xd7c68 DEBUG         mfw_vpudecoder mfw_gst_vpu_decoder.c:2462:mfw_gst_vpudec_chain: >>VPU_DEC: init needs more data data_in_vpu=37

0:00:01.204108497  1726    0xd7c68 ERROR         mfw_vpudecoder mfw_gst_vpu_decoder.c:1748:mfw_gst_vpudec_vpu_init: >>VPU_DEC: vpu_DecGetInitialInfo failed. Error code is -1 handle 104720

0:00:01.205032482  1726    0xd7c68 ERROR         mfw_vpudecoder mfw_gst_vpu_decoder.c:2477:mfw_gst_vpudec_chain: >>VPU_DEC: mfw_gst_vpudec_vpu_init failed

ERROR: from element /GstPipeline:pipeline0/MfwGstVPU_Dec:mfwgstvpu_dec0: fatal error
Additional debug info:
VPU Decoder Initialization failed
Execution ended after 122384962 ns.

................................................

Outcomes