aboutsummaryrefslogtreecommitdiffstats
path: root/libavfilter/dnn/dnn_interface.c
diff options
context:
space:
mode:
authorZhao Zhili <zhilizhao@tencent.com>2023-04-30 23:38:53 +0800
committerZhao Zhili <zhilizhao@tencent.com>2023-06-08 10:50:23 +0800
commit3f52b7eedc9f131c10cfc2cdf2d493f04db05fd0 (patch)
treec720e580d79e3a55ed7798ecd21909afd88a749c /libavfilter/dnn/dnn_interface.c
parent2c4b6976d5b57dec938dba481fe5d3b93eb24f1e (diff)
downloadffmpeg-3f52b7eedc9f131c10cfc2cdf2d493f04db05fd0.tar.gz
avfilter/dnn: define each backend as a DNNModule
To avoid export multiple functions for each backend implementation. Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
Diffstat (limited to 'libavfilter/dnn/dnn_interface.c')
-rw-r--r--libavfilter/dnn/dnn_interface.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/libavfilter/dnn/dnn_interface.c b/libavfilter/dnn/dnn_interface.c
index 5b1695a1dd..4f78f35474 100644
--- a/libavfilter/dnn/dnn_interface.c
+++ b/libavfilter/dnn/dnn_interface.c
@@ -24,10 +24,11 @@
*/
#include "../dnn_interface.h"
-#include "dnn_backend_tf.h"
-#include "dnn_backend_openvino.h"
#include "libavutil/mem.h"
+extern const DNNModule ff_dnn_backend_openvino;
+extern const DNNModule ff_dnn_backend_tf;
+
DNNModule *ff_get_dnn_module(DNNBackendType backend_type)
{
DNNModule *dnn_module;
@@ -40,11 +41,7 @@ DNNModule *ff_get_dnn_module(DNNBackendType backend_type)
switch(backend_type){
case DNN_TF:
#if (CONFIG_LIBTENSORFLOW == 1)
- dnn_module->load_model = &ff_dnn_load_model_tf;
- dnn_module->execute_model = &ff_dnn_execute_model_tf;
- dnn_module->get_result = &ff_dnn_get_result_tf;
- dnn_module->flush = &ff_dnn_flush_tf;
- dnn_module->free_model = &ff_dnn_free_model_tf;
+ *dnn_module = ff_dnn_backend_tf;
#else
av_freep(&dnn_module);
return NULL;
@@ -52,11 +49,7 @@ DNNModule *ff_get_dnn_module(DNNBackendType backend_type)
break;
case DNN_OV:
#if (CONFIG_LIBOPENVINO == 1)
- dnn_module->load_model = &ff_dnn_load_model_ov;
- dnn_module->execute_model = &ff_dnn_execute_model_ov;
- dnn_module->get_result = &ff_dnn_get_result_ov;
- dnn_module->flush = &ff_dnn_flush_ov;
- dnn_module->free_model = &ff_dnn_free_model_ov;
+ *dnn_module = ff_dnn_backend_openvino;
#else
av_freep(&dnn_module);
return NULL;