[FFmpeg-devel] [PATCH] dnn_backend_native_layer_conv2d.c: fix bug of loop boundary in single thread mode.

xujunzz at sjtu.edu.cn xujunzz at sjtu.edu.cn
Sat Sep 19 18:24:25 EEST 2020


From: Xu Jun <xujunzz at sjtu.edu.cn>

Before patch, fate test for dnn may fail in some Windows environment
while succeed in my Linux. The bug was caused by a wrong loop boundary.
Win10 and Linux seems to have different explaination for that.After
patch, fate test succeed in my windows mingw 64-bit.

Signed-off-by: Xu Jun <xujunzz at sjtu.edu.cn>
---
 libavfilter/dnn/dnn_backend_native_layer_conv2d.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavfilter/dnn/dnn_backend_native_layer_conv2d.c b/libavfilter/dnn/dnn_backend_native_layer_conv2d.c
index 2aaa4162df..0fb968a1fc 100644
--- a/libavfilter/dnn/dnn_backend_native_layer_conv2d.c
+++ b/libavfilter/dnn/dnn_backend_native_layer_conv2d.c
@@ -245,7 +245,7 @@ int dnn_execute_layer_conv2d(DnnOperand *operands, const int32_t *input_operand_
 #else
     thread_param[0] = av_malloc(sizeof(**thread_param));
     thread_param[0]->thread_common_param = &thread_common_param;
-    thread_param[0]->thread_start = 0;
+    thread_param[0]->thread_start = pad_size;
     thread_param[0]->thread_end = height - pad_size;
     dnn_execute_layer_conv2d_thread((void *)thread_param[0]);
     av_free(thread_param[0]);
-- 
2.28.0



More information about the ffmpeg-devel mailing list