<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Brilliant thanks Anton.</p>
    <p>Just to be complete if its codec "139 - Google VP8" then you need
      to find "libvpx-vp8" and<br>
      if its "167 - Google VP9" then you need to find "libvpx-vp9".</p>
    <p>Also you can load a stream with avcodec_open2 and override the
      codec there instead.<br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 6/15/2018 7:25 PM, Anton Shekhovtsov
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAMdg9b2tK+iTdJ3r0KGonLUe8pdKnN7YFqjXzWdpRQGcOrUnOw@mail.gmail.com">
      <div dir="ltr">Hi, "libvpx" is not input format, see this for
        example
        <div><br>
        </div>
        <div>
          <div>  AVCodec* pDecoder =
            avcodec_find_decoder(m_pStreamCtx->codecpar->codec_id);</div>
          <div> 
            if(m_pStreamCtx->codecpar->codec_id==AV_CODEC_ID_VP8){</div>
          <div>    // on2 vp8 does not extract alpha</div>
          <div>    AVCodec* pDecoder2 =
            avcodec_find_decoder_by_name("libvpx");</div>
          <div>    if(pDecoder2) pDecoder = pDecoder2;</div>
          <div>  }</div>
        </div>
        <div><br>
        </div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">2018-06-15 3:02 GMT+03:00 Mark Schafer
          <span dir="ltr"><<a href="mailto:mschafer@wireframe.biz"
              target="_blank" moz-do-not-send="true">mschafer@wireframe.biz</a>></span>:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div text="#000000" bgcolor="#FFFFFF">
              <p>Ahh I think its</p>
              <pre class="m_589738237636612550lang-cpp m_589738237636612550prettyprint m_589738237636612550prettyprinted"><code><span class="m_589738237636612550typ">AVInputFormat</span><span class="m_589738237636612550pln"> </span><span class="m_589738237636612550pun">*</span><span class="m_589738237636612550pln">inputFormat </span><span class="m_589738237636612550pun">=</span><span class="m_589738237636612550pln">av_find_input_format</span><span class="m_589738237636612550pun">(</span><span class="m_589738237636612550str">"</span></code><code><span class="m_589738237636612550str">libvpx"</span><span class="m_589738237636612550pun"><wbr>);
</span></code><code><span class="m_589738237636612550pun"></span><span class="m_589738237636612550pln">avformat_open_input</span><span class="m_589738237636612550pun">(&</span><span class="m_589738237636612550pln">pAVFormat<wbr>Context</span><span class="m_589738237636612550pun">,</span><span class="m_589738237636612550pln"> dev_name</span><span class="m_589738237636612550pun">,</span><span class="m_589738237636612550pln"> inputFormat</span><span class="m_589738237636612550pun">,</span><span class="m_589738237636612550pln"> NULL</span><span class="m_589738237636612550pun">)</span><span class="m_589738237636612550pln"> </span></code>
<code><span class="m_589738237636612550pun"></span></code></pre>
              <div>
                <div class="h5"> <br>
                  <div class="m_589738237636612550moz-cite-prefix">On
                    6/15/2018 11:49 AM, Mark Schafer wrote:<br>
                  </div>
                  <blockquote type="cite">OK. Thanks Carl. <br>
                    <br>
                    So you're saying I should always override it with
                    libvpx if the file I'm loading is .webm ? <br>
                    and if you don't mind - how do I override the codec
                    on load ? <br>
                    Is it in AVInputFormat by stipulating the extension
                    and codec_tag ? <br>
                    <br>
                    <br>
                    On 6/15/2018 11:13 AM, Carl Eugen Hoyos wrote: <br>
                    <blockquote type="cite">2018-06-14 23:03 GMT+02:00,
                      Mark Schafer <a
                        class="m_589738237636612550moz-txt-link-rfc2396E"
                        href="mailto:mschafer@wireframe.biz"
                        target="_blank" moz-do-not-send="true"><mschafer@wireframe.biz></a>:
                      <br>
                      <blockquote type="cite">We're trying to integrate
                        ffmpeg 4 with Pyglet. <br>
                        Its all going very well but we have one issue: <br>
                        <br>
                        - If a VP9 (or VP8) file is created using
                        ffmpeg4 from png files with <br>
                        alphas, we get a video file (webm) with alpha
                        internally. (Excellent) <br>
                        - ffmpeg -i image_seq%03d.png -qmin 0 -qmax 50
                        -crf 5 -b:v 1M output.webm <br>
                              - The report from this CLI indicates that
                        an alpha has been generated. <br>
                        <br>
                        - Sample webm videos with alpha can be found on
                        this page: <br>
                        <a
                          class="m_589738237636612550moz-txt-link-freetext"
                          href="https://simpl.info/videoalpha/"
                          target="_blank" moz-do-not-send="true">https://simpl.info/videoalpha/</a>
                        <br>
                        - However on playing back we only get the RGB
                        and do not get the alpha <br>
                        unless we override the codec to be 'libvpx'. <br>
                      </blockquote>
                      Yes, this is a known limitation of the native
                      decoder, luckily you <br>
                      have already found the only known work-around -
                      not to use it if <br>
                      you need this feature. <br>
                      <br>
                      If you really want to choose the decoder based on
                      the alpha <br>
                      layer, you can check AV_PKT_DATA_MATROSKA_<wbr>BLOCKADDITIONAL
                      <br>
                      if the side_data starts with (uint64_t) 1 there is
                      a transparency layer. <br>
                      <br>
                      It is probably simpler to always use the libvpx
                      decoder. <br>
                      <br>
                      Carl Eugen <br>
                      ______________________________<wbr>_________________
                      <br>
                      Libav-user mailing list <br>
                      <a
                        class="m_589738237636612550moz-txt-link-abbreviated"
                        href="mailto:Libav-user@ffmpeg.org"
                        target="_blank" moz-do-not-send="true">Libav-user@ffmpeg.org</a>
                      <br>
                      <a
                        class="m_589738237636612550moz-txt-link-freetext"
href="http://ffmpeg.org/mailman/listinfo/libav-user" target="_blank"
                        moz-do-not-send="true">http://ffmpeg.org/mailman/<wbr>listinfo/libav-user</a>
                      <br>
                    </blockquote>
                    <br>
                    ______________________________<wbr>_________________
                    <br>
                    Libav-user mailing list <br>
                    <a
                      class="m_589738237636612550moz-txt-link-abbreviated"
                      href="mailto:Libav-user@ffmpeg.org"
                      target="_blank" moz-do-not-send="true">Libav-user@ffmpeg.org</a>
                    <br>
                    <a class="m_589738237636612550moz-txt-link-freetext"
href="http://ffmpeg.org/mailman/listinfo/libav-user" target="_blank"
                      moz-do-not-send="true">http://ffmpeg.org/mailman/<wbr>listinfo/libav-user</a>
                    <br>
                  </blockquote>
                  <br>
                </div>
              </div>
            </div>
            <br>
            ______________________________<wbr>_________________<br>
            Libav-user mailing list<br>
            <a href="mailto:Libav-user@ffmpeg.org"
              moz-do-not-send="true">Libav-user@ffmpeg.org</a><br>
            <a href="http://ffmpeg.org/mailman/listinfo/libav-user"
              rel="noreferrer" target="_blank" moz-do-not-send="true">http://ffmpeg.org/mailman/<wbr>listinfo/libav-user</a><br>
            <br>
          </blockquote>
        </div>
        <br>
      </div>
      <!--'"--><br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Libav-user mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Libav-user@ffmpeg.org">Libav-user@ffmpeg.org</a>
<a class="moz-txt-link-freetext" href="http://ffmpeg.org/mailman/listinfo/libav-user">http://ffmpeg.org/mailman/listinfo/libav-user</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>