1 // Copyright 2024 The ChromiumOS Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 use crate::codec::h265::parser::Level; 6 use crate::codec::h265::parser::Profile; 7 use crate::encoder::PredictionStructure; 8 use crate::Resolution; 9 10 pub struct H265; 11 12 #[derive(Clone)] 13 pub struct EncoderConfig { 14 pub resolution: Resolution, 15 pub profile: Profile, 16 pub level: Level, 17 pub pred_structure: PredictionStructure, 18 } 19 20 impl Default for EncoderConfig { default() -> Self21 fn default() -> Self { 22 // Artificially encoder configuration with intent to be widely supported. 23 Self { 24 resolution: Resolution { width: 320, height: 240 }, 25 profile: Profile::Main, 26 level: Level::L4, 27 pred_structure: PredictionStructure::LowDelay { limit: 2048 }, 28 } 29 } 30 } 31