diff --git a/src/api.rs b/src/api.rs index 4ab09cd724221a030b620dda00a8651a374c05be..5be2514d79a84f3409ba1301a424da754791364d 100644 --- a/src/api.rs +++ b/src/api.rs @@ -17,6 +17,7 @@ use std::sync::Arc; // TODO: use the num crate? #[derive(Clone, Copy, Debug)] +#[repr(C)] pub struct Ratio { pub num: usize, pub den: usize diff --git a/src/encoder.rs b/src/encoder.rs index 26f830592ff0763b6e262b6e0db379d404129a5d..833be3c7cbf7675ab10e3f6b828c10321146d09e 100644 --- a/src/encoder.rs +++ b/src/encoder.rs @@ -95,6 +95,7 @@ const PRIMARY_REF_BITS: u32 = 3; arg_enum!{ #[derive(Copy, Clone, Debug, PartialEq)] + #[repr(C)] pub enum Tune { Psnr, Psychovisual @@ -108,6 +109,7 @@ impl Default for Tune { } #[derive(Copy, Clone, Debug, PartialEq)] +#[repr(C)] pub enum ChromaSampling { Cs420, Cs422, @@ -446,6 +448,7 @@ impl fmt::Display for FrameInvariants{ #[allow(dead_code,non_camel_case_types)] #[derive(Debug,PartialEq,Clone,Copy)] +#[repr(C)] pub enum FrameType { KEY, INTER,