Skip to content

Commit bc36986

Browse files
committed
Revert "chore(mmserver): increase required NVIDIA driver version"
This reverts commit 02a4823. Multiple users reported issues with this, which would result in ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR.
1 parent c750905 commit bc36986

File tree

3 files changed

+17
-6
lines changed

3 files changed

+17
-6
lines changed

mm-server/src/encoder.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1103,8 +1103,13 @@ fn default_hdr10_profile(op: vk::VideoCodecOperationFlagsKHR) -> vk::VideoProfil
11031103
.luma_bit_depth(vk::VideoComponentBitDepthFlagsKHR::TYPE_10)
11041104
}
11051105

1106-
fn default_encode_usage() -> vk::VideoEncodeUsageInfoKHR<'static> {
1107-
let tuning_mode = vk::VideoEncodeTuningModeKHR::ULTRA_LOW_LATENCY;
1106+
fn default_encode_usage(driver_version: DriverVersion) -> vk::VideoEncodeUsageInfoKHR<'static> {
1107+
// Nvidia chokes on "ULTRA LOW" for some reason.
1108+
let tuning_mode = if matches!(driver_version, DriverVersion::NvidiaProprietary { .. }) {
1109+
vk::VideoEncodeTuningModeKHR::LOW_LATENCY
1110+
} else {
1111+
vk::VideoEncodeTuningModeKHR::ULTRA_LOW_LATENCY
1112+
};
11081113

11091114
vk::VideoEncodeUsageInfoKHR::default()
11101115
.video_usage_hints(vk::VideoEncodeUsageFlagsKHR::STREAMING)

mm-server/src/encoder/h264.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,11 @@ impl H264Encoder {
7979
let h264_profile_info =
8080
vk::VideoEncodeH264ProfileInfoEXT::default().std_profile_idc(profile_idc);
8181

82-
let mut profile =
83-
H264EncodeProfile::new(profile, super::default_encode_usage(), h264_profile_info);
82+
let mut profile = H264EncodeProfile::new(
83+
profile,
84+
super::default_encode_usage(vk.device_info.driver_version.clone()),
85+
h264_profile_info,
86+
);
8487

8588
let mut caps = H264EncodeCapabilities::default();
8689

mm-server/src/encoder/h265.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,11 @@ impl H265Encoder {
7676
let h265_profile_info =
7777
vk::VideoEncodeH265ProfileInfoEXT::default().std_profile_idc(profile_idc);
7878

79-
let mut profile =
80-
H265EncodeProfile::new(profile, super::default_encode_usage(), h265_profile_info);
79+
let mut profile = H265EncodeProfile::new(
80+
profile,
81+
super::default_encode_usage(vk.device_info.driver_version.clone()),
82+
h265_profile_info,
83+
);
8184

8285
let mut caps = H265EncodeCapabilities::default();
8386

0 commit comments

Comments
 (0)