[FFmpeg-devel] [PATCH] avfilter/sr: process and output message when load_model is NULL

Steven Liu lq at chinaffmpeg.org
Mon Sep 24 06:35:28 EEST 2018


fix ticket: 7455

Signed-off-by: Steven Liu <lq at chinaffmpeg.org>
---
 libavfilter/dnn_interface.c | 4 ++++
 libavfilter/vf_sr.c         | 7 ++++++-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/libavfilter/dnn_interface.c b/libavfilter/dnn_interface.c
index 78d7c5cf22..792c280c53 100644
--- a/libavfilter/dnn_interface.c
+++ b/libavfilter/dnn_interface.c
@@ -52,6 +52,10 @@ DNNModule *ff_get_dnn_module(DNNBackendType backend_type)
         av_freep(&dnn_module);
         return NULL;
     #endif
+    default:
+        av_log(NULL, AV_LOG_ERROR, "Module backend_type is not native or tensorflow\n");
+        av_freep(&dnn_module);
+        return NULL;
     }
 
     return dnn_module;
diff --git a/libavfilter/vf_sr.c b/libavfilter/vf_sr.c
index 077ccc799c..6423d2ea11 100644
--- a/libavfilter/vf_sr.c
+++ b/libavfilter/vf_sr.c
@@ -75,7 +75,12 @@ static av_cold int init(AVFilterContext *context)
         return AVERROR(EIO);
     }
     else{
-        sr_context->model = (sr_context->dnn_module->load_model)(sr_context->model_filename);
+        if (!sr_context->dnn_module->load_model) {
+            av_log(context, AV_LOG_ERROR, "load_model for network was not specified\n");
+            return AVERROR(EIO);
+        } else {
+            sr_context->model = (sr_context->dnn_module->load_model)(sr_context->model_filename);
+        }
     }
     if (!sr_context->model){
         av_log(context, AV_LOG_ERROR, "could not load DNN model\n");
-- 
2.15.1





More information about the ffmpeg-devel mailing list