playa_ffmpeg/util/mathematics/
rounding.rs1use crate::ffi::{AVRounding::*, *};
2
3#[derive(Eq, PartialEq, Clone, Copy, Debug)]
4pub enum Rounding {
5 Zero,
6 Infinity,
7 Down,
8 Up,
9 NearInfinity,
10 PassMinMax,
11}
12
13impl From<AVRounding> for Rounding {
14 #[inline(always)]
15 fn from(value: AVRounding) -> Self {
16 match value {
17 AV_ROUND_ZERO => Rounding::Zero,
18 AV_ROUND_INF => Rounding::Infinity,
19 AV_ROUND_DOWN => Rounding::Down,
20 AV_ROUND_UP => Rounding::Up,
21 AV_ROUND_NEAR_INF => Rounding::NearInfinity,
22 AV_ROUND_PASS_MINMAX => Rounding::PassMinMax,
23 }
24 }
25}
26
27impl From<Rounding> for AVRounding {
28 #[inline(always)]
29 fn from(value: Rounding) -> AVRounding {
30 match value {
31 Rounding::Zero => AV_ROUND_ZERO,
32 Rounding::Infinity => AV_ROUND_INF,
33 Rounding::Down => AV_ROUND_DOWN,
34 Rounding::Up => AV_ROUND_UP,
35 Rounding::NearInfinity => AV_ROUND_NEAR_INF,
36 Rounding::PassMinMax => AV_ROUND_PASS_MINMAX,
37 }
38 }
39}