<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    On 7/6/22 03:41, Piotr Oniszczuk wrote:<br>
    <blockquote type="cite"
      cite="mid:17941F06-E315-4CD8-A4C0-AC1668BAFCE8@gmail.com">
      <pre class="moz-quote-pre" wrap="">

</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">Wiadomość napisana przez Scott Theisen <a class="moz-txt-link-rfc2396E" href="mailto:scott.the.elm@gmail.com"><scott.the.elm@gmail.com></a> w dniu 05.07.2022, o godz. 20:05:

On 7/5/22 04:37, Piotr Oniszczuk wrote:
</pre>
        <blockquote type="cite">
          <pre class="moz-quote-pre" wrap="">It looks i was wrong saying: .mkv sample plays ok in current master.
.mkv sample fails on current master with vdpau/vaapi api
but plays ok with hw decoding on current master (and also on ffmpeg-resync) with: v4l2_request and v4l2_m2m api

So issue is rather no fmpeg-resync regression - but rather more general regression in current master:-(

If this will be helpful - pls find 2 logs:
-failing on n3450 vaapi; ffmpeg-resync : hxxp://warped.inet2.org/failing.log
-working on h6 v4l2_request; ffmpeg-resync: hxxp://warped.inet2.org/ok.log
</pre>
        </blockquote>
        <pre class="moz-quote-pre" wrap="">
You website is asking for a login, so I can't look at your logs.
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
Ah i'm sorry.
Now should be ok :-p</pre>
    </blockquote>
    <br>
    Just to clarify the behavior when you say failing on n3450, do you
    mean it doesn't decode at all or just that it doesn't use hardware
    acceleration?<br>
    <br>
    Noteworthy lines from failing.log:<br>
    ```<br>
    2022-07-05 09:48:55.647891 I [5383/5383] CoreContext
    mythvideoprofile.cpp:305 (MythVideoProfile) - VideoProfile:
    Accepting: cmp() w() h() framerate() codecs( ) dec(vaapi) cpus(2)
    skiploop(enabled) rend(opengl-hw)
    deint(high:shader:driver,high:shader:driver) upscale(bilinear)<br>
    2022-07-05 09:48:55.647910 I [5383/5383] CoreContext
    mythvideoprofile.cpp:305 (MythVideoProfile) - VideoProfile:
    Accepting: cmp() w() h() framerate() codecs( ) dec(ffmpeg) cpus(2)
    skiploop(enabled) rend(opengl-yv12)
    deint(medium:shader,medium:shader) upscale(bilinear)<br>
    ...<br>
    2022-07-05 09:48:56.257242 I [5383/5383] CoreContext
    mythvideoprofile.cpp:446 (LoadBestPreferences) - VideoProfile:
    LoadBestPreferences(1920x1080, 50.000, h264)<br>
    2022-07-05 09:48:56.257265 I [5383/5383] CoreContext
    mythvideoprofile.cpp:471 (LoadBestPreferences) - VideoProfile:
    LoadBestPreferences result: priority:1 width: height: fps: codecs: <br>
    2022-07-05 09:48:56.257273 I [5383/5383] CoreContext
    mythvideoprofile.cpp:476 (LoadBestPreferences) - VideoProfile:
    decoder:vaapi renderer:opengl-hw deint0:high:shader:driver
    deint1:high:shader:driver cpus:2 upscale:bilinear<br>
    2022-07-05 09:48:56.257324 I [5383/5383] CoreContext
    mythvaapicontext.cpp:152 (GetSupportedCodec) - VAAPIDec: VAAPI does
    not support decoding 'h264 Baseline yuv420p'<br>
    2022-07-05 09:48:56.257334 I [5383/5383] CoreContext
    avformatdecoder.cpp:2304 (ScanStreams) - AFD: Unavailable decoders:
    vaapi<br>
    ```<br>
    <br>
    Your Intel N3450 has 4 cores, why use only 2 of them?<br>
    <br>
    Your sample, h264-Sat_1080i_25fps.mkv, has a video stream using AVC
    Baseline Profile.  libva has deprecated (
<a class="moz-txt-link-freetext" href="https://github.com/intel/libva/commit/6f69256f8ccc9a73c0b196ab77ac69ab1f4f33c2">https://github.com/intel/libva/commit/6f69256f8ccc9a73c0b196ab77ac69ab1f4f33c2</a>
    ) this on 2017-09-17 saying:<br>
    ```<br>
    <div class="commit-title markdown-title"> Deprecate H.264 baseline
      profile and FMO support </div>
    <pre>This is not now and never will be supported by any hardware, nor is
it supported by any current software.</pre>
    ```<br>
    <br>
    If I understand what the Baseline Profile enables, the video stream
    should not decode properly if it actually uses those features. 
    Since it presumably did decode properly using hardware acceleration,
    the video stream is probably a mislabeled Constrained Baseline.<br>
    <br>
    Could you get the output of `vainfo` on your Intel system?<br>
    <br>
    Try this (raises a -Wdeprecated-declarations)<br>
    ```<br>
    diff --git a/mythtv/libs/libmythtv/decoders/mythvaapicontext.cpp
    b/mythtv/libs/libmythtv/decoders/mythvaapicontext.cpp<br>
    index 514eec029b..ba9751c871 100644<br>
    --- a/mythtv/libs/libmythtv/decoders/mythvaapicontext.cpp<br>
    +++ b/mythtv/libs/libmythtv/decoders/mythvaapicontext.cpp<br>
    @@ -68,6 +68,7 @@ VAProfile
    MythVAAPIContext::VAAPIProfileForCodec(const AVCodecContext* Codec)<br>
             case AV_CODEC_ID_H264:<br>
                 switch (Codec->profile)<br>
                 {<br>
    +                case FF_PROFILE_H264_BASELINE: return
    VAProfileH264Baseline;<br>
                     case FF_PROFILE_H264_CONSTRAINED_BASELINE: return
    VAProfileH264ConstrainedBaseline;<br>
                     case FF_PROFILE_H264_MAIN: return
    VAProfileH264Main;<br>
                     case FF_PROFILE_H264_HIGH: return
    VAProfileH264High;<br>
    ```<br>
    <br>
    or this hack:<br>
    ```<br>
    diff --git a/mythtv/libs/libmythtv/decoders/mythvaapicontext.cpp
    b/mythtv/libs/libmythtv/decoders/mythvaapicontext.cpp<br>
    index 514eec029b..c3a0550687 100644<br>
    --- a/mythtv/libs/libmythtv/decoders/mythvaapicontext.cpp<br>
    +++ b/mythtv/libs/libmythtv/decoders/mythvaapicontext.cpp<br>
    @@ -68,6 +68,7 @@ VAProfile
    MythVAAPIContext::VAAPIProfileForCodec(const AVCodecContext* Codec)<br>
             case AV_CODEC_ID_H264:<br>
                 switch (Codec->profile)<br>
                 {<br>
    +                case FF_PROFILE_H264_BASELINE: // XXX HACK: assume
    mislabeled and hope for the best<br>
                     case FF_PROFILE_H264_CONSTRAINED_BASELINE: return
    VAProfileH264ConstrainedBaseline;<br>
                     case FF_PROFILE_H264_MAIN: return
    VAProfileH264Main;<br>
                     case FF_PROFILE_H264_HIGH: return
    VAProfileH264High;<br>
    ```<br>
    <br>
    <blockquote type="cite"
      cite="mid:17941F06-E315-4CD8-A4C0-AC1668BAFCE8@gmail.com">
      <pre class="moz-quote-pre" wrap="">

</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">
</pre>
        <blockquote type="cite">
          <pre class="moz-quote-pre" wrap="">
btw:
i also discover current master fails hw decode on mesa/vaapi
hw decode ok but with black screen on mesa/vdpau
....but this is another issue
</pre>
        </blockquote>
        <pre class="moz-quote-pre" wrap="">
It is probably best to open a new issue on GitHub so this thread stays on topic.
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
I looked closer on mesa thing.
After mesa update, rebuild, make sure llvm cooperates ok with mesa and various tests i see:
-current mesa/vaapi works ok on current master.
-current mesa/vaapi not works on ffmpeg-resync.

So maybe we will return to testing mesa/vaapi on ffmpeg-resync when we fix my .mkv sample decoding issue?
 
br</pre>
    </blockquote>
    <br>
    What doesn't work?<br>
    <br>
    Scott<br>
  </body>
</html>