AnsweredAssumed Answered

Error message of "imxvideoconver_ipu" plughin

Question asked by Taro Maebashi on Mar 17, 2020
Latest reply on Apr 4, 2020 by Joan Xie

Hi there.

I have a question about generated some warnings from "imxvideoconver_ipu" plughin in Gstreamer NXP implementation.

 

I have run gst-launch command like the following line(I execute this command from ssh console).

$ gst-launch-1.0 -v videotestsrc ! capsfilter caps=video/x-raw,width=1280,height=1024,format=UYVY ! imxvideoconvert_ipu ! capsfilter caps=video/x-raw,format=I420 ! vpuenc_jpeg ! testsink
$ Setting pipeline to PAUSED ...
$ [INFO] Product Info: i.MX6Q/D/S
$ ====== VPUENC: 4.4.5 build on Mar 16 2020 03:39:50. ======
$ wrapper: 3.0.0 (VPUWRAPPER_ARM_LINUX Build on Dec 13 2019 04:14:01)
$ vpulib: 5.4.38
$ firmware: 3.1.1.570363
$ Pipeline is PREROLLING ...
$ /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)1024, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
$ /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)1024, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
$ /GstPipeline:pipeline0/imxvideoconvert_ipu:imxvideoconvert_ipu0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)1024, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, format=(string)I420
$ /GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)1024, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, format=(string)I420
$ /GstPipeline:pipeline0/vpuenc_jpeg:vpuenc_jpeg0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)1024, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, format=(string)I420
$ /GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)1024, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, format=(string)I420
$ /GstPipeline:pipeline0/imxvideoconvert_ipu:imxvideoconvert_ipu0.GstPad:sink: caps = video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)1024, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
$ /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)1024, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
$ /GstPipeline:pipeline0/vpuenc_jpeg:vpuenc_jpeg0.GstPad:src: caps = image/jpeg, width=(int)1280, height=(int)1024, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, chroma-site=(string)mpeg2, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
$ /GstPipeline:pipeline0/GstTest:test0.GstPad:sink: caps = image/jpeg, width=(int)1280, height=(int)1024, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, chroma-site=(string)mpeg2, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
$ Pipeline is PREROLLED ...
$ Setting pipeline to PLAYING ...
$ New clock: GstSystemClock

 

OK, No error occurs, but the serial console have many messages (same as dmesg).

> imx-ipuv3 2800000.ipu: IDMAC21's U offset is not 8-byte aligned.
> imx-ipuv3 2800000.ipu: IDMAC21's V offset is not 8-byte aligned
> imx-ipuv3 2800000.ipu: IDMAC21's U offset is not 8-byte aligned
> imx-ipuv3 2800000.ipu: IDMAC21's V offset is not 8-byte aligned
> .... repeated ....

 

However, the following the line have no message in console.

$ gst-launch-1.0 -v videotestsrc ! capsfilter caps=video/x-raw,width=1280,height=1024,format=UYVY ! imxvideoconvert_ipu ! vpuenc_jpeg ! testsink
$ Setting pipeline to PAUSED ...
$ [INFO] Product Info: i.MX6Q/D/S
$ ====== VPUENC: 4.4.5 build on Mar 16 2020 03:39:50. ======
$ wrapper: 3.0.0 (VPUWRAPPER_ARM_LINUX Build on Dec 13 2019 04:14:01)
$ vpulib: 5.4.38
$ firmware: 3.1.1.570363
$ Pipeline is PREROLLING ...
$ /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)1024, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
$ /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)1024, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
$ /GstPipeline:pipeline0/imxvideoconvert_ipu:imxvideoconvert_ipu0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)1024, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, format=(string)NV12, multiview-mode=(string)mono, interlace-mode=(string)progressive
$ /GstPipeline:pipeline0/vpuenc_jpeg:vpuenc_jpeg0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)1024, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, format=(string)NV12, multiview-mode=(string)mono, interlace-mode=(string)progressive
$ /GstPipeline:pipeline0/imxvideoconvert_ipu:imxvideoconvert_ipu0.GstPad:sink: caps = video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)1024, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
$ /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)1024, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
$ /GstPipeline:pipeline0/vpuenc_jpeg:vpuenc_jpeg0.GstPad:src: caps = image/jpeg, width=(int)1280, height=(int)1024, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, chroma-site=(string)mpeg2, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
$ /GstPipeline:pipeline0/GstTest:test0.GstPad:sink: caps = image/jpeg, width=(int)1280, height=(int)1024, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, chroma-site=(string)mpeg2, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
$ Pipeline is PREROLLED ...
$ Setting pipeline to PLAYING ...
$ New clock: GstSystemClock

 

The difference from the line executed above is that the format is not specified in cpasfilter to imxvideoconvert.
In this case, format "NV12" seems to be selected automatically, since followd plugin "vpuenc_jpeg" in pipeline only

accept formats "I420" or "NV12".

 

Why is the combination of "imxvideoconvert_ipu" and "I420" bad?

 

My environment as followed.
I am using "SABRE Board SDB for i.MX6 (MCIMX6Q-SDB)" with SD Card Image which build from Yocto according to "i.MX Yocto Project User's Guide.pdf".
I use "Rev. L4.14.98-2.0.0_ga" environment, so the SD image version is "L4.14.98-2.0.0_ga".

 

$ gst-inspect-1.0 imxvideoconvert_ipu
$ Factory Details:
$ Rank primary + 1 (257)
$ Long-name IMX ipu Video Converter
$ Klass Filter/Converter/Video
$ Description Video CSC/Resize/Rotate/Deinterlace.
$ Author Multimedia Team <shmmmw@freescale.com>
$
$ Plugin Details:
$ Name imxvideoconvert
$ Description IMX Video Convert Plugins
$ Filename /usr/lib/gstreamer-1.0/libgstimxvideoconvert.so
$ Version 4.4.5
$ License LGPL
$ Source module imx-gst1.0-plugin
$ Binary package Freescle Gstreamer Multimedia Plugins
$ Origin URL http://www.freescale.com
$ ...

 

Best regard,

Outcomes