[FFmpeg-devel] [PATCH] (for discussion): ffmpeg_filter: initialize cuvid for filter_complex
thunder.m at email.cz
Tue Feb 14 10:22:23 EET 2017
Dne 14.2.2017 v 06:51 Hendrik Leppkes napsal(a):
> On Mon, Feb 13, 2017 at 11:00 PM, Timo Rothenpieler
> <timo at rothenpieler.org> wrote:
>>> It is problem in NVENC.
>>> You create first frame before initialization of NVENC in CUVID, so this
>>> first frame is not accesible to NVENC until
>>> dl_fn->cuda_dl->cuCtxPushCurrent(ctx->cu_context) is called in NVENC.
>>> This trivial patch should fix your problem.
>> Very interesting. I don't think this patch is the proper fix though.
>> There never should be an active cuda context when returning from a
>> function, at least that's the premise under which I wrote all cuda
>> related functions so far.
>> This must mean that before, cuvid or something else must somehow have
>> leaked a bound cuda context to nvenc. So that might need fixing as well.
> Indeed having an implicit context active would be rather fragile, so
> best would be to revisit both cuvid and nvenc and make sure contexts
> are explicitly pushed and poped wherever needed - but I assume thats
> what you have planned to do now already. ;)
> This reminds me of this patch from Libav which landed a couple weeks ago:
> Its hardly complete and only handling it in one place, but its
> probably fixing a similar issue.
> - Hendrik
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
Nice catch, this patch in libav should fix it also, i think it should be
backported as soon as possible.
More information about the ffmpeg-devel