Steve Green

vpu_DecGetInitialInfo error when running mxc_vpu_test demo app

Discussion created by Steve Green on Jan 26, 2012
Latest reply on Nov 2, 2012 by kishan

Dear all
Just getting the iMX53 QSB up and running and trying to run the mxc_vpu_test from the imx-test applications. I’ve used ltib to unpack and build the test apps fine but there’s a problem running this. I put some additional debug statements in to show me what it’s doing (marked as [SRG] below), the rest of the code is unchanged. I’m trying to play the sample MP4 file that comes with the demo. The debug is to show when the application functions and the VPU API functions get called:

root@freescale /tmp$ ./mxc_vpu_test.out -D "-i akiyo.mp4"
[INFO] main.c:390 VPU test program built on Jan 26 2012 09:48:58
[SRG] main.c:398 call to vpu_Init
[SRG] main.c:406 call to vpu_GetVersionInfo
[INFO] Product Info: i.MX53
[INFO] main.c:416 VPU firmware version: 13.4.41
[INFO] main.c:418 VPU library version: 5.3.2
[INFO] utils.c:436 Format: STD_MPEG4
[INFO] utils.c:439 MPEG4 class: MPEG4
[INFO] utils.c:374 Input file "akiyo.mp4" opened.
[SRG] dec.c:1985 enter function decoder_test()
[SRG] dec.c:1905 enter function decoder_open()
[SRG] dec.c:1946 call vpu_DecOpen
[SRG] dec.c:215 enter function dec_fill_bsbuffer()
[SRG] dec.c:217 call to vpu_DecGetBitstreamBuffer
[SRG] dec.c:310 call to vpu_DecUpdateBitstreamBuffer
[SRG] dec.c:1597 enter function decoder_parse()
[SRG] dec.c:1621 call to vpu_DecSetEscSeqInit 1
[SRG] dec.c:1623 call to vpu_DecGetInitialInfo
[SRG] dec.c:1625 call to vpu_DecSetEscSeqInit 0
[ERR] dec.c:1629 vpu_DecGetInitialInfo failed, ret:-10, errorcode:0
[ERR] dec.c:2059 decoder parse failed
[SRG] dec.c:1963 enter function decoder_Close()
[SRG] dec.c:1964 call vpu_DecClose
[SRG] dec.c:1278 enter function decoder_free_framebuffer()
[SRG] main.c:490 call to vpu_UnInit

According to the decoder info in document “i.MX5x_Linux_VPU_API.pdf”, this says return code ‘-10’ means “wrong call sequence”, so calls to the VPU seem to be done out of order. The document says the error could be caused when “the application might call this function before successfully putting the bitstream into the buffer data by calling vpu_DecUpdateBitstreamBuffer().”. Though the order above looks correct to that document. Any ideas for why this might be? Many thanks.