<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">Hi Carlos,</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">No I am using: <a
href="https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX"
        class="moz-txt-link-freetext">https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX</a>
      <p>And am currently trying their latest Linux 5.15.52_2.1.0​
        kirkstone release with the hope that it will match the system
        that will allow the <a
          href="https://github.com/Freescale/gstreamer-imx/"
          rel="noreferrer noreferrer" target="_blank"
          class="moz-txt-link-freetext">https://github.com/Freescale/gstreamer-imx/</a>
        gstreamer plugins to be used as a test. This appears to be using
        gstreamer1.0-1.20.0.imx-r0.armv8a by default.<br>
        <br>
      </p>
      <style type="text/css">td p { orphans: 0; widows: 0; background: transparent }p { line-height: 115%; margin-bottom: 0.25cm; background: transparent }a:link { color: #000080; so-language: zxx; text-decoration: underline }</style></div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">Terry<br>
    </div>
    <div class="moz-cite-prefix">On 14/11/2022 09:16, Carlos Rafael
      Giani via gstreamer-devel wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:8fd61430-f877-a5dd-92e2-8db359a6770c@mailbox.org">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p><font face="Helvetica, Arial, sans-serif">Hi Terry,</font></p>
      <p><font face="Helvetica, Arial, sans-serif">you say that you are
          using the NXP Yocto repo install. Are you referring to <a
            class="moz-txt-link-freetext"
            href="https://github.com/Freescale/fsl-community-bsp-platform"
            moz-do-not-send="true">https://github.com/Freescale/fsl-community-bsp-platform</a>
          ?</font></p>
      <p><br>
      </p>
      <div class="moz-cite-prefix">On 13.11.22 18:36, Terry Barnaby via
        gstreamer-devel wrote:<br>
      </div>
      <blockquote type="cite"
        cite="mid:c4170dd9-f3ee-339d-a22f-72cbf26236c5@beam.ltd.uk">
        <meta http-equiv="Content-Type" content="text/html;
          charset=UTF-8">
        <div class="moz-cite-prefix">Hi Nicolas,</div>
        <div class="moz-cite-prefix"><br>
        </div>
        <div class="moz-cite-prefix">Note, I am not asking for a fix
          just trying to get some help with gstreamer in general to try
          and see if anyone else has seen a similar issue and to get
          some pointers of where to look, as gstreamer/v4l2/NXP
          drivers/kernel is quite complicated and I don't have much
          experience with the gstreamer code base. I am digging into the
          code and will report back to NXP and/or gstreamer if I find
          out what is causing this issue for me.</div>
        <div class="moz-cite-prefix"><br>
        </div>
        <div class="moz-cite-prefix">As I'm getting nowhere with
          investigation, I thought I would try the
          gstreamer1.0-plugins-imx plugin as suggested to see how that
          fares. Unfortunately it didn't build using the NXP hardknott
          release I was using so I have built the latest NXP Yokto
          kirkstone LF5.15.52_2.1.0 for our board and have tried to
          build the gstreamer1.0-plugins-imx but there are issues.</div>
        <div class="moz-cite-prefix"><br>
        </div>
        <div class="moz-cite-prefix">I am using the NXP Yocto repo
          install with all of the versions of things that its repo pulls
          in. As suggested I have "disabled the NXP gstreamer fork
          entirely" using then "PREFERRED_VERSION_gstreamer1.0*"
          settings in my local.conf.</div>
        <div class="moz-cite-prefix">But when I build "bitbake
          gstreamer1.0-plugins-imx" I get an error when it tries to
          build libimxvpuapi2. It looks like this is looking for
          -lhantro_h1 which does not exist.</div>
        <div class="moz-cite-prefix"><br>
        </div>
        <div class="moz-cite-prefix">Is there any info on how to build
          the gstreamer1.0-plugins-imx over the NXP Yokto
          LF5.15.52_2.1.0 BSP ?<br>
        </div>
        <div class="moz-cite-prefix"><br>
        </div>
        <div class="moz-cite-prefix">
          <style type="text/css"></style></div>
        <div class="moz-cite-prefix">
          <style type="text/css">td p { orphans: 0; widows: 0; background: transparent }p { line-height: 115%; margin-bottom: 0.25cm; background: transparent }a:link { color: #000080; so-language: zxx; text-decoration: underline }</style></div>
        <div class="moz-cite-prefix"><br>
        </div>
        <div class="moz-cite-prefix">Terry<br>
        </div>
        <div class="moz-cite-prefix">On 12/11/2022 01:34, Nicolas
          Dufresne wrote:<br>
        </div>
        <blockquote type="cite"
cite="mid:CAKQmDh-LE8fVACg_gFEHdgGhAWY5S7jLRQzF+kFa+DPic_j2Cw@mail.gmail.com">
          <meta http-equiv="content-type" content="text/html;
            charset=UTF-8">
          <div dir="auto">
            <div><br>
              <br>
              <div class="gmail_quote">
                <div dir="ltr" class="gmail_attr">Le jeu. 10 nov. 2022,
                  03 h 17, Terry Barnaby via gstreamer-devel <<a
                    href="mailto:gstreamer-devel@lists.freedesktop.org"
                    moz-do-not-send="true" class="moz-txt-link-freetext">gstreamer-devel@lists.freedesktop.org</a>>
                  a écrit :<br>
                </div>
                <blockquote class="gmail_quote" style="margin:0 0 0
                  .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi
                  Nirbheek,<br>
                  <br>
                  Many thanks for the reply and info. When we started
                  the project quite a <br>
                  few of the IMX8MP hardware features were not supported
                  by the FSL <br>
                  Freescale code and so we have based our system on the
                  NXP BSP. I'm not <br>
                  sure that everything is supported now and I really
                  don't want to be <br>
                  mixing packages and getting into horrible package
                  version issues at this <br>
                  moment in time. However I might try that on a debug
                  test release to see <br>
                  if it affects things.<br>
                  <br>
                  We have to ship our first production systems in three
                  weeks and <br>
                  everything has been tested in our system and is
                  working well apart from <br>
                  this one issue and so we would like to try and debug
                  and fix this item <br>
                  for now and can look at moving the whole Linux
                  platform stack away from <br>
                  the NXP BSP for a later release.<br>
                </blockquote>
              </div>
            </div>
            <div dir="auto"><br>
            </div>
            <div dir="auto">Gstreamer-imx is meant to run over the BSP.
              Its a drop-in replacement usually. That being said, we do
              have folks helping with gstreamer-imx in GStreamer
              community, but the NXP plugins though are solely
              maintained by NXP. So for continuing to use these and
              asking for a fix, please use NXP support and/or user
              forum.</div>
            <div dir="auto"><br>
            </div>
            <div dir="auto">Nicolas</div>
            <div dir="auto"><br>
            </div>
            <div dir="auto"><br>
            </div>
            <div dir="auto">
              <div class="gmail_quote">
                <blockquote class="gmail_quote" style="margin:0 0 0
                  .8ex;border-left:1px #ccc solid;padding-left:1ex"> <br>
                  Terry<br>
                  On 09/11/2022 18:50, Nirbheek Chauhan wrote:<br>
                  > Hi Terry,<br>
                  ><br>
                  > You seem to be using the NXP gstreamer fork, and
                  the i.MX elements in<br>
                  > that aren't that great. The recommended elements
                  are in the Freescale<br>
                  > gstreamer-imx repository:<br>
                  ><br>
                  > <a
                    href="https://github.com/Freescale/gstreamer-imx/"
                    rel="noreferrer noreferrer" target="_blank"
                    moz-do-not-send="true" class="moz-txt-link-freetext">https://github.com/Freescale/gstreamer-imx/</a><br>
                  ><br>
                  > The compositor there is called
                  "imxg2dcompositor", and there are<br>
                  > equivalents for all other elements too.
                  meta-freescale ships bitbake<br>
                  > files for it:<br>
                  ><br>
                  > <a
href="https://github.com/Freescale/meta-freescale/blob/kirkstone/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.1.0.bb"
                    rel="noreferrer noreferrer" target="_blank"
                    moz-do-not-send="true" class="moz-txt-link-freetext">https://github.com/Freescale/meta-freescale/blob/kirkstone/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.1.0.bb</a><br>
                  ><br>
                  > You will need to put this in your config
                  (conf/local.conf or the OE<br>
                  > distro config) to disable the NXP gstreamer fork
                  entirely:<br>
                  ><br>
                  > PREFERRED_VERSION_gstreamer1.0:mx6-nxp-bsp = ""<br>
                  >
                  PREFERRED_VERSION_gstreamer1.0-plugins-base:mx6-nxp-bsp
                  = ""<br>
                  >
                  PREFERRED_VERSION_gstreamer1.0-plugins-good:mx6-nxp-bsp
                  = ""<br>
                  >
                  PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx6-nxp-bsp
                  = ""<br>
                  > PREFERRED_VERSION_gstreamer1.0-libav:mx6-nxp-bsp
                  = ""<br>
                  > PREFERRED_VERSION_gstreamer1.0:mx8-nxp-bsp = ""<br>
                  >
                  PREFERRED_VERSION_gstreamer1.0-plugins-base:mx8-nxp-bsp
                  = ""<br>
                  >
                  PREFERRED_VERSION_gstreamer1.0-plugins-good:mx8-nxp-bsp
                  = ""<br>
                  >
                  PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx8-nxp-bsp
                  = ""<br>
                  > PREFERRED_VERSION_gstreamer1.0-libav:mx8-nxp-bsp
                  = ""<br>
                  > PREFERRED_VERSION_gstreamer1.0 = ""<br>
                  > PREFERRED_VERSION_gstreamer1.0-plugins-base = ""<br>
                  > PREFERRED_VERSION_gstreamer1.0-plugins-good = ""<br>
                  > PREFERRED_VERSION_gstreamer1.0-plugins-bad = ""<br>
                  > PREFERRED_VERSION_gstreamer1.0-libav = ""<br>
                  ><br>
                  > If your OE-core layer has a very old gstreamer
                  version, you will also<br>
                  > need this layer: <a
                    href="https://github.com/OSSystems/meta-gstreamer1.0"
                    rel="noreferrer noreferrer" target="_blank"
                    moz-do-not-send="true" class="moz-txt-link-freetext">https://github.com/OSSystems/meta-gstreamer1.0</a>
                  --<br>
                  > pick the right branch in that repo for your yocto
                  version.<br>
                  ><br>
                  > Basically, if you see a gstreamer package version
                  with "imx" in it,<br>
                  > like x.y.z.imx, that's the NXP fork and you need
                  to fix up your<br>
                  > config.<br>
                  ><br>
                  > Cheers,<br>
                  > Nirbheek<br>
                  ><br>
                  > On Wed, Nov 9, 2022 at 8:16 PM Terry Barnaby via
                  gstreamer-devel<br>
                  > <<a
                    href="mailto:gstreamer-devel@lists.freedesktop.org"
                    target="_blank" rel="noreferrer"
                    moz-do-not-send="true" class="moz-txt-link-freetext">gstreamer-devel@lists.freedesktop.org</a>>
                  wrote:<br>
                  >> We are working on a video inspection system
                  that is using an NXP IMX8MP<br>
                  >> CPU based system that this using gstreamer
                  for its image processing<br>
                  >> pipeline. Generally the system is working
                  fine but occasionally when you<br>
                  >> pause and unpause the pipeline we get large
                  video stuttering (frames<br>
                  >> could take 20 seconds to update etc.).<br>
                  >><br>
                  >> This is using NXP gstreamer Elements as well
                  as NXP hardware blocks and<br>
                  >> also one of our own gstreamer elements. I
                  know this is not the standard<br>
                  >> gstreamer code, but I am just after some
                  debug advice as I have now<br>
                  >> spent a week trying to get to the bottom of
                  the issue and maybe someone<br>
                  >> might have some ideas/pointers.<br>
                  >><br>
                  >> I have got it down to a simple 'C' program
                  example that shows the issue<br>
                  >> after a few minutes. The basic pipeline for
                  this is:<br>
                  >><br>
                  >> imxcompositor_g2d name=c sink_0::alpha=1.0
                  sink_1::alpha=0.5 ! queue !<br>
                  >> waylandsink v4l2src device=/dev/video3 !
                  beamdeinterlace !<br>
                  >>
                  video/x-raw,width=720,height=576,framerate=25/1 !
                  c.sink_0 appsrc<br>
                  >> name=appsrc ! c.sink_1<br>
                  >><br>
                  >> There is a 720x576@25 video stream from a CSI
                  camera and a 720x576@25<br>
                  >> overlay stream generated by an appsrc. The
                  beamdeinterlace Element is a<br>
                  >> very simple GstVideoFilterClass based Element
                  that just uses a<br>
                  >> transform_frame() function.<br>
                  >><br>
                  >> If this stream is paused and unpaused,
                  sometimes the camera video stream<br>
                  >> will have this severe stuttering while the
                  overlay stream is unaffected<br>
                  >> when looking at the video output from the
                  compositor.<br>
                  >><br>
                  >> Adding probes to the imxcompositor_g2d sinks
                  show that the buffer times<br>
                  >> on both sinks are updating fine. Indeed if I
                  tee of the stream after the<br>
                  >> beamdeinterlace this looks fine whilst the
                  issue is happening.<br>
                  >><br>
                  >> Digging down into the imxcompositor_g2d it is
                  using gstvideoaggregator<br>
                  >> and gstaggregator. When I add printf's to its<br>
                  >> gst_imxcompositor_aggregate_frames() function
                  I see that its<br>
                  >> gst_video_aggregator_pad_get_current_buffer()
                  call is returning the same<br>
                  >> frame continuously when the problem occurs.
                  So it looks like something<br>
                  >> in the GStreamer gstvideoaggregator or
                  gstaggregator is dropping the<br>
                  >> camera's video frames for some reason.<br>
                  >><br>
                  >> Setting GST_DEBUG=imxcompositor:7 shows no
                  obvious issues (no dropping<br>
                  >> frame like messages).<br>
                  >><br>
                  >> The GStreamer being used is 1.18.0 although I
                  suspect with a few NXP mods.<br>
                  >><br>
                  >> Has anyone seen this sort of behaviour with a
                  compositor before ?<br>
                  >><br>
                  >> Any ideas on what may be happening and
                  where/how to look ?<br>
                  >><br>
                  <br>
                </blockquote>
              </div>
            </div>
          </div>
        </blockquote>
        <p><br>
        </p>
      </blockquote>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>