Am 02.06.2017 um 19:47 schrieb Ganapathy Raman Kasi:
Hi,

HW accelerated transcode (h264_cuvid -> h264_nvenc with -hwaccel cuvid) was 
broken after the filtergraph initialization was changed to intialize decoder first 
followed by encoder (commit af1761f7b5b1b72197dc40934953b775c2d951cc). During 
initialzing encoder with bframes, local buffers are allocated internally in 
encoder which fails since no cuda context is bound to current cpu thread. Now 
pushing the correct cuda context before encoder initialization fixes the issue. 
Also adding push/pop cuda ctx during create/destroy/map/unmap resources and 
destroy encoder session.

Regards
Ganapathy

applied, thanks!
Will also backport to affected release branches.

What I'm still wondering is, how did this ever happen to work?
I suspected something like this, and verified that we were not leaking a bound context somewhere, and thus gave up on that trail. Changing the order of initialization, or rather throwing initializing cuvid before nvenc, seems to be what causes this.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to