<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Sorry, replied to the earlier mail, didn't notice you had found a
    link. As far as I know,<br>
    the problem relates to the specification of how H264 is to be
    contained in MP4, I think<br>
    you'll need to look at ISO/IEC 14496-15 for more information :)<br>
    <br>
    <div class="moz-cite-prefix">On 12/4/19 7:26 PM, David Ing wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAKF2gC8hfHtd_POeH27QOap_jkEdn6dTKPeCMQjyoDLEsEZWqQ@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">Here is the AVC1 standard:  
        <a
          href="https://www.itu.int/ITU-T/recommendations/rec.aspx?rec=7825"
          moz-do-not-send="true">https://www.itu.int/ITU-T/recommendations/rec.aspx?rec=7825</a> 
        (the link was right there as a reference in the wikipedia
        article, 
        <a
          href="https://en.wikipedia.org/wiki/Advanced_Video_Coding#Versions"
          target="_blank" moz-do-not-send="true">https://en.wikipedia.org/wiki/Advanced_Video_Coding#Versions</a>).
        <div><br>
        </div>
        <div>Page 31 / section 7.3.2.1 defines the Sequence parameter
          set RBSP syntax, which includes:</div>
        <div>
          <ul>
            <li>pic_width_in_mbs_minus1</li>
            <li>pic_height_in_map_units_minus_1</li>
          </ul>
          <div>Therefore (unless I am mistaken), it looks like sequence
            parameter sets (which contain width / height settings) are
            allowed in avc1.</div>
        </div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Wed, Dec 4, 2019 at 10:11
          AM David Ing <<a href="mailto:ding@panopto.com"
            moz-do-not-send="true">ding@panopto.com</a>> wrote:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px
          0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <div dir="ltr">Okay ... I think this is where the versions are
            defined:  
            <a
              href="https://en.wikipedia.org/wiki/Advanced_Video_Coding#Versions"
              target="_blank" moz-do-not-send="true">https://en.wikipedia.org/wiki/Advanced_Video_Coding#Versions</a>
            <div><br>
            </div>
            <div>(Still trying to figure out how to view the standards
              for free.)</div>
          </div>
          <br>
          <div class="gmail_quote">
            <div dir="ltr" class="gmail_attr">On Wed, Dec 4, 2019 at
              10:03 AM David Ing <<a href="mailto:ding@panopto.com"
                target="_blank" moz-do-not-send="true">ding@panopto.com</a>>
              wrote:<br>
            </div>
            <blockquote class="gmail_quote" style="margin:0px 0px 0px
              0.8ex;border-left:1px solid
              rgb(204,204,204);padding-left:1ex">
              <div dir="ltr">Mathieu --
                <div><br>
                </div>
                <div>Please excuse the inadequacy of my google-fu.  I am
                  having trouble finding any kind of authoritative
                  reference document which describes avc1, 2, 3, 4, ...
                  (and the subtle differences between them)</div>
                <div>
                  <ul>
                    <li>My best guess is that avc1 refers to the first
                      amendment:  <a
                        href="https://www.iso.org/standard/67318.html"
                        target="_blank" moz-do-not-send="true">https://www.iso.org/standard/67318.html</a></li>
                    <li>My best guess is that avc3 refers to the third
                      amendment:  <a
                        href="https://www.iso.org/standard/69728.html"
                        target="_blank" moz-do-not-send="true">https://www.iso.org/standard/69728.html</a></li>
                  </ul>
                </div>
                <div>Also -- I am a bit surprised that we need to pay in
                  order to view documents like this.  Does anyone know
                  if there is a way to view this stuff for free?<br>
                </div>
              </div>
              <br>
              <div class="gmail_quote">
                <div dir="ltr" class="gmail_attr">On Wed, Dec 4, 2019 at
                  9:14 AM Mathieu Duponchelle <<a
                    href="mailto:mathieu@centricular.com"
                    target="_blank" moz-do-not-send="true">mathieu@centricular.com</a>>
                  wrote:<br>
                </div>
                <blockquote class="gmail_quote" style="margin:0px 0px
                  0px 0.8ex;border-left:1px solid
                  rgb(204,204,204);padding-left:1ex">
                  <div> That's an interesting file, but I'm not sure it
                    is a a compliant one:  the resolution change is<br>
                    advertised through SPS in the bitstream, but the MP4
                    header says "avc1", which as far as I remembe<br>
                    means the H264 bitstream should not contain any SPS
                    (please double check this, haven't looked at the
                    spec).<br>
                    <br>
                    Ideally, the tool you produced this file with would
                    use an "avc3" stream format, and not hold<br>
                    any parameter sets in its MP4 header. That way, you
                    could detect resolution changes by simply<br>
                    plugging a demuxer and a parser together and looking
                    for new caps. Currently you can only do that<br>
                    either by also plugging a decoder afterwards and
                    looking for caps changes, or analysing the SPS<br>
                    manually :)<br>
                    <br>
                    Best,<br>
                    <br>
                    <div>-- <br>
                      Mathieu Duponchelle · <a
                        href="https://www.centricular.com"
                        target="_blank" moz-do-not-send="true">https://www.centricular.com</a></div>
                    <br>
                    <br>
                    <div>On 12/3/19 10:50 PM, David Ing wrote:<br>
                    </div>
                    <blockquote type="cite">
                      <div dir="ltr">I have an mp4 file which changes
                        size during playback.  But I noticed that
                        gst-discoverer-1.0 does not report the fact that
                        the size changes.
                        <div><br>
                        </div>
                        <div><span
                            style="background-color:rgb(255,255,0)">I
                            have two questions</span>.</div>
                        <div>
                          <ol>
                            <li>In theory, what is the fastest way to
                              scan the file to determine where the size
                              changes?</li>
                            <li>In practice, what is the easiest way
                              (given the current state of gstreamer) to
                              scan the file and determine where the size
                              changes?</li>
                          </ol>
                          <div>
                            <div>Here is the file which changes size
                              during playback:<br>
                            </div>
                          </div>
                          <div><br>
                          </div>
                          <blockquote style="margin:0px 0px 0px
                            40px;border:none;padding:0px">
                            <div>
                              <div><a
href="https://drive.google.com/drive/folders/1f4pGNDhzCvsg1xXWj4y9DS3vXkaglOvZ?usp=sharing"
                                  target="_blank" moz-do-not-send="true">https://drive.google.com/drive/folders/1f4pGNDhzCvsg1xXWj4y9DS3vXkaglOvZ?usp=sharing</a></div>
                            </div>
                            <div><br>
                            </div>
                          </blockquote>
                          Here is the gst-discoverer-1.0 output:
                          <div><br>
                          </div>
                          <blockquote style="margin:0px 0px 0px
                            40px;border:none;padding:0px">
                            <div><font face="monospace">$ <b>gst-discoverer-1.0
                                  -v screencap.m4v </b></font></div>
                            <div><font face="monospace">Analyzing <a
                                  moz-do-not-send="true">file:///home/ding/mess/repro/screencap.m4v</a></font></div>
                            <div><font face="monospace">Done discovering
                                <a moz-do-not-send="true">file:///home/ding/mess/repro/screencap.m4v</a></font></div>
                            <div><font face="monospace"><br>
                              </font></div>
                            <div><font face="monospace">Topology:</font></div>
                            <div><font face="monospace">  container:
                                video/quicktime, variant=(string)iso</font></div>
                            <div><font face="monospace">    video:
                                video/x-h264, stream-format=(string)avc,
                                alignment=(string)au, level=(string)4.2,
                                profile=(string)main,
codec_data=(buffer)014d402affe1002b674d402a965402a835f35602d40404050000030001000003003ce060007d0000030177009a9503b4244d4001000468ce3520,
                                width=(int)996, height=(int)632,
                                pixel-aspect-ratio=(fraction)1/1,
                                framerate=(fraction)30/1,
                                interlace-mode=(string)progressive,
                                chroma-format=(string)4:2:0,
                                bit-depth-luma=(uint)8,
                                bit-depth-chroma=(uint)8,
                                parsed=(boolean)true</font></div>
                            <div><font face="monospace">      Tags:</font></div>
                            <div><font face="monospace">        video
                                codec: H.264 / AVC</font></div>
                            <div><font face="monospace">        bitrate:
                                309812</font></div>
                            <div><font face="monospace">       
                                datetime: 2019-11-01T17:40:33Z</font></div>
                            <div><font face="monospace">        title:
                                n/a</font></div>
                            <div><font face="monospace">       
                                container format: ISO MP4/M4A</font></div>
                            <div><font face="monospace">      </font></div>
                            <div><font face="monospace">      Codec:</font></div>
                            <div><font face="monospace">       
                                video/x-h264, stream-format=(string)avc,
                                alignment=(string)au, level=(string)4.2,
                                profile=(string)main,
codec_data=(buffer)014d402affe1002b674d402a965402a835f35602d40404050000030001000003003ce060007d0000030177009a9503b4244d4001000468ce3520,
                                width=(int)996, height=(int)632,
                                pixel-aspect-ratio=(fraction)1/1,
                                framerate=(fraction)30/1,
                                interlace-mode=(string)progressive,
                                chroma-format=(string)4:2:0,
                                bit-depth-luma=(uint)8,
                                bit-depth-chroma=(uint)8,
                                parsed=(boolean)true</font></div>
                            <div><font face="monospace">      Additional
                                info:</font></div>
                            <div><font face="monospace">        None</font></div>
                            <div><font face="monospace">      Stream ID:
14c5bd3783191c8af25f30b00a879f8f7bdaa4367c8ecbd954b38e5367507175/001</font></div>
                            <div><font face="monospace">      Width:
                                1350</font></div>
                            <div><font face="monospace">      Height:
                                846</font></div>
                            <div><font face="monospace">      Depth: 24</font></div>
                            <div><font face="monospace">      Frame
                                rate: 30/1</font></div>
                            <div><font face="monospace">      Pixel
                                aspect ratio: 1/1</font></div>
                            <div><font face="monospace">     
                                Interlaced: false</font></div>
                            <div><font face="monospace">      Bitrate:
                                309812</font></div>
                            <div><font face="monospace">      Max
                                bitrate: 0</font></div>
                            <div><font face="monospace"><br>
                              </font></div>
                            <div><font face="monospace">Properties:</font></div>
                            <div><font face="monospace">  Duration:
                                0:00:34.861322222</font></div>
                            <div><font face="monospace">  Seekable: yes</font></div>
                            <div><font face="monospace">  Live: no</font></div>
                            <div><font face="monospace">  Tags: </font></div>
                            <div><font face="monospace">      video
                                codec: H.264 / AVC</font></div>
                            <div><font face="monospace">      bitrate:
                                309812</font></div>
                            <div><font face="monospace">      datetime:
                                2019-11-01T17:40:33Z</font></div>
                            <div><font face="monospace">      title: n/a</font></div>
                            <div><font face="monospace">      container
                                format: ISO MP4/M4A</font></div>
                          </blockquote>
                        </div>
                      </div>
                      <br>
                      <fieldset></fieldset>
                      <pre>_______________________________________________
gstreamer-devel mailing list
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank" moz-do-not-send="true">gstreamer-devel@lists.freedesktop.org</a>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank" moz-do-not-send="true">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a></pre>
                    </blockquote>
                  </div>
                </blockquote>
              </div>
            </blockquote>
          </div>
        </blockquote>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
gstreamer-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a></pre>
    </blockquote>
  </body>
</html>