[Bug]: Hardware video acceleration not working properly
- Dominant language
- C
- Stars
- 1.2k
- Forks
- 383
- Avg merge
- 8d 18h
- Merged PRs (30d)
- 4
Description
### Which component impacted?
Decode, Not sure
### Is it regression? Good in old configuration?
No, this issue exist a long time
### What happened?
Using HEVC hardware transcoding with jellyfin results in a bad picture.
The CPU is a Intel Celeron J4105.
Using software transcoding, direct play works fine.
Also VP8, VP9 and x264 hardware transcoding results in good picture with a little higher than expected CPU utilization.
Examples of the bad quality:

https://user-images.githubusercontent.com/42654642/199727380-ec9bc92e-0c1d-4f0f-8c98-f780949258a0.mp4
The package maintainer thinks the drivers are problematic, which are also a guess from the jellyfin dev.
So here I am, hoping it is a easy and quick fix! :>
[Link to the issue with the package maaintainer](https://github.com/alexbelgium/hassio-addons/issues/537)
[Link to the issue with the jellyfin github](https://github.com/jellyfin/jellyfin/issues/8683)
### What's the usage scenario when you are seeing the problem?
Transcode for media delivery
### What impacted?
_No response_
### Debug Information
1. docker exec fb34bd1df5ee /usr/lib/jellyfin-ffmpeg/vainfo
libva info: VA-API version 1.16.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_16
libva info: va_openDriver() returns 0
Trying display: drm
vainfo: VA-API version: 1.16 (libva 2.16.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 22.5.4 (e461c05)
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileNone : VAEntrypointStats
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointFEI
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointFEI
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointFEI
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileVP8Version0_3 : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointFEI
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSlice
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
2. docker exec fb34bd1df5ee ls /dev/dri
by-path
card0
renderD128
3 provided in step 1
4 does not work in the add-on, or I'm doing something wrong
### Do you want to contribute a patch to fix the issue?
No.
Contributor guide
Assessment
This issue has not been assessed yet.