<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>