[FFmpeg-devel] [PATCH] fftools/ffmpeg_filter: at EOF, unref frame used for FPS conversion logic
Zhao Zhili
quinkblack at foxmail.com
Tue Jun 24 06:33:33 EEST 2025
> On Jun 24, 2025, at 11:09, Steven Zhou <steven.zhou at netint.ca> wrote:
>
> fftools/ffmpeg_filter: at EOF, unref frame used for FPS conversion logic
>
> Ever since commit 64f3feb added `avcodec_free_context(&enc->enc_ctx);` to
> `enc_free()` the encoder context is closed before filtergraph output context.
> The filtergraph output context holds a reference to last AVFrame to pass through
> it for FPS conversion purposes. This is problematic for HWFrameContexts which
> may rely on encoder context to free HW AVFrames.
What’s the encoder? This sounds a defect in encoder implementation.
> This change unrefs the AVFrame
> ref held by filtergraph output context during processing of EOF frame.
>
> Signed-off-by: Steven Zhou <steven.zhou at netint.ca>
> ---
> fftools/ffmpeg_filter.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c
> index a0dc4c745e..cf2d016b2d 100644
> --- a/fftools/ffmpeg_filter.c
> +++ b/fftools/ffmpeg_filter.c
> @@ -2560,8 +2560,10 @@ static int fg_output_frame(OutputFilterPriv *ofp, FilterGraphThread *fgt,
> av_frame_move_ref(frame_prev, frame);
> }
>
> - if (!frame)
> + if (!frame) {
> + av_frame_unref(frame_prev);
> return close_output(ofp, fgt);
> + }
>
> return 0;
> }
> --
> 2.25.1
>
> _______________________________________________
> 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