diff --git a/lib/build.rs b/lib/build.rs index d1c51e0..0aebab0 100644 --- a/lib/build.rs +++ b/lib/build.rs @@ -100,6 +100,12 @@ fn main() { major > desired_major || (major == desired_major && minor >= desired_minor) }; + if va_check_version(1, 23) { + println!("cargo::rustc-cfg=libva_1_23_or_higher"); + } + if va_check_version(1, 22) { + println!("cargo::rustc-cfg=libva_1_22_or_higher"); + } if va_check_version(1, 21) { println!("cargo::rustc-cfg=libva_1_21_or_higher"); } diff --git a/lib/src/buffer/vp9.rs b/lib/src/buffer/vp9.rs index 2f39868..3117ec0 100644 --- a/lib/src/buffer/vp9.rs +++ b/lib/src/buffer/vp9.rs @@ -399,9 +399,12 @@ impl EncPictureParameterBufferVP9 { skip_frame_flag: u8, number_skip_frames: u8, skip_frames_size: u32, + seg_id_block_size: u8, ) -> Self { let ref_flags = ref_flags.0; let pic_flags = pic_flags.0; + #[cfg(not(libva_1_23_or_higher))] + let _ = seg_id_block_size; Self(Box::new(bindings::VAEncPictureParameterBufferVP9 { frame_width_src, @@ -434,6 +437,10 @@ impl EncPictureParameterBufferVP9 { skip_frame_flag, number_skip_frames, skip_frames_size, + #[cfg(libva_1_23_or_higher)] + seg_id_block_size, + #[cfg(libva_1_23_or_higher)] + va_reserved8: Default::default(), va_reserved: Default::default(), })) }