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
|
||||
- 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
|
||||
- Improve VAAPI encoder capability detection on newer hardware
|
||||
|
||||
### Changed
|
||||
- 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 Encode = "VAEntrypointEncSlice";
|
||||
public const string EncodeLowPower = "VAEntrypointEncSliceLP";
|
||||
}
|
||||
|
||||
@@ -97,19 +97,27 @@ public class VaapiHardwareCapabilities : IHardwareCapabilities
|
||||
|
||||
VideoFormat.H264 =>
|
||||
_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 =>
|
||||
_profileEntrypoints.Contains(
|
||||
new VaapiProfileEntrypoint(VaapiProfile.HevcMain10, VaapiEntrypoint.Encode)),
|
||||
new VaapiProfileEntrypoint(VaapiProfile.HevcMain10, VaapiEntrypoint.Encode)) ||
|
||||
_profileEntrypoints.Contains(
|
||||
new VaapiProfileEntrypoint(VaapiProfile.HevcMain10, VaapiEntrypoint.EncodeLowPower)),
|
||||
|
||||
VideoFormat.Hevc =>
|
||||
_profileEntrypoints.Contains(
|
||||
new VaapiProfileEntrypoint(VaapiProfile.HevcMain, VaapiEntrypoint.Encode)),
|
||||
new VaapiProfileEntrypoint(VaapiProfile.HevcMain, VaapiEntrypoint.Encode)) ||
|
||||
_profileEntrypoints.Contains(
|
||||
new VaapiProfileEntrypoint(VaapiProfile.HevcMain, VaapiEntrypoint.EncodeLowPower)),
|
||||
|
||||
VideoFormat.Mpeg2Video =>
|
||||
_profileEntrypoints.Contains(
|
||||
new VaapiProfileEntrypoint(VaapiProfile.Mpeg2Main, VaapiEntrypoint.Encode)),
|
||||
new VaapiProfileEntrypoint(VaapiProfile.Mpeg2Main, VaapiEntrypoint.Encode)) ||
|
||||
_profileEntrypoints.Contains(
|
||||
new VaapiProfileEntrypoint(VaapiProfile.Mpeg2Main, VaapiEntrypoint.EncodeLowPower)),
|
||||
|
||||
_ => false
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user