<div dir="ltr"><div>I've recompiled gst-plugins-bad and gst-omx (1.11.1) with your env variables and it did not work, but then I set:<br><br><br></div><div>export CFLAGS="-I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux/ -I/opt/vc/include/IL"<br>export LDFLAGS="-L/opt/vc/lib"<br>export CPPFLAGS="-I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/IL"<br>export LIBS="-L/opt/vc/lib"<br><br></div><div>and it worked. Maybe I fucked up something else, I don't know. It's working now, so thank you.<br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 22 March 2017 at 10:43, Matthew Waters <span dir="ltr"><<a href="mailto:ystreet00@gmail.com" target="_blank">ystreet00@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000"><span class="">
    <div class="m_-9089761008928445746moz-cite-prefix">On 23/03/17 00:19, David Ventura wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">
        <div>
          <div>My caps seem to be not using zerocopy:<br>
            <br>
/GstPipeline:pipeline0/<wbr>GstOMXH264Dec-omxh264dec:<wbr>omxh264dec-omxh264dec0.GstPad:<wbr>sink:
            caps = video/x-h264, stream-format=(string)byte-<wbr>stream,
            alignment=(string)au, level=(string)4, profile=(string)high,
            width=(int)1280, height=(int)720, framerate=(fraction)0/1,
            parsed=(boolean)true<br>
/GstPipeline:pipeline0/<wbr>GstOMXH264Dec-omxh264dec:<wbr>omxh264dec-omxh264dec0.GstPad:<wbr>src:
            caps = video/x-raw, format=(string)I420, width=(int)1280,
            height=(int)720, interlace-mode=(string)<wbr>progressive,
            pixel-aspect-ratio=(fraction)<wbr>1/1, chroma-site=(string)mpeg2,
            colorimetry=(string)bt709, framerate=(fraction)0/1<br>
            /GstPipeline:pipeline0/<wbr>GstQueue:queue1.GstPad:src: caps =
            video/x-raw, format=(string)I420, width=(int)1280,
            height=(int)720, interlace-mode=(string)<wbr>progressive,
            pixel-aspect-ratio=(fraction)<wbr>1/1, chroma-site=(string)mpeg2,
            colorimetry=(string)bt709, framerate=(fraction)0/1<br>
            /GstPipeline:pipeline0/<wbr>GstQueue:queue1.GstPad:sink: caps =
            video/x-raw, format=(string)I420, width=(int)1280,
            height=(int)720, interlace-mode=(string)<wbr>progressive,
            pixel-aspect-ratio=(fraction)<wbr>1/1, chroma-site=(string)mpeg2,
            colorimetry=(string)bt709, framerate=(fraction)0/1<br>
/GstPipeline:pipeline0/<wbr>GstGLImageSink:glimagesink0.<wbr>GstPad:sink: caps =
            video/x-raw, format=(string)I420, width=(int)1280,
            height=(int)720, interlace-mode=(string)<wbr>progressive,
            pixel-aspect-ratio=(fraction)<wbr>1/1, chroma-site=(string)mpeg2,
            colorimetry=(string)bt709, framerate=(fraction)0/1<br>
            <br>
            <br>
            <br>
          </div>
          What options did I miss while building gst-plugins-bad /
          gst-omx ?<br>
          <br>
        </div>
        In my build script I used:<br>
        <br>
        AUTOGEN_FLAGS=" --with-omx-header-path=/opt/<wbr>vc/include/IL
        --with-omx-target=rpi --prefix=/usr
        --libdir=/usr/lib/arm-linux-<wbr>gnueabihf/"<br>
        AUTOGEN_FLAGS="$AUTOGEN_FLAGS
        --disable-{fatal-warnings,gtk-<wbr>doc,debug,debugutils,tests,<wbr>examples}"<br>
      </div>
    </blockquote>
    <br></span>
    Make sure you're building gst-omx and gst-plugins-bad from
    compatible versions.  Having both gst-omx and gst-plugins-bad be
    >= 1.10.0 is a good start.  Using older versions it gets
    complicated as to which versions are compatible with each other.<br>
    <br>
    My build setup uses<br>
    <br>
    CPPFLAGS="-I/opt/vc/include
    -I/opt/vc/include/interface/<wbr>vcos/pthreads
    -I/opt/vc/include/interface/<wbr>vmcs_host/linux -I/opt/vc/include/IL"<br>
    LIBS="-L/opt/vc/lib"<br>
    <br>
    In the environment<br>
    <br>
    --disable-x11 --disable-opengl --disable-glx --enable-gles2
    --disable-wayland --with-gles2-module-name=/opt/<wbr>vc/lib/libGLESv2.so
    --with-egl-module-name=/opt/<wbr>vc/lib/libEGL.so<br>
    <br>
    for autogen in gst-plugins-bad and<br>
    <br>
    --with-omx-target=rpi<br>
    <br>
    for autogen in gst-omx<br>
    <br>
    Cheers<br>
    -Matt<div><div class="h5"><br>
    <br>
    <blockquote type="cite">
      <div class="gmail_extra">
        <div class="gmail_quote">On 22 March 2017 at 09:59, Matthew
          Waters <span dir="ltr"><<a href="mailto:ystreet00@gmail.com" target="_blank">ystreet00@gmail.com</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor="#FFFFFF" text="#000000"><span>
                <div class="m_-9089761008928445746m_-5068075265185795359moz-cite-prefix">On
                  22/03/17 23:35, David Ventura wrote:<br>
                </div>
                <blockquote type="cite">
                  <div dir="ltr">
                    <div>While it does help, it's way, way worse than it
                      should be. Is this 'normal'? Is there any way to
                      play back a gstreamer pipeline smoothly on a pi?
                      This is 1280x720@25. Lowering the source bitrate
                      helps a little, but it's not even that high to
                      begin with.<br>
                    </div>
                  </div>
                </blockquote>
                <br>
              </span> If you actually built gst-omx and gst-plugins-bad
              correctly, you will just get smooth playback of 1080p@30
              videos.<br>
              <br>
              Have a look at the caps between omxh264dec and glimagesink
              if they do not contain video/x-raw(memory:GLMemory) then
              the zerocopy path is not being used.<br>
              <br>
              The other thing to double check is the latency setting
              (10ms) on rtpjitterbuffer be be too low for your network.<br>
              <br>
              Cheers<br>
              -Matt<span><br>
                <br>
                <blockquote type="cite">
                  <div dir="ltr">David<br>
                  </div>
                  <div class="gmail_extra"><br>
                    <div class="gmail_quote">On 22 March 2017 at 07:56,
                      Matthew Waters <span dir="ltr"><<a href="mailto:ystreet00@gmail.com" target="_blank">ystreet00@gmail.com</a>></span>
                      wrote:<br>
                      <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                        <div bgcolor="#FFFFFF" text="#000000"><span> On
                            22/03/17 04:15, David Ventura wrote:<br>
                            <blockquote type="cite">
                              <div dir="ltr">
                                <div>Hi. I've been trying to play either
                                  a udp h264 stream or a video file with
                                  hardware acceleration.<br>
                                  <br>
                                </div>
                                With this command I get VERY choppy
                                playback, low cpu usage and a lot of
                                banding:<br>
                                <div><br clear="all">
                                  gst-launch-1.0 -qe udpsrc port=5002
                                  do-timestamp=true ! queue !
                                  application/x-rtp, payload=96 !
                                  rtpjitterbuffer latency=10 !
                                  rtph264depay ! h264parse ! omxh264dec
                                  ! glimagesink <br>
                                </div>
                              </div>
                            </blockquote>
                            <br>
                          </span> Adding a small queue after the decoder
                          at least would decouple video decoding from
                          actual rendering which probably helps here.<br>
                          <br>
                          As you have low CPU usage I assume you built
                          gst-omx and gst-plugins-bad correctly for
                          zerocopy decoding which is good :)<br>
                          <br>
                          Cheers<br>
                          -Matt<span><br>
                            <br>
                            <blockquote type="cite">
                              <div dir="ltr">
                                <div>adding<br>
                                  <br>
                                  enable-last-sample=false qos=false<br>
                                  <br>
                                </div>
                                <div>to the glimagesink makes it
                                  somewhat better, but still horrible.<br>
                                  <br>
                                  Similar thing (banding, low fps, low
                                  cpu usage) happens with: <br>
                                  gst-launch-1.0 filesrc
                                  location=file.mp4 ! qtdemux !
                                  h264parse ! omxh264dec ! glimagesink<br>
                                  <br>
                                </div>
                                <div>I compiled this version on my own,
                                  I'm running 1.11.1 right now.<br>
                                  <br>
                                </div>
                                <div>What can I do about this? <br>
                                </div>
                                <div>-- <br>
                                  <div class="m_-9089761008928445746m_-5068075265185795359m_241831504208025624gmail_signature">
                                    <div dir="ltr">
                                      <div>
                                        <div dir="ltr">
                                          <div><b>Stack</b> is the new
                                            term for "I have no idea
                                            what I'm actually using".</div>
                                        </div>
                                      </div>
                                    </div>
                                  </div>
                                </div>
                              </div>
                            </blockquote>
                            <br>
                          </span></div>
                      </blockquote>
                    </div>
                    <br>
                    <br clear="all">
                    <br>
                    -- <br>
                    <div class="m_-9089761008928445746m_-5068075265185795359gmail_signature" data-smartmail="gmail_signature">
                      <div dir="ltr">
                        <div>
                          <div dir="ltr">
                            <div><b>Stack</b> is the new term for "I
                              have no idea what I'm actually using".</div>
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                </blockquote>
              </span></div>
          </blockquote>
        </div>
        <br>
        <br clear="all">
        <br>
        -- <br>
        <div class="m_-9089761008928445746gmail_signature" data-smartmail="gmail_signature">
          <div dir="ltr">
            <div>
              <div dir="ltr">
                <div><b>Stack</b> is the new term for "I have no idea
                  what I'm actually
                  using".</div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
  </div></div></div>

</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><b>Stack</b> is the new term for "I have no idea what I'm actually
using".</div></div></div></div></div>
</div>