Skip to main content

vulkan_headers/vk_video/
vulkan_video_codec_vp9std.rs

1use crate::prelude::*;
2use super::vulkan_video_codecs_common::*;
3
4#[derive(Clone, Copy)]
5#[repr(C)]
6pub struct StdVideoVP9ColorConfig {
7    pub flags: StdVideoVP9ColorConfigFlags,
8    pub BitDepth: u8,
9    pub subsampling_x: u8,
10    pub subsampling_y: u8,
11    pub reserved1: u8,
12    pub color_space: StdVideoVP9ColorSpace,
13}
14
15#[derive(Clone, Copy)]
16#[repr(C)]
17pub struct StdVideoVP9ColorConfigFlags {
18    pub bitfields: u32,
19}
20
21#[derive(Clone, Copy)]
22#[repr(C)]
23pub struct StdVideoVP9LoopFilter {
24    pub flags: StdVideoVP9LoopFilterFlags,
25    pub loop_filter_level: u8,
26    pub loop_filter_sharpness: u8,
27    pub update_ref_delta: u8,
28    pub loop_filter_ref_deltas: [i8; STD_VIDEO_VP9_MAX_REF_FRAMES as usize],
29    pub update_mode_delta: u8,
30    pub loop_filter_mode_deltas: [i8; STD_VIDEO_VP9_LOOP_FILTER_ADJUSTMENTS as usize],
31}
32
33#[derive(Clone, Copy)]
34#[repr(C)]
35pub struct StdVideoVP9LoopFilterFlags {
36    pub bitfields: u32,
37}
38
39#[derive(Clone, Copy)]
40#[repr(C)]
41pub struct StdVideoVP9Segmentation {
42    pub flags: StdVideoVP9SegmentationFlags,
43    pub segmentation_tree_probs: [u8; STD_VIDEO_VP9_MAX_SEGMENTATION_TREE_PROBS as usize],
44    pub segmentation_pred_prob: [u8; STD_VIDEO_VP9_MAX_SEGMENTATION_PRED_PROB as usize],
45    pub FeatureEnabled: [u8; STD_VIDEO_VP9_MAX_SEGMENTS as usize],
46    pub FeatureData: [[i16; STD_VIDEO_VP9_SEG_LVL_MAX as usize]; STD_VIDEO_VP9_MAX_SEGMENTS as usize],
47}
48
49#[derive(Clone, Copy)]
50#[repr(C)]
51pub struct StdVideoVP9SegmentationFlags {
52    pub bitfields: u32,
53}
54
55pub const STD_VIDEO_VP9_COLOR_SPACE_BT_2020: StdVideoVP9ColorSpace = 5;
56pub const STD_VIDEO_VP9_COLOR_SPACE_BT_601: StdVideoVP9ColorSpace = 1;
57pub const STD_VIDEO_VP9_COLOR_SPACE_BT_709: StdVideoVP9ColorSpace = 2;
58pub const STD_VIDEO_VP9_COLOR_SPACE_INVALID: StdVideoVP9ColorSpace = 0x7FFFFFFF;
59pub const STD_VIDEO_VP9_COLOR_SPACE_RESERVED: StdVideoVP9ColorSpace = 6;
60pub const STD_VIDEO_VP9_COLOR_SPACE_RGB: StdVideoVP9ColorSpace = 7;
61pub const STD_VIDEO_VP9_COLOR_SPACE_SMPTE_170: StdVideoVP9ColorSpace = 3;
62pub const STD_VIDEO_VP9_COLOR_SPACE_SMPTE_240: StdVideoVP9ColorSpace = 4;
63pub const STD_VIDEO_VP9_COLOR_SPACE_UNKNOWN: StdVideoVP9ColorSpace = 0;
64pub const STD_VIDEO_VP9_FRAME_TYPE_INVALID: StdVideoVP9FrameType = 0x7FFFFFFF;
65pub const STD_VIDEO_VP9_FRAME_TYPE_KEY: StdVideoVP9FrameType = 0;
66pub const STD_VIDEO_VP9_FRAME_TYPE_NON_KEY: StdVideoVP9FrameType = 1;
67pub const STD_VIDEO_VP9_INTERPOLATION_FILTER_BILINEAR: StdVideoVP9InterpolationFilter = 3;
68pub const STD_VIDEO_VP9_INTERPOLATION_FILTER_EIGHTTAP: StdVideoVP9InterpolationFilter = 0;
69pub const STD_VIDEO_VP9_INTERPOLATION_FILTER_EIGHTTAP_SHARP: StdVideoVP9InterpolationFilter = 2;
70pub const STD_VIDEO_VP9_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH: StdVideoVP9InterpolationFilter = 1;
71pub const STD_VIDEO_VP9_INTERPOLATION_FILTER_INVALID: StdVideoVP9InterpolationFilter = 0x7FFFFFFF;
72pub const STD_VIDEO_VP9_INTERPOLATION_FILTER_SWITCHABLE: StdVideoVP9InterpolationFilter = 4;
73pub const STD_VIDEO_VP9_LEVEL_1_0: StdVideoVP9Level = 0;
74pub const STD_VIDEO_VP9_LEVEL_1_1: StdVideoVP9Level = 1;
75pub const STD_VIDEO_VP9_LEVEL_2_0: StdVideoVP9Level = 2;
76pub const STD_VIDEO_VP9_LEVEL_2_1: StdVideoVP9Level = 3;
77pub const STD_VIDEO_VP9_LEVEL_3_0: StdVideoVP9Level = 4;
78pub const STD_VIDEO_VP9_LEVEL_3_1: StdVideoVP9Level = 5;
79pub const STD_VIDEO_VP9_LEVEL_4_0: StdVideoVP9Level = 6;
80pub const STD_VIDEO_VP9_LEVEL_4_1: StdVideoVP9Level = 7;
81pub const STD_VIDEO_VP9_LEVEL_5_0: StdVideoVP9Level = 8;
82pub const STD_VIDEO_VP9_LEVEL_5_1: StdVideoVP9Level = 9;
83pub const STD_VIDEO_VP9_LEVEL_5_2: StdVideoVP9Level = 10;
84pub const STD_VIDEO_VP9_LEVEL_6_0: StdVideoVP9Level = 11;
85pub const STD_VIDEO_VP9_LEVEL_6_1: StdVideoVP9Level = 12;
86pub const STD_VIDEO_VP9_LEVEL_6_2: StdVideoVP9Level = 13;
87pub const STD_VIDEO_VP9_LEVEL_INVALID: StdVideoVP9Level = 0x7FFFFFFF;
88pub const STD_VIDEO_VP9_LOOP_FILTER_ADJUSTMENTS: u32 = 2;
89pub const STD_VIDEO_VP9_MAX_REF_FRAMES: u32 = 4;
90pub const STD_VIDEO_VP9_MAX_SEGMENTATION_PRED_PROB: u32 = 3;
91pub const STD_VIDEO_VP9_MAX_SEGMENTATION_TREE_PROBS: u32 = 7;
92pub const STD_VIDEO_VP9_MAX_SEGMENTS: u32 = 8;
93pub const STD_VIDEO_VP9_NUM_REF_FRAMES: u32 = 8;
94pub const STD_VIDEO_VP9_PROFILE_0: StdVideoVP9Profile = 0;
95pub const STD_VIDEO_VP9_PROFILE_1: StdVideoVP9Profile = 1;
96pub const STD_VIDEO_VP9_PROFILE_2: StdVideoVP9Profile = 2;
97pub const STD_VIDEO_VP9_PROFILE_3: StdVideoVP9Profile = 3;
98pub const STD_VIDEO_VP9_PROFILE_INVALID: StdVideoVP9Profile = 0x7FFFFFFF;
99pub const STD_VIDEO_VP9_REFERENCE_NAME_ALTREF_FRAME: StdVideoVP9ReferenceName = 3;
100pub const STD_VIDEO_VP9_REFERENCE_NAME_GOLDEN_FRAME: StdVideoVP9ReferenceName = 2;
101pub const STD_VIDEO_VP9_REFERENCE_NAME_INTRA_FRAME: StdVideoVP9ReferenceName = 0;
102pub const STD_VIDEO_VP9_REFERENCE_NAME_INVALID: StdVideoVP9ReferenceName = 0x7FFFFFFF;
103pub const STD_VIDEO_VP9_REFERENCE_NAME_LAST_FRAME: StdVideoVP9ReferenceName = 1;
104pub const STD_VIDEO_VP9_REFS_PER_FRAME: u32 = 3;
105pub const STD_VIDEO_VP9_SEG_LVL_MAX: u32 = 4;
106
107pub type StdVideoVP9ColorSpace = i32;
108pub type StdVideoVP9FrameType = i32;
109pub type StdVideoVP9InterpolationFilter = i32;
110pub type StdVideoVP9Level = i32;
111pub type StdVideoVP9Profile = i32;
112pub type StdVideoVP9ReferenceName = i32;