Hardware accelerated deinterlacing not working on Linux Debian/Ubuntu

Hi there,

I have latest 28-Dec-2023 channels DVR installed on an N100 based mini-pc running latest Proxmox.

I am running channels directly on the host (not in container or vm).

Hardware accelerated encoding is working - but deinterlacer seems to have hit critical Vaapi errors. However I have seen exactly (line for line) outputs of vaapi+deint on these forums - followed by 'success!' flag. eg Transcoding glitchy - #2 by iambenmitchell

So I am not sure what is wrong here.

I have tried ubuntu latest with HWE kernel - it gives the same output.

Any help, much appreciated :slight_smile:

Outputs from ssh:

uname -a

Linux Nuckey 6.5.11-7-pve #1 SMP PREEMPT_DYNAMIC PMX 6.5.11-7 (2023-12-05T09:44Z) x86_64 GNU/Linux

lspci -k | grep -EA3 'VGA|3D|Display'

00:02.0 VGA compatible controller: Intel Corporation Alder Lake-N [UHD Graphics]
DeviceName: Onboard - Video
Kernel driver in use: i915
Kernel modules: i915

Debug info via channels webserver

vaapi+deint
[AVHWDeviceContext @ 0x86d3340] libva: VA-API version 1.16.0
[AVHWDeviceContext @ 0x86d3340] libva: va_openDriver() returns 0
[AVHWDeviceContext @ 0x86d3340] Initialised VAAPI connection: version 1.16
[AVHWDeviceContext @ 0x86d3340] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 22.5.3 (68d925e).
[AVHWDeviceContext @ 0x86d3340] Driver not found in known nonstandard list, using standard behaviour.
[Parsed_color_0 @ 0x879e780] size:640x480 rate:25/1 duration:-1.000000 sar:1/1
Input #0, lavfi, from 'color=black:640x480':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: rawvideo, 1 reference frame (I420 / 0x30323449), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
[graph 0 input from stream 0:0 @ 0x87cc180] w:640 h:480 pixfmt:yuv420p tb:1/25 fr:25/1 sar:1/1
[auto_scale_0 @ 0x87cea80] w:iw h:ih flags:'' interl:0
[trim_in_0_0 @ 0x87ccc80] auto-inserting filter 'auto_scale_0' between the filter 'graph 0 input from stream 0:0' and the filter 'trim_in_0_0'
[auto_scale_0 @ 0x87cea80] w:640 h:480 fmt:yuv420p sar:1/1 -> w:640 h:480 fmt:nv12 sar:1/1 flags:0x0
[Parsed_deinterlace_vaapi_2 @ 0x87cb640] Picking 4 (MotionCompensated) as default deinterlacing mode.
Output #0, null, to '/dev/null':
Metadata:
encoder : Lavf59.16.100
Stream #0:0: Video: wrapped_avframe, 1 reference frame, vaapi(tv, progressive), 640x480 (0x0) [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn
Metadata:
encoder : Lavc59.18.100 wrapped_avframe
No more output streams to write to, finishing.
frame= 3 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.12 bitrate=N/A speed=3.68x
video:1kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Input file #0 (color=black:640x480):
Input stream #0:0 (video): 4 packets read (1843200 bytes); 4 frames decoded;
Total: 4 packets (1843200 bytes) demuxed
Output file #0 (/dev/null):
Output stream #0:0 (video): 3 frames encoded; 3 packets muxed (1344 bytes);
Total: 3 packets (1344 bytes) muxed
[VP]: CRITICAL - VpSetColorStandardExplictly:1870: unknown Color Standard for YUV format.
[VP]: CRITICAL - VpSetColorStandardExplictly:1870: unknown Color Standard for YUV format.
[VP]: CRITICAL - VpSetColorStandardExplictly:1870: unknown Color Standard for YUV format.
[VP]: CRITICAL - VpSetColorStandardExplictly:1870: unknown Color Standard for YUV format.
[VP]: CRITICAL - VpSetColorStandardExplictly:1870: unknown Color Standard for YUV format.
[VP]: CRITICAL - VpSetColorStandardExplictly:1870: unknown Color Standard for YUV format.
critical vaapi errors

vaapi@/dev/dri/renderD128
[AVHWDeviceContext @ 0x8a85280] libva: VA-API version 1.16.0
[AVHWDeviceContext @ 0x8a85280] libva: va_openDriver() returns 0
[AVHWDeviceContext @ 0x8a85280] Initialised VAAPI connection: version 1.16
[AVHWDeviceContext @ 0x8a85280] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 22.5.3 (68d925e).
[AVHWDeviceContext @ 0x8a85280] Driver not found in known nonstandard list, using standard behaviour.
[Parsed_color_0 @ 0x8b50780] size:640x480 rate:25/1 duration:-1.000000 sar:1/1
Input #0, lavfi, from 'color=black:640x480':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: rawvideo, 1 reference frame (I420 / 0x30323449), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
[graph 0 input from stream 0:0 @ 0x8b7cbc0] w:640 h:480 pixfmt:yuv420p tb:1/25 fr:25/1 sar:1/1
Output #0, null, to '/dev/null':
Metadata:
encoder : Lavf59.16.100
Stream #0:0: Video: wrapped_avframe, 1 reference frame, yuv420p(progressive), 640x480 (0x0) [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn
Metadata:
encoder : Lavc59.18.100 wrapped_avframe
No more output streams to write to, finishing.
frame= 3 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.12 bitrate=N/A speed= 51x
video:1kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Input file #0 (color=black:640x480):
Input stream #0:0 (video): 4 packets read (1843200 bytes); 4 frames decoded;
Total: 4 packets (1843200 bytes) demuxed
Output file #0 (/dev/null):
Output stream #0:0 (video): 3 frames encoded; 3 packets muxed (1344 bytes);
Total: 3 packets (1344 bytes) muxed
success!

Not sure if this helps, but for this part in your test:

[AVHWDeviceContext @ 0x8a85280] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 22.5.3 (68d925e).

I've got a 9700k with UHD 630 graphics, yours is UHD 730. On my system (Ubuntu as well), that same line shows:

[AVHWDeviceContext @ 0x93ef340] VAAPI driver: Intel i965 driver for Intel(R) Coffee Lake - 2.4.0.pre1 (2.4.0.pre1).

Strange that yours is showing Intel iHD instead of i965?

Here's the output on my machine from lspci. I used the same command but got a Subsytem entry and no Kernel modules.:

00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630 (Desktop 9 Series) (rev 02)
DeviceName: Onboard - Video
Subsystem: ASUSTeK Computer Inc. UHD Graphics 630 (Desktop 9 Series)
Kernel driver in use: i915

So maybe has something to do with the passthrough? This server runs on bare metal.

My other Ubuntu server that I run Plex on (not Channels though) is virtualized on Proxmox on an Intel Comet Lake CPU with embedded GPU. I found it very difficult to pass through the iGPU without issues, and instead am passing through an Intel ARC GPU to the VM (and only to the VM).

this was added recently and is triggering spuriously here. should work in next prerelease.

Thanks for your replies.

When the next update is out I will report back.

Today’s update (2024.01.08.1431) appears to have sorted this now. Thanks!

1 Like