IMX6 ADV7180 GStreamer1.0 (tvsrc substitute)

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

IMX6 ADV7180 GStreamer1.0 (tvsrc substitute)

Jump to solution
6,173 Views
caiopereira
Contributor III

Hello,

I'm using adv7180 with imx6 based on gstreamer1.0 (v 1.4.1) kernel 3.10.14 (Yocto dizzy 1.7).

I had to move to gstreamer1.0 and this affect the adv7180, now the cpu was processing the video and the performance is very bad.

When I was using the gstreamer 0.10 with tvsrc the perfomance was ok.

My test:

# gst-launch tvsrc ! vpuenc ! fakesink

   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

1663 root      20   0 34716 3748 2892 S  2.3  1.5   0:00.30 gst-launch-0.10

~# gst-launch-1.0 imxv4l2src ! imxvpuenc_h264 ! fakesink

   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

1672 root      20   0 42256 3832 2896 S 14.0  1.5   0:02.16 gst-launch-1.0

Labels (4)
1 Solution
2,471 Views
igorpadykov
NXP Employee
NXP Employee

imxv4l2videosrc - seems you are using community based Gstreamer-imx plugins

(details in below links).

trac.gateworks.com/wiki/Yocto/gstreamer

i.MX6 GStreamer-imx Plugins - Tutorial & Example Pipelines

Please try NXP/FSL Freescale GStreamer 1.0 plugins

described in attached Release Notes Table 23. Freescale GStreamer 1.0 plugins

and found on i.MX6 product page link

Board Support Packages (29)

L3.14.52_1.1.0_MX6QDLSOLO (REV L3.14.52_1.1.0)

http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-process...

0.1 version is not more supported.

~igor

View solution in original post

14 Replies
2,470 Views
caiopereira
Contributor III

igorpadykov

What's the difference between   gst1.0-fsl-plugin and gstreamer1.0-plugins-imx_0.12.0.bb ?

The gst1.0-fsl-plugin is provided by NXP and gstreamer1.0-plugins-imx is provided by the community but they are equivalent?

What's the difference?

Best Regards,

Caio Pereira

0 Kudos
Reply
2,471 Views
igorpadykov
NXP Employee
NXP Employee

Hi Caio

one can look at usage tvin with gst-launch-1.0 in attached Linux Guide

sect.7.3.8 Recording the TV-in source

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

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

-----------------------------------------------------------------------------------------------------------------------

2,471 Views
caiopereira
Contributor III

Hi igorpadykov

The Linux Guide says:

gst-launch-1.0 imxv4l2src ! imxv4l2sink

I'm using the Gtreamer1.0 from tag 0.10 (Yocto 1.7) and  in this version there's no imxv4l2sink  so I was testing with imxeglvivsink.

gst-launch-1.0 imxv4l2src ! imxeglvivsink

Looking in the gstreamer-imx git history I found this fix in the tag 0.11

* several v4l2src fixes:

  Removed experimental and deprectated WITH_CHIP_IDENTIFICATION ioctl

  Use pixelformat reported by the driver instead of hardcoding I420

  The format fourcc is now read properly (not just as a string)

  Call VIDIOC_QUERYBUF twice to get a physical address (important for zerocopy)

  Add interlace-mode to src caps to allow for deinterlacing camera feeds

  If possible, the actual frame rate is retrieved

There is a workaround to fix this in the 0.10 tag ? Or I will need to update gstreamer including the Yocto version?

Thank you!

Regards,

Caio Pereira

0 Kudos
Reply
2,471 Views
mirkoardinghi1
Contributor IV

Hi

I have the same problem.

I'm using gstreamer 1.0 with imx plugin with an i.MX 6Quad but when I

make gst-inspect-1.0 I can't find the elements imxv4l2src and

imxv4l2sink. I have only the element imxv4l2videosrc

How can I make to enable the other elements?

Il 01/03/2016 21:59, caiopereira ha scritto:

>

IMX6 ADV7180 GStreamer1.0

>

0 Kudos
Reply
2,472 Views
igorpadykov
NXP Employee
NXP Employee

imxv4l2videosrc - seems you are using community based Gstreamer-imx plugins

(details in below links).

trac.gateworks.com/wiki/Yocto/gstreamer

i.MX6 GStreamer-imx Plugins - Tutorial & Example Pipelines

Please try NXP/FSL Freescale GStreamer 1.0 plugins

described in attached Release Notes Table 23. Freescale GStreamer 1.0 plugins

and found on i.MX6 product page link

Board Support Packages (29)

L3.14.52_1.1.0_MX6QDLSOLO (REV L3.14.52_1.1.0)

http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-process...

0.1 version is not more supported.

~igor

2,471 Views
mirkoardinghi1
Contributor IV

I have download the correct BSP but when I give the command

gst-inspect-1.0

I have only the imxv4l2src element and not the imxv4l2sink element. Why?

If I used the binary gstreamer present in the BSP

L3.14.28_1.0.0_ga_images_MX6 (downloaded from nxp) I have both elements.

How can I enable the imxv4l2sink element?

Il 02/03/2016 11:23, igorpadykov ha scritto:

>

NXP Community

<https://community.freescale.com/?et=watches.email.thread>

>

IMX6 ADV7180 GStreamer1.0 (tvsrc substitute)

risposta da igorpadykov

<https://community.freescale.com/people/igorpadykov?et=watches.email.thread>

su /i.MX Community/ - Visualizza la discussione completa

<https://community.freescale.com/message/620529?et=watches.email.thread#620529>

>

0 Kudos
Reply
2,471 Views
igorpadykov
NXP Employee
NXP Employee
0 Kudos
Reply
2,471 Views
mirkoardinghi1
Contributor IV

I have added the receipt but the element is missing too

Il 04/03/2016 12:35, igorpadykov ha scritto:

>

NXP Community

<https://community.freescale.com/?et=watches.email.thread>

>

IMX6 ADV7180 GStreamer1.0 (tvsrc substitute)

risposta da igorpadykov

<https://community.freescale.com/people/igorpadykov?et=watches.email.thread>

su /i.MX Community/ - Visualizza la discussione completa

<https://community.freescale.com/message/621492?et=watches.email.thread#621492>

>

0 Kudos
Reply
2,471 Views
LuisCasado
NXP Employee
NXP Employee

Hello,

Have you added

IMAGE_INSTALL_append = " gst1.0-fsl-plugin"

In your conf/local.conf ? And then bitbake.

Luis

0 Kudos
Reply
2,471 Views
mirkoardinghi1
Contributor IV

Hello,

I'm using the branch imx-3.14.28-1.0.0_ga (for a i.mx 6quad) because the elements imxv4l2src and imxv4l2sink are present in this branch.

The receipt gst1.0-fsl-plugin is in the branch imx_3.14.38_6qp_ga where the elements imxv4l2src/imxv4l2sink have been substituted from the elements imxv4l2videosrc/imxv4l2videosink, but this elements doesn't work with my adv7180 (the others work).

I built the  imx-3.14.28-1.0.0_ga with all the gstreamer packages (included gst-fsl-plugin)  but in the imx library I find only imxv4l2src,  instead in the imx-3.14.28-1.0.0_ga binary (downloaded from nxp site) I have both the elements.

0 Kudos
Reply
2,471 Views
LuisCasado
NXP Employee
NXP Employee

Hi,

I am running the latest BSP 3.14.52-1.0.0-GA.

root@imx6qsabresd:~# gst-inspect-1.0 | grep "imx"

beep.imx: ac3: l

beep.imx: 3ca: l

beep.imx:  beepdec: Beep universal decoder

overlaysink.imx:  overlaysink: IMX Video (video compositor) Sink

imxv4l2.imx:  imxv4l2sink: IMX Video (video4linux2) Sink

imxv4l2.imx:  imxv4l2src: IMX Video (video4linux2) Source

imxcompositor.imx:  imxcompositor_ipu: IMX ipu Video Compositor

imxcompositor.imx:  imxcompositor_g2d: IMX g2d Video Compositor

imxvideoconvert.imx:  imxvideoconvert_ipu: IMX ipu Video Converter

imxvideoconvert.imx:  imxvideoconvert_g2d: IMX g2d Video Converter

aiur.imx: webm: [Invalid UTF-8] \xd0\xc1\x0ds

aiur.imx:  aiurdemux: Aiur universal demuxer

vpu.imx:  vpuenc_h264: VPU-based AVC/H264 video encoder

vpu.imx:  vpuenc_mpeg4: VPU-based MPEG4 video encoder

vpu.imx:  vpuenc_h263: VPU-based H263 video encoder

vpu.imx:  vpuenc_jpeg: VPU-based JPEG video encoder

vpu.imx:  vpudec: VPU-based video decoder

imxmp3enc.imx:  imxmp3enc: imx mp3 audio encoder

Regards,

0 Kudos
Reply
2,471 Views
mirkoardinghi1
Contributor IV

What receipt are you using?

Can you attach your local.conf?

Thanks!

0 Kudos
Reply
2,471 Views
LuisCasado
NXP Employee
NXP Employee

Hello,

I am building fsl-image-qt5 . That should be enough.

In any case, I am adding extra gstreamer plugins:

MACHINE ??= 'imx6qsabresd'

DISTRO ?= 'fsl-imx-x11'

PACKAGE_CLASSES ?= "package_rpm"

EXTRA_IMAGE_FEATURES = "debug-tweaks tools-debug eclipse-debug ssh-server-openssh"

CORE_IMAGE_EXTRA_INSTALL += "openssh-sftp openssh-sftp-server"

IMAGE_INSTALL_append = " gst-ffmpeg"

IMAGE_INSTALL_append = " gstreamer1.0-libav"

IMAGE_INSTALL_append = " gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly libav gst1.0-fsl-plugin"

USER_CLASSES ?= "buildstats image-mklibs image-prelink"

PATCHRESOLVE = "noop"

BB_DISKMON_DIRS = "\

    STOPTASKS,${TMPDIR},1G,100K \

    STOPTASKS,${DL_DIR},1G,100K \

    STOPTASKS,${SSTATE_DIR},1G,100K \

   ABORT,${TMPDIR},100M,1K \

    ABORT,${DL_DIR},100M,1K \

    ABORT,${SSTATE_DIR},100M,1K"

PACKAGECONFIG_append_pn-qemu-native = " sdl"

PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"

ASSUME_PROVIDED += "libsdl-native"

CONF_VERSION = "1"

BB_NUMBER_THREADS = '8'

PARALLEL_MAKE = '-j 8'

ACCEPT_FSL_EULA = ""

DL_DIR ?= "/home/fsl/Data/yocto_download"

SSTATE_DIR="/home/fsl/Data/yocto_sstate_cache_x11_3.14.52"

LICENSE_FLAGS_WHITELIST = "commercial"

INTERNAL_MIRROR = http://localhost

Luis

2,471 Views
mirkoardinghi1
Contributor IV

Thanks! It works

0 Kudos
Reply