use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum TranscodeHwAccel {
#[serde(rename = "nvenc")]
Nvenc,
#[serde(rename = "qsv")]
Qsv,
#[serde(rename = "vaapi")]
Vaapi,
#[serde(rename = "rkmpp")]
Rkmpp,
#[serde(rename = "disabled")]
Disabled,
}
impl std::fmt::Display for TranscodeHwAccel {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Nvenc => write!(f, "nvenc"),
Self::Qsv => write!(f, "qsv"),
Self::Vaapi => write!(f, "vaapi"),
Self::Rkmpp => write!(f, "rkmpp"),
Self::Disabled => write!(f, "disabled"),
}
}
}
impl Default for TranscodeHwAccel {
fn default() -> TranscodeHwAccel {
Self::Nvenc
}
}