[FFmpeg-devel] have some major changes for nvenc support
rogerdpack2 at gmail.com
Fri Jan 8 09:29:52 CET 2016
On 11/5/15, wm4 <nfxjfg at googlemail.com> wrote:
> On Thu, 5 Nov 2015 16:23:04 +0800
> Agatha Hu <ahu at nvidia.com> wrote:
>> 2) We use AVFrame::opaque field to store a customized ffnvinfo struture
>> to prevent expensive CPU<->GPU transferration. Without it, the workflow
>> will be like CPU AVFrame input-->copy to GPU-->do CUDA resizing-->copy
>> to CPU AVFrame-->copy to GPU-->NVENC encoding. And now it becomes:
>> CPU AVFrame input-->copy to GPU-->do CUDA resizing-->NVENC encoding.
>> Our strategy is to check whether AVFrame::opaque is not null AND its
>> first 128 bytes matches some particular GUID. If so, AVFrame::opaque is
>> a valid ffnvinfo struture and we read GPU address directly from it
>> instead of copying data from AVFrame.
> Please no, not another hack that makes the hw decoding API situation
> worse. Do this properly and coordinate with Gwenole Beauchesne, who
> plans improvements into this direction.
Which part are you referring to (though I'll admit putting some stuff
in libavutil seems a bit suspect).
It would be nice to have the nvresize filter available anyway, and it
looks like it mostly just deals with private context variables.
More information about the ffmpeg-devel