Issues decoding MJPEG with VPUdec

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

Issues decoding MJPEG with VPUdec

3,134件の閲覧回数
yanntinaugus
Contributor II

Hi everyone,

I'm having issue using VPUdec to decode MJPEG video. Althought, it is said that VPUdec can  decode MJPEG stream, i have been unable to make it works on my side.

Then, tried to transcode a file from H264 to MJPEG thanks to VPUenc (codec=12). This worked great. But then, when I do the other way around : use the file transcoded by the iMX6 and decode it thanks to the VPUdec, it doesn't work.

Does someone has an idea what's wrong ?

Thanks in advance for your help..

command line to transcode h264 ->MJPEG :

gst-launch -vvv filesrc location=test.avi ! decodebin2 ! vpuenc codec=12 bitrate=20000 ! filesink location=test_mjpeg.avi

command line to decode MJPEG :

gst-launch -vvv filesrc location=test_mjpeg.avi ! 'image/jpeg' ! vpudec ! vpuenc codec=6 ! filesink location=test_decode.avi

(I know this is not an 'image' as said in the pipeline, but this is the most relevant parameter I have found in VPUdec description.)

error when I try to decode MJPEG :

root@phyFLEX-i:~ gst-launch -vvv filesrc location=test_mjpeg.avi ! 'image/jpeg'

! vpudec ! vpuenc codec=6 ! filesink location=test_decode.avi

Setting pipeline to PAUSED ...

[INFO]  Product Info: i.MX6Q/D/S

vpuenc versions :smileyhappy:

        plugin: 3.0.7

        wrapper: 1.0.35(VPUWRAPPER_ARM_LINUX Build on Sep  2 2014 12:27:25)

        vpulib: 5.4.12

        firmware: 2.1.9.36350

[INFO]  Product Info: i.MX6Q/D/S

vpudec versions :smileyhappy:

        plugin: 3.0.7

        wrapper: 1.0.35(VPUWRAPPER_ARM_LINUX Build on Sep  2 2014 12:27:25)

        vpulib: 5.4.12

        firmware: 2.1.9.36350

Pipeline is PREROLLING ...

/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = image/jpeg

[INFO]  bitstreamMode 1, chromaInterleave 0, mapType 0, tiled2LinearEnable 0

/GstPipeline:pipeline0/GstVpuDec:vpudec0.GstPad:sink: caps = image/jpeg

/GstPipeline:pipeline0/GstVpuDec:vpudec0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)1/1, crop-top=(int)0, crop-left=(int)0, crop-right=(int)0, crop-bottom=(int)0, num-buffers-required=(int)7, framerate=(fraction)30/1, alignment=(int)1

VPU blocking: timeout.

[WARN]  pic was forced to be done

/GstPipeline:pipeline0/GstVpuEnc:vpuenc0.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)1/1, crop-top=(int)0, crop-left=(int)0, crop-right=(int)0, crop-bottom=(int)0, num-buffers-required=(int)7, framerate=(fraction)30/1, alignment=(int)1

[INFO]  chromaInterleave 0, mapType 0, linear2TiledEnable 0

/GstPipeline:pipeline0/GstVpuEnc:vpuenc0.GstPad:src: caps = video/x-h264, width=(int)720, height=(int)576, framerate=(fraction)30/1, framed=(boolean)true

/GstPipeline:pipeline0/GstFileSink:filesink0.GstPad:sink: caps = video/x-h264, width=(int)720, height=(int)576, framerate=(fraction)30/1, framed=(boolean)true

Pipeline is PREROLLED ...

Setting pipeline to PLAYING ...

New clock: GstSystemClock

ERROR: from element /GstPipeline:pipeline0/GstVpuDec:vpudec0: unknown error detect

Additional debug info:

vpudec.c(1409): gst_vpudec_process_error (): /GstPipeline:pipeline0/GstVpuDec:vpudec0

Execution ended after 1580669 ns.

Setting pipeline to PAUSED ...

Setting pipeline to READY ...

/GstPipeline:pipeline0/GstFileSink:filesink0.GstPad:sink: caps = NULL

/GstPipeline:pipeline0/GstVpuEnc:vpuenc0.GstPad:src: caps = NULL

/GstPipeline:pipeline0/GstVpuEnc:vpuenc0.GstPad:sink: caps = NULL

/GstPipeline:pipeline0/GstVpuDec:vpudec0.GstPad:src: caps = NULL

/GstPipeline:pipeline0/GstVpuDec:vpudec0.GstPad:sink: caps = NULL

/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = NULL

Setting pipeline to NULL ...

Freeing pipeline ...

Yann

ラベル(3)
0 件の賞賛
返信
3 返答(返信)

1,973件の閲覧回数
Yuri
NXP Employee
NXP Employee

Hello,

  Perhaps, the problem relates to the fact, that in hardware the VPU supports
only Baseline JPEG profile, for others You need to use a software JPEG codec.


Have a great day,
Yuri

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 件の賞賛
返信

1,973件の閲覧回数
yanntinaugus
Contributor II

Hi Yuri,

On this topic : jpg decode using vpudec ?  It's said that VPU of iMX6 is able to decode MJPEG and not JPEG :

"No, the vpudec doesn't support jpeg decode"  -

"it seems vpudec just can support mjpeg video" -

Yann

0 件の賞賛
返信

1,973件の閲覧回数
Yuri
NXP Employee
NXP Employee

Hello,

as has been mentioned only Baseline JPEG profile is supported,

so, please check what profile is used in Your "test_mjpeg.avi".

Regards,

Yuri

0 件の賞賛
返信