summaryrefslogtreecommitdiff
path: root/libavfilter/dnn
diff options
context:
space:
mode:
authorZhao Zhili <zhilizhao@tencent.com>2023-04-30 23:38:54 +0800
committerZhao Zhili <zhilizhao@tencent.com>2023-06-08 10:50:23 +0800
commit505c43bb652093625c71b312ce1a5f1b9f9679e2 (patch)
treecd200ccfdb180d91951c7bdc861b6e8b9f83d83e /libavfilter/dnn
parent3f52b7eedc9f131c10cfc2cdf2d493f04db05fd0 (diff)
avfilter/dnn: refactor ff_get_dnn_module to remove allocation
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
Diffstat (limited to 'libavfilter/dnn')
-rw-r--r--libavfilter/dnn/dnn_interface.c28
1 files changed, 5 insertions, 23 deletions
diff --git a/libavfilter/dnn/dnn_interface.c b/libavfilter/dnn/dnn_interface.c
index 4f78f35474..a60dcb091b 100644
--- a/libavfilter/dnn/dnn_interface.c
+++ b/libavfilter/dnn/dnn_interface.c
@@ -29,37 +29,19 @@
extern const DNNModule ff_dnn_backend_openvino;
extern const DNNModule ff_dnn_backend_tf;
-DNNModule *ff_get_dnn_module(DNNBackendType backend_type)
+const DNNModule *ff_get_dnn_module(DNNBackendType backend_type)
{
- DNNModule *dnn_module;
-
- dnn_module = av_mallocz(sizeof(DNNModule));
- if(!dnn_module){
- return NULL;
- }
-
switch(backend_type){
- case DNN_TF:
#if (CONFIG_LIBTENSORFLOW == 1)
- *dnn_module = ff_dnn_backend_tf;
- #else
- av_freep(&dnn_module);
- return NULL;
+ case DNN_TF:
+ return &ff_dnn_backend_tf;
#endif
- break;
- case DNN_OV:
#if (CONFIG_LIBOPENVINO == 1)
- *dnn_module = ff_dnn_backend_openvino;
- #else
- av_freep(&dnn_module);
- return NULL;
+ case DNN_OV:
+ return &ff_dnn_backend_openvino;
#endif
- break;
default:
av_log(NULL, AV_LOG_ERROR, "Module backend_type is not supported or enabled.\n");
- av_freep(&dnn_module);
return NULL;
}
-
- return dnn_module;
}