[FFmpeg-devel] AMD external header
nfxjfg at googlemail.com
Wed Nov 29 18:24:49 EET 2017
On Wed, 29 Nov 2017 09:09:14 -0700
Pavel Koshevoy <pkoshevoy at gmail.com> wrote:
> On Tue, Nov 28, 2017 at 12:47 AM, Tobias Rapp <t.rapp at noa-archive.com> wrote:
> > On 27.11.2017 17:14, Pavel Koshevoy wrote:
> >> Personally, I would prefer if the bundled external headers were
> >> installed together with ffmpeg public headers (so nvenc/cuda/etc...
> >> weren't simply private headers within ffmpeg). There are some nvenc
> >> APIs I need to query hardware capabilities to avoid setting nvenc
> >> codec parameters that would cause the codec to fail to initialize via
> >> ffmpeg apis. Given that ffmpeg already includes the headers that
> >> declare those APIs I've been able to use them without installing nvenc
> >> SDK separately, but since they are private headers in the ffmpeg
> >> source tree it feels dirty to do that.
> > Your use-case looks like an argument for moving the external headers into
> > some separate repository. Not that I personally care much about bundling or
> > not bundling. To me the more important question seems to be whether to
> > auto-enable the encoders/decoders that depend on the external headers and
> > libraries or not.
> Yeah, that would be cleaner, but it does bring up the maintenance
> burden that Nicolas has mentioned. As long as the headers are in the
> ffmpeg tree -- the maintenance burden is on ffmpeg. When the headers
> are moved to an external repo it would not necessarily be an ffmpeg
> projects maintenance burden, but then who should be maintaining it?
> The vendor?
Generally we should encourage the vendor to maintain such things.
I think what really needs to be discussed in a broader context are
patch-and-run code dumps. It can't be right that someone can get
complex patches merged and then disappear, and then _we_ have to put
lots of effort into not breaking it. That's true for all kinds of
contribution, including non-company ones.
What really irks me is that nvidia is not giving us any support for
supporting their stuff. AFAIK the current headers are the last MIT
licensed ones, and future headers are closed? And there's no API
documentation or help either. But most of that code written was done by
ffmpeg developers, who have some commitment to maintain it.
Seems to be getting quite offtopic though.
More information about the ffmpeg-devel