//! Wrappers around H264 `VABuffer` types.
use crate::bindings;
+use crate::formats::H264PictureFlags;
/// Wrapper over the `VAPictureH264` FFI type.
pub struct PictureH264(bindings::VAPictureH264);
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(),
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,
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,