mirror of
https://gitlab.com/gabmus/envision.git
synced 2025-08-03 14:49:04 +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,
|
X264,
|
||||||
Nvenc,
|
Nvenc,
|
||||||
Vaapi,
|
Vaapi,
|
||||||
|
Vulkan,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Display for Encoder {
|
impl Display for Encoder {
|
||||||
|
@ -24,17 +25,18 @@ impl Display for Encoder {
|
||||||
Self::X264 => "x264",
|
Self::X264 => "x264",
|
||||||
Self::Nvenc => "NVEnc",
|
Self::Nvenc => "NVEnc",
|
||||||
Self::Vaapi => "VAAPI",
|
Self::Vaapi => "VAAPI",
|
||||||
|
Self::Vulkan => "Vulkan",
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Encoder {
|
impl Encoder {
|
||||||
pub fn iter() -> Iter<'static, Self> {
|
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> {
|
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::X264 => 0,
|
||||||
Encoder::Nvenc => 1,
|
Encoder::Nvenc => 1,
|
||||||
Encoder::Vaapi => 2,
|
Encoder::Vaapi => 2,
|
||||||
|
Encoder::Vulkan => 3,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,7 +57,7 @@ impl AsyncFactoryComponent for WivrnEncoderModel {
|
||||||
},
|
},
|
||||||
add: encoder_combo = &combo_row(
|
add: encoder_combo = &combo_row(
|
||||||
"Encoder",
|
"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(),
|
&self.encoder_conf.encoder.to_string(),
|
||||||
Encoder::iter().map(Encoder::to_string).collect::<Vec<String>>(),
|
Encoder::iter().map(Encoder::to_string).collect::<Vec<String>>(),
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue