gstreamer plugin VPU_DecOpen() fails

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

gstreamer plugin VPU_DecOpen() fails

922 Views
alexandershashk
Contributor II

Hello all,

I'm using gstreamer to play mpeg2 stream from udp, but my vpudec plugin fails to initialize. Here is my pipeline:

gst-launch udpsrc uri=udp://0.0.0.0:1234 ! mpegtsdemux ! queue ! mpegvideoparse ! vpudec ! ximagesink

The error log is following:

0:00:00.736662000 23721 0x4330ec60 INFO     vpudec vpudec.c:1185:gst_vpudec_setcaps: Get upstream caps video/mpeg, mpegversion=(int)2, systemstream=(boolean)false, parsed=(boolean)true, width=(int)720, height=(int)480, framerate=(fraction)60000/1001, pixel-aspect-ratio=(fraction)8/9, codec_data=(buffer)2d01e024249f23821020202620262c2c2c2c2c2c343034363636343434343636363a3a3a4444443a3a3a36363a3a404044444a4c4a464644464c4c50505060605c5c7070748a8aa710111112121213131313141414141415151515151516161616161616171717171717171718181819181818191a1a1a1a191b1b1b1b1b1c1c1c1c1e1e1e1f1f21000001b5148200010000000001b8, profile=(string)main, level=(string)low, interlaced=(boolean)true

0:00:00.737632666 23721 0x4330ec60 INFO     vpudec vpudec.c:1194:gst_vpudec_setcaps: Get codec std 10

0:00:00.737794666 23721 0x4330ec60 INFO     vpudec vpudec.c:1198:gst_vpudec_setcaps: Set Width 720

0:00:00.737944000 23721 0x4330ec60 INFO     vpudec vpudec.c:1202:gst_vpudec_setcaps: Set Height 480

0:00:00.738200000 23721 0x4330ec60 INFO     vpudec vpudec.c:1208:gst_vpudec_setcaps: Set codec_data 0x4330d010, data 0x43d02a00, malloc 0x43d02a00, ts 99:99:99.999999999, dur 99:99:99.999999999, size 150, offset 18446744073709551615, offset_end 18446744073709551615, caps: NULL

0:00:00.749876000 23721 0x4330ec60 INFO     vpudec vpudec.c:1234:gst_vpudec_setcaps: got downstream allow caps video/x-raw-yuv, format=(fourcc)NV12, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)YV12, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

0:00:00.759436333 23721 0x4330ec60 ERROR    vpudec vpudec.c:1282:gst_vpudec_setcaps: Func VPU_DecOpen failed!! with ret 1

For me line "Get codec std 10" looks strange. Why codec 10? From docs I found following typedef used for decoder initialization:

typedef enum {

STD_MPEG4 = 0,

STD_H263 = 1,

STD_AVC = 2,

STD_VC1 = 3,

STD_MPEG2 = 4,

STD_DIV3 = 5,

STD_RV = 6,

STD_MJPG = 7,

STD_AVS = 8,

STD_VP8 = 9,

} CodStd;

And there is no codec with id 10. MPEG2 has id 4. What's wrong or missing?

Here is version of plugin:

vpudec versions :

plugin: 3.0.7

wrapper: 1.0.35(VPUWRAPPER_ARM_LINUX Build on Jul  2 2013 08:38:58)

vpulib: 5.4.12

firmware: 2.1.9.36350

Thank you in advance!

Tags (3)
0 Kudos
2 Replies

516 Views
joanxie
NXP TechSupport
NXP TechSupport

did you use mx6q? could you give me reproduced steps, let me tested it on my board.

0 Kudos

516 Views
alexandershashk
Contributor II

The question is old and discussion can be closed. I figured out that board's manufacturer had provided kernel with incorrect settings, that was a cause for this error. I replaced kernel with newer version and problem is gone.

0 Kudos