Verdin iMX8MP GStreamer Hardware Decoder/Encoder

I am trying to run a pipeline on the Dahlia Carrier Board for the Verdin iMX8MP, including the iMX-supplied hardware encoder and decoder. However, when running the pipeline, I am coming up against the error “vpuenc_h264-0: Could not initialize supporting library”. I am using the Reference Multimedia Image with Dunfell-5 as an image to test on.

The pipeline I am using is the following:
gst-launch-1.0 rtspsrc location=“rtsp://” ! rtph264depay ! h264parse confg-interval=-1 ! vpudec ! imxvideoconvert_g2d ! video/x-raw, width=640, height=480 ! videorate ! video/x-raw, framerate=10/1 ! vpuenc_h264 bitrate=700 ! rtph264pay pt=96 name=“pay0” ! udpsink host=“” port=1234

This pipeline has been proven to work correctly on other iMX8MP boards from a different manufacturer.

Hi @bfleming !

I was able to run the following pipeline on:

  • Reference Multimedia Image from BSP 5.7.0 on a
  • Verdin iMX8MP Q 4GB WB IT V1.0B and
  • Verdin Development Board V1.1A and
  • output the result via DSI to HDMI converter
gst-launch-1.0 filesrc location=video/testvideo_h264.mp4 \
! video/quicktime ! aiurdemux \
! vpudec \
! imxvideoconvert_g2d \ 
! video/x-raw,width=200,height=100 ! videorate ! video/x-raw,framerate=10/1 \
! vpuenc_h264 \
! vpudec \

Peek 2022-11-01 12-11

Here is the explanation of the pipeline

  • gst-launch-1.0 filesrc location=video/testvideo_h264.mp4
    • get example video available on the image
  • video/quicktime ! aiurdemux
    • set caps and demuxing
  • vpudec
    • decoding in VPU
  • imxvideoconvert_g2d
    • convert video using GPU-2D
  • video/x-raw,width=200,height=100 ! videorate ! video/x-raw,framerate=10/1
    • setting very low resolution and framerate
  • vpuenc_h264
    • encoding again using VPU
  • vpudec
    • decoding again using VPU
  • autovideosink
    • outputing to display

Please share more information about your current setup:

  • Which exact Verdin iMX8MP module and version are you using? Please share its full name.
  • Which version is your Dahlia carrier board?
  • Please share the outputs of:
    • cat /etc/os-release
    • cat /etc/issue
    • uname -a
  • Did you build your own image or installed it from Toradex feeds (e.g. from Toradex Easy Installer image list)?

Best regards,

1 Like

Hi @bfleming!

Do you have news regarding this topic?

Best regards,

Hi @henrique.tx

I am seeing this issue as well. I built a custom Yocto image using the tdx-reference-multimedia-image and a few minor customizations.

The pipeline I am trying to run:

gst-launch-1.0 videotestsrc ! video/x-raw, format=I420, width=640, height=480 ! vpuenc_h264 ! filesink location=videotestsrc.mp4

I also tried running the pipeline you showed above and was getting the same message for vpudec.

cat /etc/os-release
NAME=“TDX Wayland with XWayland”
VERSION=“6.1.0-devel-20221213050554+build.0 (kirkstone)”
PRETTY_NAME=“TDX Wayland with XWayland 6.1.0-devel-20221213050554+build.0 (kirkstone)”

cat /etc/issue
TDX Wayland with XWayland 6.1.0-devel-20221214012039+build.0 (kirkstone) \n \l

uname -a
Linux verdin-imx8mp-07331488 5.15.40-6.1.0-devel+git.b4f7c3c44d85 #1 SMP PREEMPT Tue Oct 11 15:25:52 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux

Same result with the precompiled binary

Hi @dandresky !

As you are using a whole different BSP (I used 5 and you are testing on 6), could you please create a new topic for your question?

Thanks for the comprehension :slight_smile:

Best regards,

I created a new topic here