[FFmpeg-devel] [PATCH] avfilter/vf_dnn_classify: add result check for av_frame_get_side_data
Guo, Yejun
yejun.guo at intel.com
Fri May 7 11:11:13 EEST 2021
> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
> Steven Liu
> Sent: 2021年5月7日 14:43
> To: ffmpeg-devel at ffmpeg.org
> Cc: Steven Liu <liuqi05 at kuaishou.com>
> Subject: [FFmpeg-devel] [PATCH] avfilter/vf_dnn_classify: add result check for
> av_frame_get_side_data
>
> CID: 1482090
thanks for the patch, what does CID mean?
> there can return null from av_frame_get_side_data, and will use sd->data
> after av_frame_get_side_data, so should check null return value.
>
> Signed-off-by: Steven Liu <liuqi05 at kuaishou.com>
> ---
> libavfilter/vf_dnn_classify.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/libavfilter/vf_dnn_classify.c b/libavfilter/vf_dnn_classify.c
> index 18fcd452d0..7900255cfe 100644
> --- a/libavfilter/vf_dnn_classify.c
> +++ b/libavfilter/vf_dnn_classify.c
> @@ -77,6 +77,10 @@ static int dnn_classify_post_proc(AVFrame *frame,
> DNNData *output, uint32_t bbox
> }
>
> sd = av_frame_get_side_data(frame,
> AV_FRAME_DATA_DETECTION_BBOXES);
> + if (!sd) {
> + av_log(filter_ctx, AV_LOG_ERROR, "Cannot get side data in
> dnn_classify_post_proc\n");
> + return -1;
> + }
The check happens in the backend,
see https://github.com/FFmpeg/FFmpeg/blob/master/libavfilter/dnn/dnn_backend_openvino.c#L536,
this function will not be invoked if sd is NULL.
anyway, I think it's nice to have another check here.
More information about the ffmpeg-devel
mailing list