[FFmpeg-user] CPU and GPU

Mark Filipak markfilipak.windows+ffmpeg at gmail.com
Mon Mar 2 06:34:58 EET 2020

On 03/01/2020 11:01 PM, Ted Park wrote:
> Hi,
>> So codec engineering companies like NGCodec, MainConcept, Beamr and MulticoreWare turn open source-based, ffmpeg workflows into FPGAs that, when mature firmware implementations, chip companies like Intel & NVIDIA turn into real hardware: masked GPUs. Do I have that right?
> I think that is a bit of a stretch… It almost makes it sound like they copy paste a bunch of code from open source projects into a box that turns them into custom silicon designs...

What is implemented in FPGAs is not solely so-called 
software-in-silicon. Sometimes it is software-in-silicon -- marginal 
speedup -- but usually software algorithms are realized as systems of 
FSMs (finite state machines) -- huge speedup -- that simply mimic the 
original software processes.

I presume that what is implemented in GPUs (CUDA cores, for example) are 
the FSMs with custom hardware tool blocks (transform processors and the 
like) operating as slaved coprocessors shared by the cores -- even 
bigger speedup.

> ...Besides, I think the way Intel or NVIDIA might use FPGAs (other than in their FPGA products) is probably very different from the way a software codec is accelerated using an FPGA.
That is undoubtedly true. Some are implemented using a client-server 
model and some are implemented as subprocesses (just as a main program 
uses subroutines). So long as the implementation is via FPGA, it doesn't 
matter whether its done in the own FPGA product or licensed from a 
software-in-silicon vendor like MGCodec.

More information about the ffmpeg-user mailing list