> On Jun 24, 2025, at 11:09, Steven Zhou <[email protected]> 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 <[email protected]>
> ---
> 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
> [email protected]
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> [email protected] with subject "unsubscribe".

_______________________________________________
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to