[FFmpeg-devel] [PATCH] avfilter/dnn_detect: fail on filter if mandatory anchor option is missing
Chen, Wenbin
wenbin.chen at intel.com
Thu Feb 27 04:41:00 EET 2025
> It prevents the filter of running in case such option is missing,
> failing early, during init() instead of simply logging an error
> during runtime.
>
> It depends on this other change:
>
> https://patchwork.ffmpeg.org/project/ffmpeg/patch/6c4d8098-bb57-4f7c-
> b86b-9221492b7ced at gmail.com/
>
> Signed-off-by: Leandro Santiago <leandrosansilva at gmail.com>
> ---
> libavfilter/vf_dnn_detect.c | 13 ++++++++-----
> 1 file changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/libavfilter/vf_dnn_detect.c b/libavfilter/vf_dnn_detect.c
> index cd70c64e98..bc9a1777ff 100644
> --- a/libavfilter/vf_dnn_detect.c
> +++ b/libavfilter/vf_dnn_detect.c
> @@ -173,11 +173,6 @@ static int dnn_detect_parse_yolo_output(AVFrame
> *frame, DNNData *output, int out
> return AVERROR(EINVAL);
> }
>
> - if (!anchors) {
> - av_log(filter_ctx, AV_LOG_ERROR, "anchors is not set\n");
> - return AVERROR(EINVAL);
> - }
> -
> if (output[output_index].dims[1] * output[output_index].dims[2] *
> output[output_index].dims[3] % (box_size * cell_w * cell_h)) {
> av_log(filter_ctx, AV_LOG_ERROR, "wrong cell_w, cell_h or
> nb_classes\n");
> @@ -656,6 +651,14 @@ static av_cold int dnn_detect_init(AVFilterContext
> *context)
> DnnDetectContext *ctx = context->priv;
> DnnContext *dnn_ctx = &ctx->dnnctx;
> int ret;
> + int using_yolo = (ctx->model_type == DDMT_YOLOV3 ||
> + ctx->model_type == DDMT_YOLOV4 ||
> + ctx->model_type == DDMT_YOLOV1V2);
> +
> + if (using_yolo && !ctx->anchors) {
> + av_log(ctx, AV_LOG_ERROR, "anchors is not set while being required for
> YOLO models\n");
> + return AVERROR(EINVAL);
> + }
>
> ret = ff_dnn_init(&ctx->dnnctx, DFT_ANALYTICS_DETECT, context);
> if (ret < 0)
> --
> 2.48.1
>
LGTM. Thanks
Wenbin
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list