nihed-cros-libva: introduce more enums instead of constants
[nihav-player.git] / nihed-cros-libva / src / buffer / h264.rs
index af6049840bd6e14dd865876fc9f8afaeb3f463b4..822f2ed4179d11e462bb390393ad92a1d53fa153 100644 (file)
@@ -5,6 +5,7 @@
 //! Wrappers around H264 `VABuffer` types.
 
 use crate::bindings;
+use crate::formats::H264PictureFlags;
 
 /// Wrapper over the `VAPictureH264` FFI type.
 pub struct PictureH264(bindings::VAPictureH264);
@@ -14,14 +15,14 @@ impl PictureH264 {
     pub fn new(
         picture_id: bindings::VASurfaceID,
         frame_idx: u32,
-        flags: u32,
+        flags: H264PictureFlags,
         top_field_order_cnt: i32,
         bottom_field_order_cnt: i32,
     ) -> Self {
         Self(bindings::VAPictureH264 {
             picture_id,
             frame_idx,
-            flags,
+            flags: flags.into(),
             TopFieldOrderCnt: top_field_order_cnt,
             BottomFieldOrderCnt: bottom_field_order_cnt,
             va_reserved: Default::default(),
@@ -202,7 +203,7 @@ impl SliceParameterBufferH264 {
     pub fn new(
         slice_data_size: u32,
         slice_data_offset: u32,
-        slice_data_flag: u32,
+        slice_data_flag: crate::formats::VASliceDataFlag,
         slice_data_bit_offset: u16,
         first_mb_in_slice: u16,
         slice_type: u8,
@@ -237,7 +238,7 @@ impl SliceParameterBufferH264 {
         Self(Box::new(bindings::VASliceParameterBufferH264 {
             slice_data_size,
             slice_data_offset,
-            slice_data_flag,
+            slice_data_flag: slice_data_flag as u32,
             slice_data_bit_offset,
             first_mb_in_slice,
             slice_type,