VPU for MJPG decoding in IMX8MP?

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

VPU for MJPG decoding in IMX8MP?

1,446 Views
jake4
Contributor III

I have a USB camera that gives MJPG (Motion-JPEG, compressed ) 

And I'm using IM8MP with VPU Hantro

Is there any VPU function that we can use for decompression in this case?

This document breifly describes

https://docs.nxp.com/bundle/RM00294/page/topics/imx_6_vpu_main_features.html

 

This pipeline take 60% cpu

gst-launch-1.0 v4l2src device=/dev/video2 ! image/jpeg,width=1280,height=720 ! jpegdec ! imxvideoconvert_g2d ! fakesink

Is there any VPU function we can rely on to reduce the CPU?

 

 

Labels (1)
0 Kudos
Reply
8 Replies

1,326 Views
jake4
Contributor III

Hi 

Even when i try to run this 

gst-launch-1.0 videotestsrc ! imxvideoconvert_g2d ! queue ! vpuenc_hevc ! multiqueue ! vpudec ! fakesink
Setting pipeline to PAUSED ...
====== VPUDEC: 4.10.0 build on Nov 27 2025 18:04:02. ======
wrapper: 3.0.0 (VPUWRAPPER_ARM64_LINUX Build on Nov 27 2025 18:03:51)
vpulib: 1.1.1
firmware: 1.1.1.836202415
====== VPUENC: 4.10.0 build on Nov 27 2025 18:04:02. ======
wrapper: 3.0.0 (VPUWRAPPER_ARM64_LINUX Build on Nov 27 2025 18:03:52)
vpulib: 1.1.1
firmware: 1.1.1.43690
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Redistribute latency...
0:07:59.5 / 99:99:99.

 

It takes 199 % of CPU is the CPU getting used?

 

perf shows 

7.82% libgstvideo-1.0.so.0.2600.0 [.] 0x00000000000219e4
6.63% libhantro_vc8000e.so.1 [.] EncAsicFrameStart
5.76% libgstvideo-1.0.so.0.2600.0 [.] 0x00000000000219f8
5.49% [kernel] [k] DecRefreshRegs
3.92% libgstvideo-1.0.so.0.2600.0 [.] 0x00000000000219e0
3.89% libgstvideo-1.0.so.0.2600.0 [.] 0x00000000000219f0
3.89% libgstvideo-1.0.so.0.2600.0 [.] 0x0000000000021a00
3.05% libhantro.so.1 [.] SwShowBits
2.94% [kernel] [k] DecFlushRegs.isra.0
2.69% libgstvideo-1.0.so.0.2600.0 [.] 0x00000000000219ec
1.45% libc.so.6 [.] 0x00000000000a3194
1.23% libc.so.6 [.] 0x00000000000a3188
1.21% orcexec.0La54a (deleted) [.] 0x0000000000000040
1.19% libgstvideo-1.0.so.0.2600.0 [.] 0x00000000000219e8
1.16% libhantro.so.1 [.] DWLPrivateAreaReadByte
0.80% libhantro_vc8000e.so.1 [.] VCEncStrmEncodeExt
0.77% orcexec.0La54a (deleted) [.] 0x0000000000000044
0.69% orcexec.0La54a (deleted) [.] 0x0000000000000038
0.56% libhantro.so.1 [.] SwFlushBits
0.53% [kernel] [k] _raw_spin_unlock_irqrestore
0.48% libgstvideotestsrc.so [.] 0x0000000000008450
0.48% libgstvideotestsrc.so [.] 0x0000000000008448
0.46% libc.so.6 [.] 0x00000000000a3184
0.46% libhantro_vc8000e.so.1 [.] EncAsicGetRegisterValue
0.46% libc.so.6 [.] 0x00000000000a318c
0.45% orcexec.0La54a (deleted) [.] 0x0000000000000034
0.35% libhantro.so.1 [.] FlushDecRegisters
0.34% libhantro.so.1 [.] RefreshDecRegisters
0.33% [kernel] [k] el0_svc
0.32% libgobject-2.0.so.0.8400.4 [.] g_type_check_instance_is_fundamentally_a
0.32% libhantro.so.1 [.] HevcDecDecode
0.31% libhantro.so.1 [.] SetDecRegister
0.30% orcexec.0La54a (deleted) [.] 0x000000000000012c

 

Not sure VPU is being utilized. How to confirm?

 

lsof | grep hantro
gst-launc 1516 root mem REG 179,1 224656 2117 /usr/lib/libhantro.so.1
gst-launc 1516 root mem REG 179,1 353928 2322 /usr/lib/libhantro_vc8000e.so.1
gst-launc 1516 root mem CHR 510,0 162 /dev/mxc_hantro_vc8000e
gst-launc 1516 root 15u CHR 510,0 0t0 162 /dev/mxc_hantro_vc8000e
gst-launc 1516 root 31u CHR 511,0 0t0 161 /dev/mxc_hantro
gst-launc 1516 1517 gst-launc root mem REG 179,1 224656 2117 /usr/lib/libhantro.so.1
gst-launc 1516 1517 gst-launc root mem REG 179,1 353928 2322 /usr/lib/libhantro_vc8000e.so.1
gst-launc 1516 1517 gst-launc root mem CHR 510,0 162 /dev/mxc_hantro_vc8000e
gst-launc 1516 1517 gst-launc root 15u CHR 510,0 0t0 162 /dev/mxc_hantro_vc8000e
gst-launc 1516 1517 gst-launc root 31u CHR 511,0 0t0 161 /dev/mxc_hantro
gst-launc 1516 1518 gst-launc root mem REG 179,1 224656 2117 /usr/lib/libhantro.so.1
gst-launc 1516 1518 gst-launc root mem REG 179,1 353928 2322 /usr/lib/libhantro_vc8000e.so.1
gst-launc 1516 1518 gst-launc root mem CHR 510,0 162 /dev/mxc_hantro_vc8000e
gst-launc 1516 1518 gst-launc root 15u CHR 510,0 0t0 162 /dev/mxc_hantro_vc8000e
gst-launc 1516 1518 gst-launc root 31u CHR 511,0 0t0 161 /dev/mxc_hantro
gst-launc 1516 1519 pool-spaw root mem REG 179,1 224656 2117 /usr/lib/libhantro.so.1
gst-launc 1516 1519 pool-spaw root mem REG 179,1 353928 2322 /usr/lib/libhantro_vc8000e.so.1
gst-launc 1516 1519 pool-spaw root mem CHR 510,0 162 /dev/mxc_hantro_vc8000e
gst-launc 1516 1519 pool-spaw root 15u CHR 510,0 0t0 162 /dev/mxc_hantro_vc8000e
gst-launc 1516 1519 pool-spaw root 31u CHR 511,0 0t0 161 /dev/mxc_hantro
gst-launc 1516 1520 multiqueu root mem REG 179,1 224656 2117 /usr/lib/libhantro.so.1
gst-launc 1516 1520 multiqueu root mem REG 179,1 353928 2322 /usr/lib/libhantro_vc8000e.so.1
gst-launc 1516 1520 multiqueu root mem CHR 510,0 162 /dev/mxc_hantro_vc8000e
gst-launc 1516 1520 multiqueu root 15u CHR 510,0 0t0 162 /dev/mxc_hantro_vc8000e
gst-launc 1516 1520 multiqueu root 31u CHR 511,0 0t0 161 /dev/mxc_hantro
gst-launc 1516 1521 queue0:sr root mem REG 179,1 224656 2117 /usr/lib/libhantro.so.1
gst-launc 1516 1521 queue0:sr root mem REG 179,1 353928 2322 /usr/lib/libhantro_vc8000e.so.1
gst-launc 1516 1521 queue0:sr root mem CHR 510,0 162 /dev/mxc_hantro_vc8000e
gst-launc 1516 1521 queue0:sr root 15u CHR 510,0 0t0 162 /dev/mxc_hantro_vc8000e
gst-launc 1516 1521 queue0:sr root 31u CHR 511,0 0t0 161 /dev/mxc_hantro
gst-launc 1516 1522 videotest root mem REG 179,1 224656 2117 /usr/lib/libhantro.so.1
gst-launc 1516 1522 videotest root mem REG 179,1 353928 2322 /usr/lib/libhantro_vc8000e.so.1
gst-launc 1516 1522 videotest root mem CHR 510,0 162 /dev/mxc_hantro_vc8000e
gst-launc 1516 1522 videotest root 15u CHR 510,0 0t0 162 /dev/mxc_hantro_vc8000e
gst-launc 1516 1522 videotest root 31u CHR 511,0 0t0 161 /dev/mxc_hantro
gst-launc 1516 1523 gmain root mem REG 179,1 224656 2117 /usr/lib/libhantro.so.1
gst-launc 1516 1523 gmain root mem REG 179,1 353928 2322 /usr/lib/libhantro_vc8000e.so.1
gst-launc 1516 1523 gmain root mem CHR 510,0 162 /dev/mxc_hantro_vc8000e
gst-launc 1516 1523 gmain root 15u CHR 510,0 0t0 162 /dev/mxc_hantro_vc8000e
gst-launc 1516 1523 gmain root 31u CHR 511,0 0t0 161 /dev/mxc_hantro

0 Kudos
Reply

1,204 Views
Manuel_Salas
NXP TechSupport
NXP TechSupport

Hello @jake4 

I hope you are doing very well.

 

Could you please try the below pipeline:

gst-launch-1.0 v4l2src device=/dev/video2 ! image/jpeg,width=1280,height=720 ! v4l2jpegdec ! imxvideoconvert_g2d ! fakesink

 

It is not recommended to use videotestsrc. This is a pure software generator. It uses the CPU to create every single pixel of the test pattern.

 

 

Best regards,

Salas.

 

 

0 Kudos
Reply

1,106 Views
jake4
Contributor III

Is there any other recommended method to acheive this?

 

we have a USB camera that gives the MPJG compressed image, we need to process it with hardware acceleration in order not to load the CPU,  is there any recommendation?

 

 

Tags (1)
0 Kudos
Reply

1,189 Views
jake4
Contributor III
Hi @Manuel_Salas
getting this
gst-launch-1.0 v4l2src device=/dev/video3 ! image/jpeg,width=1280,height=720 ! v4l2jpegdec ! imxvideoconvert_g2d ! fakesink
WARNING: erroneous pipeline: no element "v4l2jpegdec"

Thanks

gst-inspect-1.0 | grep v4l2
video4linux2: v4l2convert: V4L2 Video Converter
video4linux2: v4l2deviceprovider (GstDeviceProviderFactory)
video4linux2: v4l2h264dec: V4L2 H264 Decoder
video4linux2: v4l2h264enc: V4L2 H.264 Encoder
video4linux2: v4l2h265dec: V4L2 H265 Decoder
video4linux2: v4l2h265enc: V4L2 H.265 Encoder
video4linux2: v4l2radio: Radio (video4linux2) Tuner
video4linux2: v4l2sink: Video (video4linux2) Sink
video4linux2: v4l2src: Video (video4linux2) Source
video4linux2: v4l2vp8dec: V4L2 VP8 Decoder
video4linux2: v4l2vp9dec: V4L2 VP9 Decoder
0 Kudos
Reply

1,083 Views
Manuel_Salas
NXP TechSupport
NXP TechSupport

Hello @jake4 

 

Please try the below:

$ gst-launch-1.0 v4l2src device=/dev/video3 ! image/jpeg,width=1280,height=720 ! jpegparse ! vpudec ! imxvideoconvert_g2d ! fakesink

 

The vpudec uses the Hantro VPU.

 

Let me know if this worked for you.

 

Best regards,

Salas.

0 Kudos
Reply

1,032 Views
jake4
Contributor III

Hi @Manuel_Salas 

Running this gives the error as below.

gst-launch-1.0 v4l2src device=/dev/video2 ! image/jpeg,width=1280,height=720 ! jpegparse ! vpudec ! imxvideoconvert_g2d ! fakesink
WARNING: erroneous pipeline: could not link jpegparse0 to vpudec0

 

gst-inspect-1.0 vpudec gives this as below, so seems it cant handle jpeg 

Thanks

Factory Details:

Rank secondary (128)
Long-name IMX VPU-based video decoder
Klass Codec/Decoder/Video
Description Decode compressed video to raw data
Author Multimedia Team <[email protected]>

Plugin Details:
Name vpu
Description VPU video codec
Filename /usr/lib/gstreamer-1.0/libgstvpu.so
Version 4.10.0
License LGPL
Source module imx-gst1.0-plugin
Binary package Freescle Gstreamer Multimedia Plugins
Origin URL http://www.freescale.com

GObject
+----GInitiallyUnowned
+----GstObject
+----GstElement
+----GstVideoDecoder
+----GstVpuDec

Element Flags:

Pad Templates:
SINK template: 'sink'
Availability: Always
Capabilities:
video/x-h265
video/x-vp9
video/x-vp8
video/x-h264

SRC template: 'src'
Availability: Always
Capabilities:
video/x-raw
format: { (string)NV12, (string)I420, (string)YV12, (string)Y42B, (string)NV16, (string)Y444, (string)NV24, (string)NV12_10LE }
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]

0 Kudos
Reply

1,109 Views
jake4
Contributor III

Hi @Manuel_Salas 

I'm using IMX8MPlus does that support jpeg VPU decoding?

 

Thanks

Tags (2)
0 Kudos
Reply

1,348 Views
jake4
Contributor III

Hi joanxie

Can you please advise?

Thanks

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2355115%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EVPU%20for%20MJPG%20decoding%20in%20IMX8MP%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2355115%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI%20have%20a%20USB%20camera%20that%20gives%20MJPG%20(Motion-JPEG%2C%20compressed%20)%26nbsp%3B%3C%2FP%3E%3CP%3EAnd%20I'm%20using%20IM8MP%20with%20VPU%20Hantro%3C%2FP%3E%3CP%3EIs%20there%20any%20VPU%20function%20that%20we%20can%20use%20for%20decompression%20in%20this%20case%3F%3C%2FP%3E%3CP%3EThis%20document%20breifly%20describes%3C%2FP%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.nxp.com%2Fbundle%2FRM00294%2Fpage%2Ftopics%2Fimx_6_vpu_main_features.html%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3Ehttps%3A%2F%2Fdocs.nxp.com%2Fbundle%2FRM00294%2Fpage%2Ftopics%2Fimx_6_vpu_main_features.html%3C%2FA%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EThis%20pipeline%20take%2060%25%20cpu%3C%2FP%3E%3CP%3Egst-launch-1.0%20v4l2src%20device%3D%2Fdev%2Fvideo2%20!%20image%2Fjpeg%2Cwidth%3D1280%2Cheight%3D720%20!%20jpegdec%20!%20imxvideoconvert_g2d%20!%20fakesink%3C%2FP%3E%3CP%3EIs%20there%20any%20VPU%20function%20we%20can%20rely%20on%20to%20reduce%20the%20CPU%3F%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2355115%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3EMultimedia%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2356838%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20VPU%20for%20MJPG%20decoding%20in%20IMX8MP%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2356838%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F39586%22%20target%3D%22_blank%22%3E%3CSPAN%20class%3D%22%22%3Ejoanxie%3C%2FSPAN%3E%3C%2FA%3E%3C%2FP%3E%3CP%3ECan%20you%20please%20advise%3F%3C%2FP%3E%3CP%3EThanks%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2357244%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20VPU%20for%20MJPG%20decoding%20in%20IMX8MP%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2357244%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3C%2FP%3E%3CP%3EEven%20when%20i%20try%20to%20run%20this%26nbsp%3B%3C%2FP%3E%3CP%3Egst-launch-1.0%20videotestsrc%20!%20imxvideoconvert_g2d%20!%20queue%20!%20vpuenc_hevc%20!%20multiqueue%20!%20vpudec%20!%20fakesink%3CBR%20%2F%3ESetting%20pipeline%20to%20PAUSED%20...%3CBR%20%2F%3E%3D%3D%3D%3D%3D%3D%20VPUDEC%3A%204.10.0%20build%20on%20Nov%2027%202025%2018%3A04%3A02.%20%3D%3D%3D%3D%3D%3D%3CBR%20%2F%3Ewrapper%3A%203.0.0%20(VPUWRAPPER_ARM64_LINUX%20Build%20on%20Nov%2027%202025%2018%3A03%3A51)%3CBR%20%2F%3Evpulib%3A%201.1.1%3CBR%20%2F%3Efirmware%3A%201.1.1.836202415%3CBR%20%2F%3E%3D%3D%3D%3D%3D%3D%20VPUENC%3A%204.10.0%20build%20on%20Nov%2027%202025%2018%3A04%3A02.%20%3D%3D%3D%3D%3D%3D%3CBR%20%2F%3Ewrapper%3A%203.0.0%20(VPUWRAPPER_ARM64_LINUX%20Build%20on%20Nov%2027%202025%2018%3A03%3A52)%3CBR%20%2F%3Evpulib%3A%201.1.1%3CBR%20%2F%3Efirmware%3A%201.1.1.43690%3CBR%20%2F%3EPipeline%20is%20PREROLLING%20...%3CBR%20%2F%3EPipeline%20is%20PREROLLED%20...%3CBR%20%2F%3ESetting%20pipeline%20to%20PLAYING%20...%3CBR%20%2F%3ENew%20clock%3A%20GstSystemClock%3CBR%20%2F%3ERedistribute%20latency...%3CBR%20%2F%3E0%3A07%3A59.5%20%2F%2099%3A99%3A99.%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EIt%20takes%20199%20%25%20of%20CPU%20is%20the%20CPU%20getting%20used%3F%3C%2FP%3E%3CBR%20%2F%3E%3CP%3Eperf%20shows%26nbsp%3B%3C%2FP%3E%3CP%3E7.82%25%20libgstvideo-1.0.so.0.2600.0%20%5B.%5D%200x00000000000219e4%3CBR%20%2F%3E6.63%25%20libhantro_vc8000e.so.1%20%5B.%5D%20EncAsicFrameStart%3CBR%20%2F%3E5.76%25%20libgstvideo-1.0.so.0.2600.0%20%5B.%5D%200x00000000000219f8%3CBR%20%2F%3E5.49%25%20%5Bkernel%5D%20%5Bk%5D%20DecRefreshRegs%3CBR%20%2F%3E3.92%25%20libgstvideo-1.0.so.0.2600.0%20%5B.%5D%200x00000000000219e0%3CBR%20%2F%3E3.89%25%20libgstvideo-1.0.so.0.2600.0%20%5B.%5D%200x00000000000219f0%3CBR%20%2F%3E3.89%25%20libgstvideo-1.0.so.0.2600.0%20%5B.%5D%200x0000000000021a00%3CBR%20%2F%3E3.05%25%20libhantro.so.1%20%5B.%5D%20SwShowBits%3CBR%20%2F%3E2.94%25%20%5Bkernel%5D%20%5Bk%5D%20DecFlushRegs.isra.0%3CBR%20%2F%3E2.69%25%20libgstvideo-1.0.so.0.2600.0%20%5B.%5D%200x00000000000219ec%3CBR%20%2F%3E1.45%25%20libc.so.6%20%5B.%5D%200x00000000000a3194%3CBR%20%2F%3E1.23%25%20libc.so.6%20%5B.%5D%200x00000000000a3188%3CBR%20%2F%3E1.21%25%20orcexec.0La54a%20(deleted)%20%5B.%5D%200x0000000000000040%3CBR%20%2F%3E1.19%25%20libgstvideo-1.0.so.0.2600.0%20%5B.%5D%200x00000000000219e8%3CBR%20%2F%3E1.16%25%20libhantro.so.1%20%5B.%5D%20DWLPrivateAreaReadByte%3CBR%20%2F%3E0.80%25%20libhantro_vc8000e.so.1%20%5B.%5D%20VCEncStrmEncodeExt%3CBR%20%2F%3E0.77%25%20orcexec.0La54a%20(deleted)%20%5B.%5D%200x0000000000000044%3CBR%20%2F%3E0.69%25%20orcexec.0La54a%20(deleted)%20%5B.%5D%200x0000000000000038%3CBR%20%2F%3E0.56%25%20libhantro.so.1%20%5B.%5D%20SwFlushBits%3CBR%20%2F%3E0.53%25%20%5Bkernel%5D%20%5Bk%5D%20_raw_spin_unlock_irqrestore%3CBR%20%2F%3E0.48%25%20libgstvideotestsrc.so%20%5B.%5D%200x0000000000008450%3CBR%20%2F%3E0.48%25%20libgstvideotestsrc.so%20%5B.%5D%200x0000000000008448%3CBR%20%2F%3E0.46%25%20libc.so.6%20%5B.%5D%200x00000000000a3184%3CBR%20%2F%3E0.46%25%20libhantro_vc8000e.so.1%20%5B.%5D%20EncAsicGetRegisterValue%3CBR%20%2F%3E0.46%25%20libc.so.6%20%5B.%5D%200x00000000000a318c%3CBR%20%2F%3E0.45%25%20orcexec.0La54a%20(deleted)%20%5B.%5D%200x0000000000000034%3CBR%20%2F%3E0.35%25%20libhantro.so.1%20%5B.%5D%20FlushDecRegisters%3CBR%20%2F%3E0.34%25%20libhantro.so.1%20%5B.%5D%20RefreshDecRegisters%3CBR%20%2F%3E0.33%25%20%5Bkernel%5D%20%5Bk%5D%20el0_svc%3CBR%20%2F%3E0.32%25%20libgobject-2.0.so.0.8400.4%20%5B.%5D%20g_type_check_instance_is_fundamentally_a%3CBR%20%2F%3E0.32%25%20libhantro.so.1%20%5B.%5D%20HevcDecDecode%3CBR%20%2F%3E0.31%25%20libhantro.so.1%20%5B.%5D%20SetDecRegister%3CBR%20%2F%3E0.30%25%20orcexec.0La54a%20(deleted)%20%5B.%5D%200x000000000000012c%3C%2FP%3E%3CBR%20%2F%3E%3CP%3ENot%20sure%20VPU%20is%20being%20utilized.%20How%20to%20confirm%3F%3C%2FP%3E%3CBR%20%2F%3E%3CP%3Elsof%20%7C%20grep%20hantro%3CBR%20%2F%3Egst-launc%201516%20root%20mem%20REG%20179%2C1%20224656%202117%20%2Fusr%2Flib%2Flibhantro.so.1%3CBR%20%2F%3Egst-launc%201516%20root%20mem%20REG%20179%2C1%20353928%202322%20%2Fusr%2Flib%2Flibhantro_vc8000e.so.1%3CBR%20%2F%3Egst-launc%201516%20root%20mem%20CHR%20510%2C0%20162%20%2Fdev%2Fmxc_hantro_vc8000e%3CBR%20%2F%3Egst-launc%201516%20root%2015u%20CHR%20510%2C0%200t0%20162%20%2Fdev%2Fmxc_hantro_vc8000e%3CBR%20%2F%3Egst-launc%201516%20root%2031u%20CHR%20511%2C0%200t0%20161%20%2Fdev%2Fmxc_hantro%3CBR%20%2F%3Egst-launc%201516%201517%20gst-launc%20root%20mem%20REG%20179%2C1%20224656%202117%20%2Fusr%2Flib%2Flibhantro.so.1%3CBR%20%2F%3Egst-launc%201516%201517%20gst-launc%20root%20mem%20REG%20179%2C1%20353928%202322%20%2Fusr%2Flib%2Flibhantro_vc8000e.so.1%3CBR%20%2F%3Egst-launc%201516%201517%20gst-launc%20root%20mem%20CHR%20510%2C0%20162%20%2Fdev%2Fmxc_hantro_vc8000e%3CBR%20%2F%3Egst-launc%201516%201517%20gst-launc%20root%2015u%20CHR%20510%2C0%200t0%20162%20%2Fdev%2Fmxc_hantro_vc8000e%3CBR%20%2F%3Egst-launc%201516%201517%20gst-launc%20root%2031u%20CHR%20511%2C0%200t0%20161%20%2Fdev%2Fmxc_hantro%3CBR%20%2F%3Egst-launc%201516%201518%20gst-launc%20root%20mem%20REG%20179%2C1%20224656%202117%20%2Fusr%2Flib%2Flibhantro.so.1%3CBR%20%2F%3Egst-launc%201516%201518%20gst-launc%20root%20mem%20REG%20179%2C1%20353928%202322%20%2Fusr%2Flib%2Flibhantro_vc8000e.so.1%3CBR%20%2F%3Egst-launc%201516%201518%20gst-launc%20root%20mem%20CHR%20510%2C0%20162%20%2Fdev%2Fmxc_hantro_vc8000e%3CBR%20%2F%3Egst-launc%201516%201518%20gst-launc%20root%2015u%20CHR%20510%2C0%200t0%20162%20%2Fdev%2Fmxc_hantro_vc8000e%3CBR%20%2F%3Egst-launc%201516%201518%20gst-launc%20root%2031u%20CHR%20511%2C0%200t0%20161%20%2Fdev%2Fmxc_hantro%3CBR%20%2F%3Egst-launc%201516%201519%20pool-spaw%20root%20mem%20REG%20179%2C1%20224656%202117%20%2Fusr%2Flib%2Flibhantro.so.1%3CBR%20%2F%3Egst-launc%201516%201519%20pool-spaw%20root%20mem%20REG%20179%2C1%20353928%202322%20%2Fusr%2Flib%2Flibhantro_vc8000e.so.1%3CBR%20%2F%3Egst-launc%201516%201519%20pool-spaw%20root%20mem%20CHR%20510%2C0%20162%20%2Fdev%2Fmxc_hantro_vc8000e%3CBR%20%2F%3Egst-launc%201516%201519%20pool-spaw%20root%2015u%20CHR%20510%2C0%200t0%20162%20%2Fdev%2Fmxc_hantro_vc8000e%3CBR%20%2F%3Egst-launc%201516%201519%20pool-spaw%20root%2031u%20CHR%20511%2C0%200t0%20161%20%2Fdev%2Fmxc_hantro%3CBR%20%2F%3Egst-launc%201516%201520%20multiqueu%20root%20mem%20REG%20179%2C1%20224656%202117%20%2Fusr%2Flib%2Flibhantro.so.1%3CBR%20%2F%3Egst-launc%201516%201520%20multiqueu%20root%20mem%20REG%20179%2C1%20353928%202322%20%2Fusr%2Flib%2Flibhantro_vc8000e.so.1%3CBR%20%2F%3Egst-launc%201516%201520%20multiqueu%20root%20mem%20CHR%20510%2C0%20162%20%2Fdev%2Fmxc_hantro_vc8000e%3CBR%20%2F%3Egst-launc%201516%201520%20multiqueu%20root%2015u%20CHR%20510%2C0%200t0%20162%20%2Fdev%2Fmxc_hantro_vc8000e%3CBR%20%2F%3Egst-launc%201516%201520%20multiqueu%20root%2031u%20CHR%20511%2C0%200t0%20161%20%2Fdev%2Fmxc_hantro%3CBR%20%2F%3Egst-launc%201516%201521%20queue0%3Asr%20root%20mem%20REG%20179%2C1%20224656%202117%20%2Fusr%2Flib%2Flibhantro.so.1%3CBR%20%2F%3Egst-launc%201516%201521%20queue0%3Asr%20root%20mem%20REG%20179%2C1%20353928%202322%20%2Fusr%2Flib%2Flibhantro_vc8000e.so.1%3CBR%20%2F%3Egst-launc%201516%201521%20queue0%3Asr%20root%20mem%20CHR%20510%2C0%20162%20%2Fdev%2Fmxc_hantro_vc8000e%3CBR%20%2F%3Egst-launc%201516%201521%20queue0%3Asr%20root%2015u%20CHR%20510%2C0%200t0%20162%20%2Fdev%2Fmxc_hantro_vc8000e%3CBR%20%2F%3Egst-launc%201516%201521%20queue0%3Asr%20root%2031u%20CHR%20511%2C0%200t0%20161%20%2Fdev%2Fmxc_hantro%3CBR%20%2F%3Egst-launc%201516%201522%20videotest%20root%20mem%20REG%20179%2C1%20224656%202117%20%2Fusr%2Flib%2Flibhantro.so.1%3CBR%20%2F%3Egst-launc%201516%201522%20videotest%20root%20mem%20REG%20179%2C1%20353928%202322%20%2Fusr%2Flib%2Flibhantro_vc8000e.so.1%3CBR%20%2F%3Egst-launc%201516%201522%20videotest%20root%20mem%20CHR%20510%2C0%20162%20%2Fdev%2Fmxc_hantro_vc8000e%3CBR%20%2F%3Egst-launc%201516%201522%20videotest%20root%2015u%20CHR%20510%2C0%200t0%20162%20%2Fdev%2Fmxc_hantro_vc8000e%3CBR%20%2F%3Egst-launc%201516%201522%20videotest%20root%2031u%20CHR%20511%2C0%200t0%20161%20%2Fdev%2Fmxc_hantro%3CBR%20%2F%3Egst-launc%201516%201523%20gmain%20root%20mem%20REG%20179%2C1%20224656%202117%20%2Fusr%2Flib%2Flibhantro.so.1%3CBR%20%2F%3Egst-launc%201516%201523%20gmain%20root%20mem%20REG%20179%2C1%20353928%202322%20%2Fusr%2Flib%2Flibhantro_vc8000e.so.1%3CBR%20%2F%3Egst-launc%201516%201523%20gmain%20root%20mem%20CHR%20510%2C0%20162%20%2Fdev%2Fmxc_hantro_vc8000e%3CBR%20%2F%3Egst-launc%201516%201523%20gmain%20root%2015u%20CHR%20510%2C0%200t0%20162%20%2Fdev%2Fmxc_hantro_vc8000e%3CBR%20%2F%3Egst-launc%201516%201523%20gmain%20root%2031u%20CHR%20511%2C0%200t0%20161%20%2Fdev%2Fmxc_hantro%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2360157%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20VPU%20for%20MJPG%20decoding%20in%20IMX8MP%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2360157%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F223353%22%20target%3D%22_blank%22%3E%40jake4%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EI%20hope%20you%20are%20doing%20very%20well.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3ECould%20you%20please%20try%20the%20below%20pipeline%3A%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3Egst-launch-1.0%20v4l2src%20device%3D%2Fdev%2Fvideo2%20!%20image%2Fjpeg%2Cwidth%3D1280%2Cheight%3D720%20!%20v4l2jpegdec%20!%20imxvideoconvert_g2d%20!%20fakesink%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CBR%20%2F%3E%0A%3CP%3EIt%20is%20not%20recommended%20to%20use%20%3CSTRONG%3E%3CFONT%20color%3D%22%23000000%22%3Evideotestsrc%3C%2FFONT%3E%3C%2FSTRONG%3E.%26nbsp%3BThis%20is%20a%20pure%20software%20generator.%20It%20uses%20the%20CPU%20to%20create%20every%20single%20pixel%20of%20the%20test%20pattern.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CP%3EBest%20regards%2C%3C%2FP%3E%0A%3CP%3ESalas.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2360261%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20VPU%20for%20MJPG%20decoding%20in%20IMX8MP%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2360261%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EHi%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F203368%22%20target%3D%22_blank%22%3E%40Manuel_Salas%3C%2FA%3E%3CBR%20%2F%3Egetting%20this%3CBR%20%2F%3Egst-launch-1.0%20v4l2src%20device%3D%2Fdev%2Fvideo3%20!%20image%2Fjpeg%2Cwidth%3D1280%2Cheight%3D720%20!%20v4l2jpegdec%20!%20imxvideoconvert_g2d%20!%20fakesink%3CBR%20%2F%3EWARNING%3A%20erroneous%20pipeline%3A%20no%20element%20%22v4l2jpegdec%22%3CBR%20%2F%3E%3CBR%20%2F%3EThanks%3CBR%20%2F%3E%3CBR%20%2F%3Egst-inspect-1.0%20%7C%20grep%20v4l2%3CBR%20%2F%3Evideo4linux2%3A%20v4l2convert%3A%20V4L2%20Video%20Converter%3CBR%20%2F%3Evideo4linux2%3A%20v4l2deviceprovider%20(GstDeviceProviderFactory)%3CBR%20%2F%3Evideo4linux2%3A%20v4l2h264dec%3A%20V4L2%20H264%20Decoder%3CBR%20%2F%3Evideo4linux2%3A%20v4l2h264enc%3A%20V4L2%20H.264%20Encoder%3CBR%20%2F%3Evideo4linux2%3A%20v4l2h265dec%3A%20V4L2%20H265%20Decoder%3CBR%20%2F%3Evideo4linux2%3A%20v4l2h265enc%3A%20V4L2%20H.265%20Encoder%3CBR%20%2F%3Evideo4linux2%3A%20v4l2radio%3A%20Radio%20(video4linux2)%20Tuner%3CBR%20%2F%3Evideo4linux2%3A%20v4l2sink%3A%20Video%20(video4linux2)%20Sink%3CBR%20%2F%3Evideo4linux2%3A%20v4l2src%3A%20Video%20(video4linux2)%20Source%3CBR%20%2F%3Evideo4linux2%3A%20v4l2vp8dec%3A%20V4L2%20VP8%20Decoder%3CBR%20%2F%3Evideo4linux2%3A%20v4l2vp9dec%3A%20V4L2%20VP9%20Decoder%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2361310%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20VPU%20for%20MJPG%20decoding%20in%20IMX8MP%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2361310%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F223353%22%20target%3D%22_blank%22%3E%40jake4%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EPlease%20try%20the%20below%3A%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3E%24%20gst-launch-1.0%20v4l2src%20device%3D%2Fdev%2Fvideo3%20!%20image%2Fjpeg%2Cwidth%3D1280%2Cheight%3D720%20!%20jpegparse%20!%20vpudec%20!%20imxvideoconvert_g2d%20!%20fakesink%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CBR%20%2F%3E%0A%3CP%3EThe%26nbsp%3Bvpudec%20uses%26nbsp%3Bthe%20Hantro%20VPU.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3ELet%20me%20know%20if%20this%20worked%20for%20you.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EBest%20regards%2C%3C%2FP%3E%0A%3CP%3ESalas.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2360857%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20VPU%20for%20MJPG%20decoding%20in%20IMX8MP%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2360857%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EIs%20there%20any%20other%20recommended%20method%20to%20acheive%20this%3F%3C%2FP%3E%3CBR%20%2F%3E%3CP%3Ewe%20have%20a%20USB%20camera%20that%20gives%20the%20MPJG%20compressed%20image%2C%20we%20need%20to%20process%20it%20with%20hardware%20acceleration%20in%20order%20not%20to%20load%20the%20CPU%2C%26nbsp%3B%20is%20there%20any%20recommendation%3F%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2360830%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20VPU%20for%20MJPG%20decoding%20in%20IMX8MP%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2360830%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F203368%22%20target%3D%22_blank%22%3E%40Manuel_Salas%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI'm%20using%20IMX8MPlus%20does%20that%20support%20jpeg%20VPU%20decoding%3F%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EThanks%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2362215%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20VPU%20for%20MJPG%20decoding%20in%20IMX8MP%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2362215%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F203368%22%20target%3D%22_blank%22%3E%40Manuel_Salas%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3ERunning%20this%20gives%20the%20error%20as%20below.%3C%2FP%3E%3CBLOCKQUOTE%3E%3CP%3Egst-launch-1.0%20v4l2src%20device%3D%2Fdev%2Fvideo2%20!%20image%2Fjpeg%2Cwidth%3D1280%2Cheight%3D720%20!%20jpegparse%20!%20vpudec%20!%20imxvideoconvert_g2d%20!%20fakesink%3CBR%20%2F%3EWARNING%3A%20erroneous%20pipeline%3A%20could%20not%20link%20jpegparse0%20to%20vpudec0%3C%2FP%3E%3C%2FBLOCKQUOTE%3E%3CBR%20%2F%3E%3CP%3Egst-inspect-1.0%20vpudec%20gives%20this%20as%20below%2C%20so%20seems%20it%20cant%20handle%20jpeg%26nbsp%3B%3C%2FP%3E%3CP%3EThanks%3C%2FP%3E%3CBLOCKQUOTE%3E%3CP%3EFactory%20Details%3A%3C%2FP%3E%3CP%3ERank%20secondary%20(128)%3CBR%20%2F%3ELong-name%20IMX%20VPU-based%20video%20decoder%3CBR%20%2F%3EKlass%20Codec%2FDecoder%2FVideo%3CBR%20%2F%3EDescription%20Decode%20compressed%20video%20to%20raw%20data%3CBR%20%2F%3EAuthor%20Multimedia%20Team%20%3CSHMMMW%3E%3C%2FSHMMMW%3E%3C%2FP%3E%3CP%3EPlugin%20Details%3A%3CBR%20%2F%3EName%20vpu%3CBR%20%2F%3EDescription%20VPU%20video%20codec%3CBR%20%2F%3EFilename%20%2Fusr%2Flib%2Fgstreamer-1.0%2Flibgstvpu.so%3CBR%20%2F%3EVersion%204.10.0%3CBR%20%2F%3ELicense%20LGPL%3CBR%20%2F%3ESource%20module%20imx-gst1.0-plugin%3CBR%20%2F%3EBinary%20package%20Freescle%20Gstreamer%20Multimedia%20Plugins%3CBR%20%2F%3EOrigin%20URL%20%3CA%20href%3D%22http%3A%2F%2Fwww.freescale.com%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3Ehttp%3A%2F%2Fwww.freescale.com%3C%2FA%3E%3C%2FP%3E%3CP%3EGObject%3CBR%20%2F%3E%2B----GInitiallyUnowned%3CBR%20%2F%3E%2B----GstObject%3CBR%20%2F%3E%2B----GstElement%3CBR%20%2F%3E%2B----GstVideoDecoder%3CBR%20%2F%3E%2B----GstVpuDec%3C%2FP%3E%3CP%3EElement%20Flags%3A%3C%2FP%3E%3CP%3EPad%20Templates%3A%3CBR%20%2F%3ESINK%20template%3A%20'sink'%3CBR%20%2F%3EAvailability%3A%20Always%3CBR%20%2F%3ECapabilities%3A%3CBR%20%2F%3Evideo%2Fx-h265%3CBR%20%2F%3Evideo%2Fx-vp9%3CBR%20%2F%3Evideo%2Fx-vp8%3CBR%20%2F%3Evideo%2Fx-h264%3C%2FP%3E%3CP%3ESRC%20template%3A%20'src'%3CBR%20%2F%3EAvailability%3A%20Always%3CBR%20%2F%3ECapabilities%3A%3CBR%20%2F%3Evideo%2Fx-raw%3CBR%20%2F%3Eformat%3A%20%7B%20(string)NV12%2C%20(string)I420%2C%20(string)YV12%2C%20(string)Y42B%2C%20(string)NV16%2C%20(string)Y444%2C%20(string)NV24%2C%20(string)NV12_10LE%20%7D%3CBR%20%2F%3Ewidth%3A%20%5B%201%2C%202147483647%20%5D%3CBR%20%2F%3Eheight%3A%20%5B%201%2C%202147483647%20%5D%3CBR%20%2F%3Eframerate%3A%20%5B%200%2F1%2C%202147483647%2F1%20%5D%3C%2FP%3E%3C%2FBLOCKQUOTE%3E%3C%2FLINGO-BODY%3E