[FFmpeg-devel] [PATCH] News: Removal of libndi

Yufei He yhe at matrox.com
Mon Mar 25 15:02:42 EET 2019


Hi

Matrox card is very similar to cards from other companies in terms of 
accesses.

I suggest that we should differentiate hardware codec and software codec.

Hardware codecs are very strong help to FFmpeg for high resolution video 
encoding and decoding like 4k. though gradually software codec will be 
stronger and stronger with CPU grows.

Currently, it's very hard to trancode a quadhd  mxf file to a streaming 
.mp4 file with cpu.

Actually, I don't know what we can get from code to access the hardware, 
it's all detailed hardware access api.

Hardware codecs and software codecs are taking different responsibilities.

Thanks a lot.

Yufei.


On 03/24/2019 04:14 PM, Jean-Baptiste Kempf wrote:
> On Sun, 24 Mar 2019, at 20:10, Ronald S. Bultje wrote:
>> The GPL does not mention hardware (instead, they use the word "system
>> library"). Going from here, I don't consider enterprise-level hardware like
>> Matrox $$$ priced stuff to be a system library at all. My system certainly
>> has no hardware or drivers or system-level libraries that are
>> API+ABI+functionally compatible with Matrox' tools and wares - under any
>> license, not open-source and not closed-source. How can the system library
>> exception possibly apply here?
> Drivers have always been considered part of the OS, whatever the price of the hardware.
> The Linux kernel has drivers for pieces of hardware that are way more expensive than Matrox hardware.
>
> So, if the library is part of the driver (installed at the same time), it is considered part of the "major components of the OS", because if you don't install the driver, you cannot use the hardware.
> This is the opinion of the Linux Foundation, the FSF, FSFE and so many others.
>
> Usually, the "major components" (as mentioned in the GPL and not "system libraries", which is the shortcut) explicitly mention 3 parts: kernel, compiler and  "others."
> The common understanding is that everything that runs in Kernel-Land, aka kernel + drivers is the kernel part of the "major components". libc, compiler and libraries linked by compilers, if distributed with the OS, are the second part of the "major components"; and the last part, "others" cover the other core parts of the OS (usually the "base" in linux distributions), and covers init and the shell, and the basic services normally installed by default (at, cron, etc..).
>
> Yes, this meaning is very dated, but GPLv2 is from 1991.
>
>
> Most of those hardware libraries are glorified ioctls around the driver and shipped with the drivers.
> And I see this with nVidia, Intel MFX and Decklink (lots of "acquire C++ interface, set param" there, release the C++ interface).
>
> Matrox seems to do something else, though, introducing a special library for FFmpeg consumption, and I doubt that feels like a driver...
>
>


More information about the ffmpeg-devel mailing list