mirror of
https://gitlab.com/gabmus/envision.git
synced 2025-04-20 11:35:48 +00:00
feat: add wivrn vulkan video encoder
This commit is contained in:
parent
91f61e5c4a
commit
b88fc879d2
2 changed files with 6 additions and 3 deletions
|
@ -16,6 +16,7 @@ pub enum Encoder {
|
|||
X264,
|
||||
Nvenc,
|
||||
Vaapi,
|
||||
Vulkan,
|
||||
}
|
||||
|
||||
impl Display for Encoder {
|
||||
|
@ -24,17 +25,18 @@ impl Display for Encoder {
|
|||
Self::X264 => "x264",
|
||||
Self::Nvenc => "NVEnc",
|
||||
Self::Vaapi => "VAAPI",
|
||||
Self::Vulkan => "Vulkan",
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
impl Encoder {
|
||||
pub fn iter() -> Iter<'static, Self> {
|
||||
[Self::X264, Self::Nvenc, Self::Vaapi].iter()
|
||||
[Self::X264, Self::Nvenc, Self::Vaapi, Self::Vulkan].iter()
|
||||
}
|
||||
|
||||
pub fn as_vec() -> Vec<Self> {
|
||||
vec![Self::X264, Self::Nvenc, Self::Vaapi]
|
||||
vec![Self::X264, Self::Nvenc, Self::Vaapi, Self::Vulkan]
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -44,6 +46,7 @@ impl From<&Encoder> for u32 {
|
|||
Encoder::X264 => 0,
|
||||
Encoder::Nvenc => 1,
|
||||
Encoder::Vaapi => 2,
|
||||
Encoder::Vulkan => 3,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -57,7 +57,7 @@ impl AsyncFactoryComponent for WivrnEncoderModel {
|
|||
},
|
||||
add: encoder_combo = &combo_row(
|
||||
"Encoder",
|
||||
Some("x264: CPU based h264 encoding\nNVEnc: Nvidia GPU encoding\nVAAPI: Intel or AMD GPU encoding"),
|
||||
Some("x264: CPU based h264 encoding\nNVEnc: Nvidia GPU encoding\nVAAPI: Intel or AMD GPU encoding\nVulkan: Vulkan Video encoding (h264 only)"),
|
||||
&self.encoder_conf.encoder.to_string(),
|
||||
Encoder::iter().map(Encoder::to_string).collect::<Vec<String>>(),
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue