2929//! model_info.model_info_set_layout(&Layout::new("NCHW").expect("to create a new layout")).expect("to set layout");
3030//! let new_model = pre_post_process.build_new_model().expect("to build new model with above prepostprocess steps");
3131//! ```
32+ use crate :: {
33+ cstr, drop_using_function, layout:: Layout , try_unsafe, util:: Result , ElementType , Model , Tensor ,
34+ } ;
3235use openvino_sys:: {
3336 ov_preprocess_input_info_free, ov_preprocess_input_info_get_model_info,
3437 ov_preprocess_input_info_get_preprocess_steps, ov_preprocess_input_info_get_tensor_info,
@@ -49,11 +52,6 @@ use openvino_sys::{
4952 ov_preprocess_preprocess_steps_convert_layout, ov_preprocess_preprocess_steps_free,
5053 ov_preprocess_preprocess_steps_resize, ov_preprocess_preprocess_steps_t,
5154} ;
52- use std:: ffi:: CString ;
53-
54- use crate :: {
55- drop_using_function, layout:: Layout , try_unsafe, util:: Result , ElementType , Model , Tensor ,
56- } ;
5755
5856/// See [`PrePostProcess`](https://docs.openvino.ai/2023.3/api/c_cpp_api/structov__preprocess__prepostprocessor__t.html).
5957#[ derive( Debug ) ]
@@ -142,7 +140,7 @@ impl PreProcessInputTensorInfo {
142140}
143141
144142impl PrePostProcess {
145- /// Creates a new `PrePostprocess ` instance for the given model.
143+ /// Creates a new `PrePostProcess ` instance for the given model.
146144 pub fn new ( model : & Model ) -> Result < Self > {
147145 let mut preprocess = std:: ptr:: null_mut ( ) ;
148146 try_unsafe ! ( ov_preprocess_prepostprocessor_create(
@@ -172,10 +170,9 @@ impl PrePostProcess {
172170 /// Retrieves the input information by name.
173171 pub fn get_input_info_by_name ( & self , name : & str ) -> Result < PreProcessInputInfo > {
174172 let mut input_info = std:: ptr:: null_mut ( ) ;
175- let c_layout_desc = CString :: new ( name) . unwrap ( ) ;
176173 try_unsafe ! ( ov_preprocess_prepostprocessor_get_input_info_by_name(
177174 self . instance,
178- c_layout_desc . as_ptr ( ) ,
175+ cstr! ( name ) ,
179176 std:: ptr:: addr_of_mut!( input_info)
180177 ) ) ?;
181178
@@ -186,17 +183,13 @@ impl PrePostProcess {
186183
187184 /// Retrieves the output information by name.
188185 pub fn get_output_info_by_name ( & self , name : & str ) -> Result < PreProcessOutputInfo > {
189- let mut output_info = std:: ptr:: null_mut ( ) ;
190- let c_layout_desc = CString :: new ( name) . unwrap ( ) ;
186+ let mut instance = std:: ptr:: null_mut ( ) ;
191187 try_unsafe ! ( ov_preprocess_prepostprocessor_get_output_info_by_name(
192188 self . instance,
193- c_layout_desc . as_ptr ( ) ,
194- std:: ptr:: addr_of_mut!( output_info )
189+ cstr! ( name ) ,
190+ std:: ptr:: addr_of_mut!( instance )
195191 ) ) ?;
196-
197- Ok ( PreProcessOutputInfo {
198- instance : output_info,
199- } )
192+ Ok ( PreProcessOutputInfo { instance } )
200193 }
201194
202195 /// Retrieves the output information by index.
@@ -214,17 +207,18 @@ impl PrePostProcess {
214207 }
215208
216209 /// Retrieves the input information.
210+ ///
211+ /// # Panics
212+ ///
213+ /// Panics if the returned input info is null.
217214 pub fn get_input_info ( & self ) -> Result < PreProcessInputInfo > {
218- let mut input_info = std:: ptr:: null_mut ( ) ;
215+ let mut instance = std:: ptr:: null_mut ( ) ;
219216 try_unsafe ! ( ov_preprocess_prepostprocessor_get_input_info(
220217 self . instance,
221- std:: ptr:: addr_of_mut!( input_info )
218+ std:: ptr:: addr_of_mut!( instance )
222219 ) ) ?;
223- assert ! ( !input_info. is_null( ) ) ;
224-
225- Ok ( PreProcessInputInfo {
226- instance : input_info,
227- } )
220+ assert ! ( !instance. is_null( ) ) ;
221+ Ok ( PreProcessInputInfo { instance } )
228222 }
229223
230224 /// Builds a new model with all steps from pre/postprocessing.
0 commit comments