[FFmpeg-devel] [PATCH] avcodec/videotoolbox_hevc: avoid leaking cached_hw_frames_ctx
Pavel Koshevoy
pkoshevoy at gmail.com
Fri Aug 23 17:12:38 EEST 2019
On Tue, Aug 6, 2019 at 8:50 PM Pavel Koshevoy <pkoshevoy at gmail.com> wrote:
>
> vtctx->cached_hw_frames_ctx is unref'd in videotoolbox_uninit,
> but videotoolbox_hevc used ff_videotoolbox_uninit which
> doesn't unref cache_hw_frames_ctx.
> ---
> libavcodec/videotoolbox.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavcodec/videotoolbox.c b/libavcodec/videotoolbox.c
> index c718e82cc5..acaeef77dd 100644
> --- a/libavcodec/videotoolbox.c
> +++ b/libavcodec/videotoolbox.c
> @@ -1143,7 +1143,7 @@ const AVHWAccel ff_hevc_videotoolbox_hwaccel = {
> .end_frame = videotoolbox_hevc_end_frame,
> .frame_params = videotoolbox_frame_params,
> .init = videotoolbox_common_init,
> - .uninit = ff_videotoolbox_uninit,
> + .uninit = videotoolbox_uninit,
> .priv_data_size = sizeof(VTContext),
> };
>
> --
> 2.16.4
>
I'd like to see this merged. Would anyone be upset if I pushed it?
When I ran into this issue testing on a Tesla P4 I observed that each
hw frames ctx leak would cost ~120MB GPU memory. Once all GPU memory
is exhausted nvdec and nvenc would fail, and this happens pretty
quickly when processing 4s video fragments from unrelated
sources/timelines.
Rick Kern and Aman Gupta are listed as maintainers for videotoolbox*,
but I don't know how to contact them.
Pavel.
More information about the ffmpeg-devel
mailing list