improve vaapi capability detection (#1171)
This commit is contained in:
@@ -7,6 +7,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|||||||
### Fixed
|
### Fixed
|
||||||
- Align default docker image (no acceleration) with new images from [ErsatzTV-ffmpeg](https://github.com/jasongdove/ErsatzTV-ffmpeg)
|
- Align default docker image (no acceleration) with new images from [ErsatzTV-ffmpeg](https://github.com/jasongdove/ErsatzTV-ffmpeg)
|
||||||
- Fix some transcoding pipelines that use software decoders
|
- Fix some transcoding pipelines that use software decoders
|
||||||
|
- Improve VAAPI encoder capability detection on newer hardware
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
- Plex, Jellyfin and Emby libraries now retrieve all metadata and statistics from the media server
|
- Plex, Jellyfin and Emby libraries now retrieve all metadata and statistics from the media server
|
||||||
|
|||||||
@@ -4,4 +4,5 @@ public class VaapiEntrypoint
|
|||||||
{
|
{
|
||||||
public const string Decode = "VAEntrypointVLD";
|
public const string Decode = "VAEntrypointVLD";
|
||||||
public const string Encode = "VAEntrypointEncSlice";
|
public const string Encode = "VAEntrypointEncSlice";
|
||||||
|
public const string EncodeLowPower = "VAEntrypointEncSliceLP";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -97,19 +97,27 @@ public class VaapiHardwareCapabilities : IHardwareCapabilities
|
|||||||
|
|
||||||
VideoFormat.H264 =>
|
VideoFormat.H264 =>
|
||||||
_profileEntrypoints.Contains(
|
_profileEntrypoints.Contains(
|
||||||
new VaapiProfileEntrypoint(VaapiProfile.H264Main, VaapiEntrypoint.Encode)),
|
new VaapiProfileEntrypoint(VaapiProfile.H264Main, VaapiEntrypoint.Encode)) ||
|
||||||
|
_profileEntrypoints.Contains(
|
||||||
|
new VaapiProfileEntrypoint(VaapiProfile.H264Main, VaapiEntrypoint.EncodeLowPower)),
|
||||||
|
|
||||||
VideoFormat.Hevc when bitDepth == 10 =>
|
VideoFormat.Hevc when bitDepth == 10 =>
|
||||||
_profileEntrypoints.Contains(
|
_profileEntrypoints.Contains(
|
||||||
new VaapiProfileEntrypoint(VaapiProfile.HevcMain10, VaapiEntrypoint.Encode)),
|
new VaapiProfileEntrypoint(VaapiProfile.HevcMain10, VaapiEntrypoint.Encode)) ||
|
||||||
|
_profileEntrypoints.Contains(
|
||||||
|
new VaapiProfileEntrypoint(VaapiProfile.HevcMain10, VaapiEntrypoint.EncodeLowPower)),
|
||||||
|
|
||||||
VideoFormat.Hevc =>
|
VideoFormat.Hevc =>
|
||||||
_profileEntrypoints.Contains(
|
_profileEntrypoints.Contains(
|
||||||
new VaapiProfileEntrypoint(VaapiProfile.HevcMain, VaapiEntrypoint.Encode)),
|
new VaapiProfileEntrypoint(VaapiProfile.HevcMain, VaapiEntrypoint.Encode)) ||
|
||||||
|
_profileEntrypoints.Contains(
|
||||||
|
new VaapiProfileEntrypoint(VaapiProfile.HevcMain, VaapiEntrypoint.EncodeLowPower)),
|
||||||
|
|
||||||
VideoFormat.Mpeg2Video =>
|
VideoFormat.Mpeg2Video =>
|
||||||
_profileEntrypoints.Contains(
|
_profileEntrypoints.Contains(
|
||||||
new VaapiProfileEntrypoint(VaapiProfile.Mpeg2Main, VaapiEntrypoint.Encode)),
|
new VaapiProfileEntrypoint(VaapiProfile.Mpeg2Main, VaapiEntrypoint.Encode)) ||
|
||||||
|
_profileEntrypoints.Contains(
|
||||||
|
new VaapiProfileEntrypoint(VaapiProfile.Mpeg2Main, VaapiEntrypoint.EncodeLowPower)),
|
||||||
|
|
||||||
_ => false
|
_ => false
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user