<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Here's the relevant section, 5.2 table 2 (sorry for the formatting):<br>
    <br>
    <pre>Value of nal_unit_type | Description | Video elementary stream (sample entry ʹavc1ʹ or ʹavc2ʹ) | Video elementary stream (sample entry ʹvc3ʹ or ʹavc4ʹ)  | Parameter set elementary stream</pre>
    <pre>7                      | SPS (..)    | No If parameter set elementary stream is not used, SPS  | Yes Parameter set elementary stream shall not be used   | Yes</pre>
    <pre>                       |             | shall be stored in the Decoder Specific Information     |                                                         |</pre>
    <br>
    <div class="moz-cite-prefix">On 12/4/19 7:45 PM, Mathieu Duponchelle
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:b5d04b04-2a29-638a-c8b7-6737cb235a80@centricular.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      I'm afraid I don't have these documents available to me anymore
      (pretty sure I got them at some point).<br>
      Perhaps someone else will read this and lend you their copy :)<br>
      <br>
      <div class="moz-cite-prefix">On 12/4/19 7:03 PM, David Ing wrote:<br>
      </div>
      <blockquote type="cite"
cite="mid:CAKF2gC-YUM2JMK_x+pWa=WyeYCMZ9vuv0ntYax15k5wERfbsfQ@mail.gmail.com">
        <meta http-equiv="content-type" content="text/html;
          charset=UTF-8">
        <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"
                  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"
                  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"
              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>
        <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" moz-do-not-send="true">gstreamer-devel@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" moz-do-not-send="true">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a></pre>
      </blockquote>
      <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>