immich_api_rs 1.137.3

Immich API
Documentation
/*
 * Immich
 *
 * Immich API
 *
 * The version of the OpenAPI document: 1.137.3
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SystemConfigFFmpegDto {
    #[serde(rename = "accel")]
    pub accel: models::TranscodeHwAccel,
    #[serde(rename = "accelDecode")]
    pub accel_decode: bool,
    #[serde(rename = "acceptedAudioCodecs")]
    pub accepted_audio_codecs: Vec<models::AudioCodec>,
    #[serde(rename = "acceptedContainers")]
    pub accepted_containers: Vec<models::VideoContainer>,
    #[serde(rename = "acceptedVideoCodecs")]
    pub accepted_video_codecs: Vec<models::VideoCodec>,
    #[serde(rename = "bframes")]
    pub bframes: i32,
    #[serde(rename = "cqMode")]
    pub cq_mode: models::CqMode,
    #[serde(rename = "crf")]
    pub crf: u32,
    #[serde(rename = "gopSize")]
    pub gop_size: u32,
    #[serde(rename = "maxBitrate")]
    pub max_bitrate: String,
    #[serde(rename = "preferredHwDevice")]
    pub preferred_hw_device: String,
    #[serde(rename = "preset")]
    pub preset: String,
    #[serde(rename = "refs")]
    pub refs: u32,
    #[serde(rename = "targetAudioCodec")]
    pub target_audio_codec: models::AudioCodec,
    #[serde(rename = "targetResolution")]
    pub target_resolution: String,
    #[serde(rename = "targetVideoCodec")]
    pub target_video_codec: models::VideoCodec,
    #[serde(rename = "temporalAQ")]
    pub temporal_aq: bool,
    #[serde(rename = "threads")]
    pub threads: u32,
    #[serde(rename = "tonemap")]
    pub tonemap: models::ToneMapping,
    #[serde(rename = "transcode")]
    pub transcode: models::TranscodePolicy,
    #[serde(rename = "twoPass")]
    pub two_pass: bool,
}

impl SystemConfigFFmpegDto {
    pub fn new(accel: models::TranscodeHwAccel, accel_decode: bool, accepted_audio_codecs: Vec<models::AudioCodec>, accepted_containers: Vec<models::VideoContainer>, accepted_video_codecs: Vec<models::VideoCodec>, bframes: i32, cq_mode: models::CqMode, crf: u32, gop_size: u32, max_bitrate: String, preferred_hw_device: String, preset: String, refs: u32, target_audio_codec: models::AudioCodec, target_resolution: String, target_video_codec: models::VideoCodec, temporal_aq: bool, threads: u32, tonemap: models::ToneMapping, transcode: models::TranscodePolicy, two_pass: bool) -> SystemConfigFFmpegDto {
        SystemConfigFFmpegDto {
            accel,
            accel_decode,
            accepted_audio_codecs,
            accepted_containers,
            accepted_video_codecs,
            bframes,
            cq_mode,
            crf,
            gop_size,
            max_bitrate,
            preferred_hw_device,
            preset,
            refs,
            target_audio_codec,
            target_resolution,
            target_video_codec,
            temporal_aq,
            threads,
            tonemap,
            transcode,
            two_pass,
        }
    }
}