Skip to main content

vulkan_headers/vk_video/
vulkan_video_codec_h264std_decode.rs

1use crate::prelude::*;
2use super::vulkan_video_codec_h264std::*;
3use super::vulkan_video_codecs_common::*;
4
5#[derive(Clone, Copy)]
6#[repr(C)]
7pub struct StdVideoDecodeH264PictureInfo {
8    pub flags: StdVideoDecodeH264PictureInfoFlags,
9    pub seq_parameter_set_id: u8,
10    pub pic_parameter_set_id: u8,
11    pub reserved1: u8,
12    pub reserved2: u8,
13    pub frame_num: u16,
14    pub idr_pic_id: u16,
15    pub PicOrderCnt: [i32; STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE as usize],
16}
17
18#[derive(Clone, Copy)]
19#[repr(C)]
20pub struct StdVideoDecodeH264PictureInfoFlags {
21    pub bitfields: u32,
22}
23
24#[derive(Clone, Copy)]
25#[repr(C)]
26pub struct StdVideoDecodeH264ReferenceInfo {
27    pub flags: StdVideoDecodeH264ReferenceInfoFlags,
28    pub FrameNum: u16,
29    pub reserved: u16,
30    pub PicOrderCnt: [i32; STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE as usize],
31}
32
33#[derive(Clone, Copy)]
34#[repr(C)]
35pub struct StdVideoDecodeH264ReferenceInfoFlags {
36    pub bitfields: u32,
37}
38
39pub const STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM: StdVideoDecodeH264FieldOrderCount = 1;
40pub const STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID: StdVideoDecodeH264FieldOrderCount = 0x7FFFFFFF;
41pub const STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE: u32 = 2;
42pub const STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP: StdVideoDecodeH264FieldOrderCount = 0;
43pub const VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0: u32 = VK_MAKE_VIDEO_STD_VERSION(1, 0, 0);
44pub const VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME: &CStr = c"VK_STD_vulkan_video_codec_h264_decode";
45pub const VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION: u32 = VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0;
46
47pub type StdVideoDecodeH264FieldOrderCount = i32;