[FFmpeg-devel] [PATCH] avcodec/videotoolbox_hevc: avoid leaking cached_hw_frames_ctx
Pavel Koshevoy
pkoshevoy at gmail.com
Fri Aug 23 21:51:56 EEST 2019
On Fri, Aug 23, 2019 at 8:12 AM Pavel Koshevoy <pkoshevoy at gmail.com> wrote:
>
> 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.
sorry, this was half-awake nonsense ... the cuda hwframes memleak was
external to ffmpeg and unrelated to this videotoolbox fix.
>
> 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