Skip to content

Commit fcd38a8

Browse files
committed
video: add suport for VideoSessionParameters
Add support for VideoSessionParameters. These are used to deliver stream metadata to the driver.
1 parent 7a36c67 commit fcd38a8

File tree

2 files changed

+557
-2
lines changed

2 files changed

+557
-2
lines changed

examples/src/bin/video.rs

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@ use vulkano::{
66
instance::{Instance, InstanceCreateFlags, InstanceCreateInfo},
77
video::{
88
CodecCapabilities, VideoDecodeCapabilityFlags, VideoDecodeH264PictureLayoutFlags,
9-
VideoDecodeH264ProfileInfo, VideoFormatInfo, VideoProfileInfo, VideoProfileListInfo,
10-
VideoSession, VideoSessionCreateInfo,
9+
VideoDecodeH264ProfileInfo, VideoDecodeH264SessionParametersAddInfo, VideoFormatInfo,
10+
VideoProfileInfo, VideoProfileListInfo, VideoSession, VideoSessionCreateInfo,
11+
VideoSessionParameters, VideoSessionParametersCreateFlags,
12+
VideoSessionParametersCreateInfo,
1113
},
1214
VulkanLibrary,
1315
};
@@ -175,4 +177,16 @@ fn main() {
175177

176178
let video_session = VideoSession::new(Arc::clone(&device), video_session_create_info).unwrap();
177179
println!("video session: {:#?}", video_session);
180+
181+
let video_session_parameters_create_info = VideoSessionParametersCreateInfo::new(
182+
VideoSessionParametersCreateFlags::empty(), None, Arc::clone(&video_session), vulkano::video::VideoSessionParametersCreateInfoNext::VideoDecodeH264SessionParametersCreateInfo { max_std_sps_count: 0, max_std_pps_count: 0, parameter_add_info: Some(VideoDecodeH264SessionParametersAddInfo {
183+
std_sp_ss: vec![],
184+
std_pp_ss: vec![],
185+
}) }
186+
);
187+
188+
let empty_session_parameters =
189+
VideoSessionParameters::new(Arc::clone(&device), video_session_parameters_create_info)
190+
.unwrap();
191+
println!("empty session parameters: {:#?}", empty_session_parameters);
178192
}

0 commit comments

Comments
 (0)