diff options
author | Zhao Zhili <zhilizhao@tencent.com> | 2023-04-30 23:38:53 +0800 |
---|---|---|
committer | Zhao Zhili <zhilizhao@tencent.com> | 2023-06-08 10:50:23 +0800 |
commit | 3f52b7eedc9f131c10cfc2cdf2d493f04db05fd0 (patch) | |
tree | c720e580d79e3a55ed7798ecd21909afd88a749c /libavfilter/dnn/dnn_interface.c | |
parent | 2c4b6976d5b57dec938dba481fe5d3b93eb24f1e (diff) | |
download | ffmpeg-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.c | 17 |
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; |