Open 9000h opened 6 years ago
Some more info is needed:
System: Host: acer533 Kernel: 4.15.7-041507-generic x86_64 bits: 64 Console: tty 1
Distro: Ubuntu Bionic Beaver (development branch)
Machine: Device: laptop System: Acer product: Aspire ES1-533 v: V1.12 serial: NXGFTEG046708XXXXX
Mobo: Acer model: Stego_AP v: V1.12 serial: XXXXXXXXXXXXXXXXXX
UEFI: Insyde v: V1.12 date: 10/18/2017
Battery BAT1: charge: 37.2 Wh 100.0% condition: 37.2/37.3 Wh (100%)
CPU: Quad core Intel Pentium N4200 (-MCP-) speed/max: 895/2500 MHz
Graphics: Card: Intel Celeron N3350/Pentium N4200/Atom E3900 Series Integrated Graphics Controller
Display Server: X.Org 1.19.6 driver: i915 Resolution: 1920x1080@60.01hz
OpenGL: renderer: Mesa DRI Intel HD Graphics 505 (Broxton) version: 4.5 Mesa 18.0.0-rc4
Network: Card-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller driver: r8169
Card-2: Intel Device 24fb driver: iwlwifi
Drives: HDD Total Size: 256.1GB (11.2% used)
Info: Processes: 254 Uptime: 1 day Memory: 2452.9/7800.8MB Client: Shell (bash) inxi: 2.3.56
DISTRIB_ID=Ubuntu DISTRIB_RELEASE=18.04 DISTRIB_CODENAME=bionic DISTRIB_DESCRIPTION="Ubuntu Bionic Beaver (development branch)"
ffmpeg-3.5~git20180113
libva info: VA-API version 1.1.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_0
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.1 (libva 2.1.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Broxton - 2.0.0
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileH264MultiviewHigh : VAEntrypointVLD
VAProfileH264MultiviewHigh : VAEntrypointEncSlice
VAProfileH264StereoHigh : VAEntrypointVLD
VAProfileH264StereoHigh : VAEntrypointEncSlice
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain10 : VAEntrypointVLD
the log of the UHD Demo Channel at 19.2 East http://paste.ubuntu.com/p/MpBPN3BPBj/
could commit 19e1101eb7c0f1f763e6f43a89db617584c18cc2 do any harm here?
I don't think so but you may do git revert <commit-hash>
and comile the plugin to verify.
you are right
Is the bit-depth of the affected video 10bit or 8bit?
Input #0, mpegts, from '00001.ts':
Duration: 00:02:10.79, start: 5865.806067, bitrate: 3715 kb/s
Program 132
Stream #0:0[0x1ff]: Video: hevc (Main 10) ([36][0][0][0] / 0x0024), yuv420p10le(tv, bt2020nc/bt2020/arib-std-b67), 3840x2160 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:1[0x200](deu): Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 177 kb/s
it's 10Bit, this one is from SES Astra Demo 19.2 East there is no 8bit channel on SAT anymore, some have HGL/HDR some not and some are 50Hz and others 60Hz
the only 8Bit HEVC Main Profile channels I know are the German DVB-T2, which are working with the current git
Ok so the issue most likely is about hw-rendering 10bit video.
Could you test the following very experimental patch? It will probably break something else but unfortunately I don't have the hardware to test this change.
diff --git a/video.c b/video.c
index c2252fa..30ba6d9 100644
--- a/video.c
+++ b/video.c
@@ -973,7 +973,7 @@ static void VaapiDeassociate(VaapiDecoder * decoder)
///
static void VaapiCreateSurfaces(VaapiDecoder * decoder, int width, int height)
{
- if (vaCreateSurfaces(decoder->VaDisplay, VA_RT_FORMAT_YUV420, width, height, decoder->PostProcSurfacesRb,
+ if (vaCreateSurfaces(decoder->VaDisplay, VA_RT_FORMAT_YUV420_10BPP, width, height, decoder->PostProcSurfacesRb,
POSTPROC_SURFACES_MAX, NULL, 0) != VA_STATUS_SUCCESS) {
Fatal("video/vaapi: can't create %d postproc surfaces", POSTPROC_SURFACES_MAX);
}
@@ -1509,6 +1509,8 @@ static int VaapiFindImageFormat(VaapiDecoder * decoder, enum AVPixelFormat pix_f
fourcc = VA_FOURCC_I420; // aka. VA_FOURCC_IYUV
break;
case AV_PIX_FMT_VAAPI:
+ fourcc = VA_FOURCC_P010;
+ break;
case AV_PIX_FMT_NV12:
fourcc = VA_FOURCC_NV12;
break;
@@ -1519,8 +1521,7 @@ static int VaapiFindImageFormat(VaapiDecoder * decoder, enum AVPixelFormat pix_f
fourcc = VA_FOURCC_RGBX;
break;
case AV_PIX_FMT_YUV420P10LE:
- //fourcc = VA_FOURCC_P010;
- fourcc = VA_FOURCC_NV12; // FIXME: Do P010 on supported hardware
+ fourcc = VA_FOURCC_P010;
break;
default:
Fatal("video/vaapi: unsupported pixel format %d (%s)", pix_fmt, av_get_pix_fmt_name(pix_fmt));
@@ -2063,7 +2064,7 @@ static uint8_t *VaapiGrabOutputSurface(int *ret_size, int *ret_width, int *ret_h
*ret_size = *ret_width * *ret_height * 4;
status =
- vaCreateSurfaces(decoder->VaDisplay, VA_RT_FORMAT_YUV420, *ret_width, *ret_height, scaled, ARRAY_ELEMS(scaled),
+ vaCreateSurfaces(decoder->VaDisplay, VA_RT_FORMAT_YUV420_10BPP, *ret_width, *ret_height, scaled, ARRAY_ELEMS(scaled),
NULL, 0);
if (status != VA_STATUS_SUCCESS) {
Error("video/vaapi: can't create scaling surface for grab: %s", vaErrorStr(status));
@@ -3076,7 +3077,7 @@ static void VaapiBlackSurface(VaapiDecoder * decoder)
unsigned u;
status =
- vaCreateSurfaces(decoder->VaDisplay, VA_RT_FORMAT_YUV420, VideoWindowWidth, VideoWindowHeight,
+ vaCreateSurfaces(decoder->VaDisplay, VA_RT_FORMAT_YUV420_10BPP, VideoWindowWidth, VideoWindowHeight,
&decoder->BlackSurface, 1, NULL, 0);
if (status != VA_STATUS_SUCCESS) {
Error("video/vaapi: can't create a surface: %s", vaErrorStr(status));
did test it but it gives only a green screen on all channels SD,HD,UHD 8Bit/10Bit http://paste.ubuntu.com/p/4wZVXDbrkP/
how is the right profile selected HEVCMain or HEVCMain10 could some additional debug statements help
Profile selection is handled by ffmpeg. See here: https://github.com/FFmpeg/FFmpeg/blob/release/3.4/libavcodec/vaapi_decode.c#L314-L333
can we enable the debug like in https://www.ffmpeg.org/doxygen/2.7/demuxing_decoding_8c-example.html to see whats going on
./demuxing-decoding /srv/vdr/video/\@Astra_Ultra_HD_Demo/2018-03-04.22.51.3-0.rec/00001.ts 1 2
[mpegts @ 0x5591331bd940] PES packet size mismatch
Input #0, mpegts, from '/srv/vdr/video/@Astra_Ultra_HD_Demo/2018-03-04.22.51.3-0.rec/00001.ts':
Duration: 00:02:10.79, start: 5865.806067, bitrate: 3715 kb/s
Program 132
Stream #0:0[0x1ff]: Video: hevc (Main 10) ([36][0][0][0] / 0x0024), yuv420p10le(tv, bt2020nc/bt2020/arib-std-b67), 3840x2160 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:1[0x200](deu): Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 192 kb/s
Demuxing video from file '/srv/vdr/video/@Astra_Ultra_HD_Demo/2018-03-04.22.51.3-0.rec/00001.ts' into '1'
Demuxing audio from file '/srv/vdr/video/@Astra_Ultra_HD_Demo/2018-03-04.22.51.3-0.rec/00001.ts' into '2'
[aac @ 0x5591331c34c0] channel element 0.0 is not allocated
Error decoding audio frame (Invalid data found when processing input)
audio_frame n:0 nb_samples:1024 pts:10998.4
audio_frame n:1 nb_samples:1024 pts:10998.5
video_frame n:0 coded_n:0 pts:1.05601e+07
video_frame n:1 coded_n:0 pts:1.05602e+07
video_frame n:2 coded_n:0 pts:1.05602e+07
video_frame n:3 coded_n:0 pts:1.05603e+07
audio_frame n:2 nb_samples:1024 pts:10998.5
audio_frame n:3 nb_samples:1024 pts:10998.5
audio_frame n:4 nb_samples:1024 pts:10998.5
video_frame n:4 coded_n:0 pts:1.05603e+07
video_frame n:5 coded_n:0 pts:1.05603e+07
video_frame n:6 coded_n:0 pts:1.05604e+07
audio_frame n:5 nb_samples:1024 pts:10998.6
audio_frame n:6 nb_samples:1024 pts:10998.6
audio_frame n:7 nb_samples:1024 pts:10998.7
video_frame n:7 coded_n:0 pts:1.05604e+07
video_frame n:8 coded_n:0 pts:1.05604e+07
video_frame n:9 coded_n:0 pts:1.05605e+07
audio_frame n:8 nb_samples:1024 pts:10998.7
audio_frame n:9 nb_samples:1024 pts:10998.7
audio_frame n:10 nb_samples:1024 pts:10998.8
video_frame n:10 coded_n:0 pts:1.05605e+07
video_frame n:11 coded_n:0 pts:1.05605e+07
video_frame n:12 coded_n:0 pts:1.05606e+07
audio_frame n:11 nb_samples:1024 pts:10998.8
audio_frame n:12 nb_samples:1024 pts:10998.9
audio_frame n:13 nb_samples:1024 pts:10998.9
video_frame n:13 coded_n:0 pts:1.05606e+07
video_frame n:14 coded_n:0 pts:1.05606e+07
video_frame n:15 coded_n:0 pts:1.05607e+07
audio_frame n:14 nb_samples:1024 pts:10998.9
audio_frame n:15 nb_samples:1024 pts:10999
audio_frame n:16 nb_samples:1024 pts:1099
You shoud be able to enable libva+ffmpeg output by issuing the following command: svdrpsend plug vaapidevice trac 0x1F00
Hint: take a look at the misc.h for other logging contexts.
@rofafor this was what I'm looking for, thank's @pesintta here are a detailed log on Astra UHD Demo, I hope the info is sufficient to identify the issue http://paste.ubuntu.com/p/QJK7xR6JqT/
this fix the general UHD issue here, but make the other filters unsuable
--- video.c.orig 2018-03-12 00:57:22.895635975 +0100
+++ video.c 2018-03-12 01:03:25.357921081 +0100
@@ -1777,12 +1777,10 @@
for (unsigned int i = 0; i < decoder->filter_n; ++i) {
/* Skip deinterlacer if disabled or source is not interlaced */
- if (decoder->filters[i] == *decoder->vpp_deinterlace_buf) {
if (!decoder->Interlaced)
continue;
if (deinterlace->algorithm == VAProcDeinterlacingNone)
continue;
- }
/* Skip denoise if value is set to 0 ("off") */
if (decoder->vpp_denoise_buf && decoder->filters[i] == *decoder->vpp_denoise_buf) {
I pushed quite a big refactoring to master that may have an effect on this issue. Could you check/verify if this got resolved?
Also other testing is needed especially with various postprocessing filter combinations to make sure everything works as expected.
unfortunatly it's still the same issue, but switching channels HD,SD are fine
compiles with 2 new warnings
Wdeclaration-after-statement -Wno-unused-parameter -std=c99 -c -o video.o video.c
video.c: In function ‘VaapiApplyFilters’:
video.c:1784:5: warning: ‘memset’ used with length equal to number of elements without multiplication by element size [-Wmemset-elt-size]
memset(filters_to_run, VA_INVALID_ID, ARRAY_ELEMS(filters_to_run));
^~~~~~
video.c:1811:5: warning: ‘memset’ used with length equal to number of elements without multiplication by element size [-Wmemset-elt-size]
memset(filters_to_run, VA_INVALID_ID, ARRAY_ELEMS(filters_to_run));
^~~~~~
if I comment this line out UHD is working
--- video.c.orig 2018-03-12 22:36:15.936033486 +0100
+++ video.c 2018-03-12 22:36:28.928104982 +0100
@@ -2408,7 +2408,7 @@
vaCreateBuffer(decoder->VaDisplay, decoder->vpp_ctx, VAProcFilterParameterBufferType,
sizeof(deinterlace), 1, &deinterlace, &filter_buf_id);
decoder->vpp_deinterlace_buf = &decoder->filters[decoder->filter_n];
- decoder->filters[decoder->filter_n++] = filter_buf_id;
+//??? decoder->filters[decoder->filter_n++] = filter_buf_id;
break;
case VAProcFilterSharpening:
Info("video/vaapi: sharpening supported");
Can you post your setup.conf (lines starting with vaapidevice)?
still no success with the commits from today here are the settings
vaapidevice.1080i.CutTopBottom = 0
vaapidevice.1080i.Deinterlace = 0
vaapidevice.1080i.Denoise = 0
vaapidevice.1080i.Scaling = 0
vaapidevice.1080i.Sharpen = 0
vaapidevice.1080i_fake.CutLeftRight = 0
vaapidevice.1080i_fake.CutTopBottom = 0
vaapidevice.1080i_fake.Deinterlace = 0
vaapidevice.1080i_fake.Denoise = 0
vaapidevice.1080i_fake.Scaling = 0
vaapidevice.1080i_fake.Sharpen = 0
vaapidevice.576i.CutLeftRight = 0
vaapidevice.576i.CutTopBottom = 0
vaapidevice.576i.Deinterlace = 3
vaapidevice.576i.Denoise = 0
vaapidevice.576i.Scaling = 2
vaapidevice.576i.Sharpen = 0
vaapidevice.60HzMode = 1
vaapidevice.720p.CutLeftRight = 0
vaapidevice.720p.CutTopBottom = 0
vaapidevice.720p.Deinterlace = 0
vaapidevice.720p.Denoise = 0
vaapidevice.720p.Scaling = 2
vaapidevice.720p.Sharpen = 0
vaapidevice.AudioBufferTime = 0
vaapidevice.AudioCompression = 0
vaapidevice.AudioDelay = 70
vaapidevice.AudioDownmix = 1
vaapidevice.AudioDrift = 0
vaapidevice.AudioMaxCompression = 0
vaapidevice.AudioMaxNormalize = 0
vaapidevice.AudioNormalize = 0
vaapidevice.AudioPassthrough = 0
vaapidevice.AudioSoftvol = 0
vaapidevice.AudioStereoDescent = 0
vaapidevice.AutoCrop.Delay = 3
vaapidevice.AutoCrop.Interval = 3
vaapidevice.AutoCrop.Tolerance = 1
vaapidevice.Background = 0
vaapidevice.Brightness = 0
vaapidevice.ClearOnSwitch = 1
vaapidevice.Contrast = 1
vaapidevice.DetachFromMainMenu = 0
vaapidevice.HideMainMenuEntry = 0
vaapidevice.Hue = 0
vaapidevice.MakePrimary = 0
vaapidevice.Osd.Height = 0
vaapidevice.Osd.Width = 0
vaapidevice.Saturation = 1
vaapidevice.SkinToneEnhancement = 0
vaapidevice.SoftStartSync = 0
vaapidevice.StudioLevels = 0
vaapidevice.Suspend.Close = 0
vaapidevice.Suspend.X11 = 0
vaapidevice.UHD.CutLeftRight = 0
vaapidevice.UHD.CutTopBottom = 0
vaapidevice.UHD.Deinterlace = 0
vaapidevice.UHD.Denoise = 0
vaapidevice.UHD.Scaling = 0
vaapidevice.UHD.Sharpen = 0
vaapidevice.Video4to3DisplayFormat = 1
vaapidevice.VideoOtherDisplayFormat = 1
the strange thing is the old softhddevice is working with the same drivers,ffmpeg etc...
This is strange. vaapidevice.UHD.Deinterlace = 0 which should map to VAProcDeinterlacingNone. Yet it seems that this check does not trigger: https://github.com/pesintta/vdr-plugin-vaapidevice/blob/master/video.c#L1818-L1819
The check is supposed to skip deinterlacing which should make the issue go away according to https://github.com/pesintta/vdr-plugin-vaapidevice/issues/79#issuecomment-372471321. The modification there only differs so that deinterlacer is not initialized and therefore not run.
I'm afraid you'll need to add some extra logging into the if conditions linked above and try to figure why deinterlacing is still enabled for you for UHD resolutions.
Could this be related to #96 ? Does the change from Rofafor help #100 ?
@9000h found one likely cause for this bug which I fixed and pushed to master.
sorry still not working but should there not a log entry like "none deinterlace supported"
Mar 13 21:07:29 acer533 vdr: [5519] VAAPI-ERROR: video: display buffer empty, duping frame (45/0) 5
Mar 13 21:07:30 acer533 vdr: [5519] VAAPI: video/vaapi: supports video processing
Mar 13 21:07:30 acer533 vdr: [5519] VAAPI: video/vaapi: noise reduction supported
Mar 13 21:07:30 acer533 vdr: [5519] VAAPI: video/vaapi: 0,00 - 1,00 ++ 0,03 = 0,50
Mar 13 21:07:30 acer533 vdr: [5519] VAAPI: Enabling denoise filter (pos = 0)
Mar 13 21:07:30 acer533 vdr: [5519] VAAPI: video/vaapi: deinterlacing supported
Mar 13 21:07:30 acer533 vdr: [5519] VAAPI: video/vaapi: bob deinterlace supported
Mar 13 21:07:30 acer533 vdr: [5519] VAAPI: video/vaapi: motion adaptive deinterlace supported
Mar 13 21:07:30 acer533 vdr: [5519] VAAPI: video/vaapi: motion compensated deinterlace supported
Mar 13 21:07:30 acer533 vdr: [5519] VAAPI: Enabling Deint (pos = 1)
Mar 13 21:07:30 acer533 vdr: [5519] VAAPI: video/vaapi: sharpening supported
Mar 13 21:07:30 acer533 vdr: [5519] VAAPI: video/vaapi: 0,00 - 1,00 ++ 0,03 = 0,50
Mar 13 21:07:30 acer533 vdr: [5519] VAAPI: Enabling sharpening filter (pos = 0)
Mar 13 21:07:30 acer533 vdr: [5519] VAAPI: video/vaapi: enabling color balance filters
Mar 13 21:07:30 acer533 vdr: [5519] VAAPI: video/vaapi: Supported color balance filter count: 4
Mar 13 21:07:30 acer533 vdr: [5519] VAAPI: Hue (-180,00 - 180,00 ++ 1,00 = 0,00) (pos = 2)
Mar 13 21:07:30 acer533 vdr: [5519] VAAPI: Saturation (0,00 - 10,00 ++ 0,10 = 1,00) (pos = 2)
Mar 13 21:07:30 acer533 vdr: [5519] VAAPI: Brightness (-100,00 - 100,00 ++ 1,00 = 0,00) (pos = 2)
Mar 13 21:07:30 acer533 vdr: [5519] VAAPI: Contrast (0,00 - 10,00 ++ 0,10 = 1,00) (pos = 2)
Mar 13 21:07:30 acer533 vdr: [5519] VAAPI: video/vaapi: skin tone enhancement supported
Mar 13 21:07:30 acer533 vdr: [5519] VAAPI: video/vaapi: 0,00 - 4,00 ++ 1,00 = 0,00
Mar 13 21:07:30 acer533 vdr: [5519] VAAPI: Enabling skin tone filter (pos = 3)
Mar 13 21:07:30 acer533 vdr: [5519] VAAPI: Allocating 1 forward reference surfaces for postprocessing
Mar 13 21:07:30 acer533 vdr: [5519] VAAPI: Allocating 0 backward reference surfaces for postprocessing
Mar 13 21:07:30 acer533 vdr: [5519] VAAPI: Changing to 0 forward reference surfaces for postprocessing
Mar 13 21:07:30 acer533 vdr: [5519] VAAPI-ERROR: video/vaapi: black surface displayed
the old softddevice shows
Mar 13 21:19:20 acer533 vdr: Enabling denoise filter (pos = 0)
Mar 13 21:19:20 acer533 vdr: Selected deinterlacer for resolution 0 is not supported by HW
Mar 13 21:19:20 acer533 vdr: Selected deinterlacer for resolution 1 is not supported by HW
Mar 13 21:19:20 acer533 vdr: Selected deinterlacer for resolution 2 is not supported by HW
Mar 13 21:19:20 acer533 vdr: Selected deinterlacer for resolution 3 is not supported by HW
Mar 13 21:19:20 acer533 vdr: Selected deinterlacer for resolution 4 is not supported by HW
Mar 13 21:19:20 acer533 vdr: video/vaapi: deinterlacing supported
Mar 13 21:19:20 acer533 vdr: video/vaapi: bob deinterlace supported
Mar 13 21:19:20 acer533 vdr: video/vaapi: motion adaptive deinterlace supported
Mar 13 21:19:20 acer533 vdr: video/vaapi: motion compensated deinterlace supported
Mar 13 21:19:20 acer533 vdr: Enabling Deint (pos = 1)
The intel-driver never reports support for "None" type of functionalities. none deinterlacer is "supported" by leaving it out from the filter chain (which is what the code attempts to do).
Here is a patch that skips all filters:
diff --git a/video.c b/video.c
index 40912b1..fcf9cf1 100644
--- a/video.c
+++ b/video.c
@@ -1798,6 +1798,15 @@ static VASurfaceID *VaapiApplyFilters(VaapiDecoder * decoder, int top_field)
memset(filters_to_run, VA_INVALID_ID, sizeof(filters_to_run));
for (unsigned int i = 0; i < decoder->filter_n; ++i) {
+ if (decoder->vpp_deinterlace_buf && decoder->filters[i] == *decoder->vpp_deinterlace_buf)
+ continue;
+ if (decoder->vpp_denoise_buf && decoder->filters[i] == *decoder->vpp_denoise_buf)
+ continue;
+ if (decoder->vpp_cbal_buf && decoder->filters[i] == *decoder->vpp_cbal_buf)
+ continue;
+ if (decoder->vpp_stde_buf && decoder->filters[i] == *decoder->vpp_stde_buf)
+ continue;
+
/* Skip deinterlacer if disabled or source is not interlaced */
if (decoder->filters[i] == *decoder->vpp_deinterlace_buf) {
if (!decoder->Interlaced)
If applying this helps then remove each of the checks one by one until you've found the filter (or combination of filters) that need to be skipped.
If the patch above doesn't help then https://github.com/pesintta/vdr-plugin-vaapidevice/issues/79#issuecomment-372471321 is somehow mistaken and the issue is somewhere else.
ok looks like we get get it now, if vpp_cbal is skipped it did work
for (unsigned int i = 0; i < decoder->filter_n; ++i) {
// if (decoder->vpp_deinterlace_buf && decoder->filters[i] == *decoder->vpp_deinterlace_buf)
// continue;
// if (decoder->vpp_denoise_buf && decoder->filters[i] == *decoder->vpp_denoise_buf)
// continue;
if (decoder->vpp_cbal_buf && decoder->filters[i] == *decoder->vpp_cbal_buf)
continue;
// if (decoder->vpp_stde_buf && decoder->filters[i] == *decoder->vpp_stde_buf)
// continue;
This makes actually very much sense. Colorbalance filter is currently always enabled and you cannot disable it from settings or from setup.conf.
If you set denoise or skintone filter to some value from menu (as in "enable" the filter) does the picture still work or does it get broken?
set skin tone to 1 and the issue is back, all others did not harm
why not using vaSetDisplayAttributes to set the attributes https://01org.github.io/libva_staging_doxygen/group__api__core.html#ga722bab0d81fffc7db59265432167da93
today I got some other messages on the console WARNING: invalid surface provided for second field WARNING: !!!incorrect slice_param. The first_mb_in_slice of next_slice is less than or equal to that in current slice vdr: gen8_mfd.c:558: gen8_mfd_avc_directmode_state: Assertion `obj_surface->bo && obj_surface->private_data' failed.
UHD channels have only still image and blinking green screen here (8bit hevc channels in 1080p are fine) issue did start here https://github.com/pesintta/vdr-plugin-vaapidevice/commit/192789d24fe853429c60f763b3835c2e05336a22 if remember right
could not get a better screenshot showing the green flashing