[FFmpeg-devel] [PATCH] fftools/ffmpeg_filter: at EOF, unref frame used for FPS conversion logic
Steven Zhou
steven.zhou at netint.ca
Tue Jun 24 06:09:23 EEST 2025
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. 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
More information about the ffmpeg-devel
mailing list