This is a test script which pretty much does exactly what the application does. Substituting x264 and running on a normal PC, this pipeline does work. On the embedded system, bang!
#!/bin/sh
ENC="mfw_vpuencoder codec-type=2"
DEC="mfw_h264decoder"
#ENC="x264enc"
#DEC="ffdec_h264"
gst-launch \
"videotestsrc" ! \
"ffmpegcolorspace" ! \
"video/x-raw-yuv,format=(fourcc)I420,width=352,height=288,framerate=(fraction)90000/3000" ! \
"$ENC" ! \
"rtph264pay" "mtu=1444" "pt=107" ! \
"application/x-rtp,media=video,payload=107,clock-rate=90000,encoding-name=H264" ! \
"rtph264depay" ! \
"$DEC" ! \
"ffmpegcolorspace" ! \
"ximagesink" "display=:0.0"
and this is the output:
H264D_ARM11_02.06.01 build on Jul 12 2011 13:38:27.
MFW_GST_H264_DECODER_PLUGIN 2.0.3-1-179-e630aa8d build on Dec 26 2011 16:04:09.
Setting pipeline to PAUSED ...
[INFO] Product Info: i.MX53
VPU Version: firmware 1.4.41; libvpu: 5.3.2
MFW_GST_VPU_ENCODER_PLUGIN 2.0.3-1-179-e630aa8d build on Dec 26 2011 15:58:19.
Pipeline is PREROLLING ...
Caught SIGSEGV accessing address 0x180f
#0 0x2ad1d976 in ?? ()
#1 0x2ad31722 in ?? ()
Spinning. Please run 'gdb gst-launch 16089' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
^CCaught interrupt -- handling interrupt.
Interrupt: Stopping pipeline ...
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
^C
the SEGV is disappointing!