diff options
author | Guo, Yejun <yejun.guo@intel.com> | 2020-08-07 14:32:55 +0800 |
---|---|---|
committer | Guo, Yejun <yejun.guo@intel.com> | 2020-08-12 15:43:40 +0800 |
commit | 0a51abe8ab71c03eff66200265142fc910bcbfe2 (patch) | |
tree | 2f3e24f02a5f54f6ebd95950774f5adf7587229f /libavfilter/dnn | |
parent | 4ed6bca4ae578e050d60aa96dbbdefd60f6d67c4 (diff) |
dnn: add backend options when load the model
different backend might need different options for a better performance,
so, add the parameter into dnn interface, as a preparation.
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Diffstat (limited to 'libavfilter/dnn')
-rw-r--r-- | libavfilter/dnn/dnn_backend_native.c | 3 | ||||
-rw-r--r-- | libavfilter/dnn/dnn_backend_native.h | 2 | ||||
-rw-r--r-- | libavfilter/dnn/dnn_backend_openvino.c | 3 | ||||
-rw-r--r-- | libavfilter/dnn/dnn_backend_openvino.h | 2 | ||||
-rw-r--r-- | libavfilter/dnn/dnn_backend_tf.c | 3 | ||||
-rw-r--r-- | libavfilter/dnn/dnn_backend_tf.h | 2 |
6 files changed, 9 insertions, 6 deletions
diff --git a/libavfilter/dnn/dnn_backend_native.c b/libavfilter/dnn/dnn_backend_native.c index a685efb092..adc652a2c4 100644 --- a/libavfilter/dnn/dnn_backend_native.c +++ b/libavfilter/dnn/dnn_backend_native.c @@ -115,7 +115,7 @@ static DNNReturnType set_input_output_native(void *model, DNNData *input, const // layers_num,layer_type,layer_parameterss,layer_type,layer_parameters... // For CONV layer: activation_function, input_num, output_num, kernel_size, kernel, biases // For DEPTH_TO_SPACE layer: block_size -DNNModel *ff_dnn_load_model_native(const char *model_filename) +DNNModel *ff_dnn_load_model_native(const char *model_filename, const char *options) { DNNModel *model = NULL; char header_expected[] = "FFMPEGDNNNATIVE"; @@ -245,6 +245,7 @@ DNNModel *ff_dnn_load_model_native(const char *model_filename) model->set_input_output = &set_input_output_native; model->get_input = &get_input_native; + model->options = options; return model; diff --git a/libavfilter/dnn/dnn_backend_native.h b/libavfilter/dnn/dnn_backend_native.h index 26e9a33387..b455e44992 100644 --- a/libavfilter/dnn/dnn_backend_native.h +++ b/libavfilter/dnn/dnn_backend_native.h @@ -116,7 +116,7 @@ typedef struct ConvolutionalNetwork{ uint32_t nb_output; } ConvolutionalNetwork; -DNNModel *ff_dnn_load_model_native(const char *model_filename); +DNNModel *ff_dnn_load_model_native(const char *model_filename, const char *options); DNNReturnType ff_dnn_execute_model_native(const DNNModel *model, DNNData *outputs, uint32_t nb_output); diff --git a/libavfilter/dnn/dnn_backend_openvino.c b/libavfilter/dnn/dnn_backend_openvino.c index f048bc21a8..d343bf2559 100644 --- a/libavfilter/dnn/dnn_backend_openvino.c +++ b/libavfilter/dnn/dnn_backend_openvino.c @@ -155,7 +155,7 @@ err: return DNN_ERROR; } -DNNModel *ff_dnn_load_model_ov(const char *model_filename) +DNNModel *ff_dnn_load_model_ov(const char *model_filename, const char *options) { DNNModel *model = NULL; OVModel *ov_model = NULL; @@ -186,6 +186,7 @@ DNNModel *ff_dnn_load_model_ov(const char *model_filename) model->model = (void *)ov_model; model->set_input_output = &set_input_output_ov; model->get_input = &get_input_ov; + model->options = options; return model; diff --git a/libavfilter/dnn/dnn_backend_openvino.h b/libavfilter/dnn/dnn_backend_openvino.h index 397847a78c..0a8fef91cf 100644 --- a/libavfilter/dnn/dnn_backend_openvino.h +++ b/libavfilter/dnn/dnn_backend_openvino.h @@ -29,7 +29,7 @@ #include "../dnn_interface.h" -DNNModel *ff_dnn_load_model_ov(const char *model_filename); +DNNModel *ff_dnn_load_model_ov(const char *model_filename, const char *options); DNNReturnType ff_dnn_execute_model_ov(const DNNModel *model, DNNData *outputs, uint32_t nb_output); diff --git a/libavfilter/dnn/dnn_backend_tf.c b/libavfilter/dnn/dnn_backend_tf.c index 9ceca5cea0..86da99160d 100644 --- a/libavfilter/dnn/dnn_backend_tf.c +++ b/libavfilter/dnn/dnn_backend_tf.c @@ -572,7 +572,7 @@ static DNNReturnType load_native_model(TFModel *tf_model, const char *model_file return DNN_SUCCESS; } -DNNModel *ff_dnn_load_model_tf(const char *model_filename) +DNNModel *ff_dnn_load_model_tf(const char *model_filename, const char *options) { DNNModel *model = NULL; TFModel *tf_model = NULL; @@ -600,6 +600,7 @@ DNNModel *ff_dnn_load_model_tf(const char *model_filename) model->model = (void *)tf_model; model->set_input_output = &set_input_output_tf; model->get_input = &get_input_tf; + model->options = options; return model; } diff --git a/libavfilter/dnn/dnn_backend_tf.h b/libavfilter/dnn/dnn_backend_tf.h index 3e4508912e..d7ee1df05d 100644 --- a/libavfilter/dnn/dnn_backend_tf.h +++ b/libavfilter/dnn/dnn_backend_tf.h @@ -29,7 +29,7 @@ #include "../dnn_interface.h" -DNNModel *ff_dnn_load_model_tf(const char *model_filename); +DNNModel *ff_dnn_load_model_tf(const char *model_filename, const char *options); DNNReturnType ff_dnn_execute_model_tf(const DNNModel *model, DNNData *outputs, uint32_t nb_output); |