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

Guo, Yejun yejun.guo at intel.com
Sun Sep 20 07:34:41 EEST 2020



> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
> xujunzz at sjtu.edu.cn
> Sent: 2020年9月19日 23:24
> To: ffmpeg-devel at ffmpeg.org
> Cc: xujunzz at sjtu.edu.cn
> Subject: [FFmpeg-devel] [PATCH] dnn_backend_native_layer_conv2d.c: fix bug
> of loop boundary in single thread mode.
> 
> 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.
The bug is not caused by system difference, so will remove this line and push soon.

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]);
> --


More information about the ffmpeg-devel mailing list