vulkan_headers/vk_video/
vulkan_video_codec_av1std_encode.rs1use crate::prelude::*;
2use super::vulkan_video_codec_av1std::*;
3use super::vulkan_video_codecs_common::*;
4
5#[derive(Clone, Copy)]
6#[repr(C)]
7pub struct StdVideoEncodeAV1DecoderModelInfo {
8 pub buffer_delay_length_minus_1: u8,
9 pub buffer_removal_time_length_minus_1: u8,
10 pub frame_presentation_time_length_minus_1: u8,
11 pub reserved1: u8,
12 pub num_units_in_decoding_tick: u32,
13}
14
15#[derive(Clone, Copy)]
16#[repr(C)]
17pub struct StdVideoEncodeAV1ExtensionHeader {
18 pub temporal_id: u8,
19 pub spatial_id: u8,
20}
21
22#[derive(Clone, Copy)]
23#[repr(C)]
24pub struct StdVideoEncodeAV1OperatingPointInfo {
25 pub flags: StdVideoEncodeAV1OperatingPointInfoFlags,
26 pub operating_point_idc: u16,
27 pub seq_level_idx: u8,
28 pub seq_tier: u8,
29 pub decoder_buffer_delay: u32,
30 pub encoder_buffer_delay: u32,
31 pub initial_display_delay_minus_1: u8,
32}
33
34#[derive(Clone, Copy)]
35#[repr(C)]
36pub struct StdVideoEncodeAV1OperatingPointInfoFlags {
37 pub bitfields: u32,
38}
39
40#[derive(Clone, Copy)]
41#[repr(C)]
42pub struct StdVideoEncodeAV1PictureInfo {
43 pub flags: StdVideoEncodeAV1PictureInfoFlags,
44 pub frame_type: StdVideoAV1FrameType,
45 pub frame_presentation_time: u32,
46 pub current_frame_id: u32,
47 pub order_hint: u8,
48 pub primary_ref_frame: u8,
49 pub refresh_frame_flags: u8,
50 pub coded_denom: u8,
51 pub render_width_minus_1: u16,
52 pub render_height_minus_1: u16,
53 pub interpolation_filter: StdVideoAV1InterpolationFilter,
54 pub TxMode: StdVideoAV1TxMode,
55 pub delta_q_res: u8,
56 pub delta_lf_res: u8,
57 pub ref_order_hint: [u8; STD_VIDEO_AV1_NUM_REF_FRAMES as usize],
58 pub ref_frame_idx: [i8; STD_VIDEO_AV1_REFS_PER_FRAME as usize],
59 pub reserved1: [u8; 3 as usize],
60 pub delta_frame_id_minus_1: [u32; STD_VIDEO_AV1_REFS_PER_FRAME as usize],
61 pub pTileInfo: *const StdVideoAV1TileInfo,
62 pub pQuantization: *const StdVideoAV1Quantization,
63 pub pSegmentation: *const StdVideoAV1Segmentation,
64 pub pLoopFilter: *const StdVideoAV1LoopFilter,
65 pub pCDEF: *const StdVideoAV1CDEF,
66 pub pLoopRestoration: *const StdVideoAV1LoopRestoration,
67 pub pGlobalMotion: *const StdVideoAV1GlobalMotion,
68 pub pExtensionHeader: *const StdVideoEncodeAV1ExtensionHeader,
69 pub pBufferRemovalTimes: *const u32,
70}
71
72#[derive(Clone, Copy)]
73#[repr(C)]
74pub struct StdVideoEncodeAV1PictureInfoFlags {
75 pub bitfields: u32,
76}
77
78#[derive(Clone, Copy)]
79#[repr(C)]
80pub struct StdVideoEncodeAV1ReferenceInfo {
81 pub flags: StdVideoEncodeAV1ReferenceInfoFlags,
82 pub RefFrameId: u32,
83 pub frame_type: StdVideoAV1FrameType,
84 pub OrderHint: u8,
85 pub reserved1: [u8; 3 as usize],
86 pub pExtensionHeader: *const StdVideoEncodeAV1ExtensionHeader,
87}
88
89#[derive(Clone, Copy)]
90#[repr(C)]
91pub struct StdVideoEncodeAV1ReferenceInfoFlags {
92 pub bitfields: u32,
93}
94
95pub const VK_STD_VULKAN_VIDEO_CODEC_AV1_ENCODE_API_VERSION_1_0_0: u32 = VK_MAKE_VIDEO_STD_VERSION(1, 0, 0);
96pub const VK_STD_VULKAN_VIDEO_CODEC_AV1_ENCODE_EXTENSION_NAME: &CStr = c"VK_STD_vulkan_video_codec_av1_encode";
97pub const VK_STD_VULKAN_VIDEO_CODEC_AV1_ENCODE_SPEC_VERSION: u32 = VK_STD_VULKAN_VIDEO_CODEC_AV1_ENCODE_API_VERSION_1_0_0;