[FFmpeg-devel] [Patch] CUDA Thumbnail Filter

Timo Rothenpieler timo at rothenpieler.org
Mon Sep 11 12:18:40 EEST 2017

Am 11.09.2017 um 07:40 schrieb Yogender Gupta:
>>> Only 3 to 4 times? This is easily doable with SIMD.
> The problem is not with the thumbnail filter at all. The problem is doing the transfers from vidmem to sysmem or vice-versa. You will observe if we use a transcoder pipeline with and without hwaccel cuvid (using hw encoder/decoders in both cases), the one with hwaccel runs much faster. If we add more transfers by using a CPU based filter, it will only degrade the performance further.
> The CUDA thumbnail filter can work directly on the video memory without requiring an additional vidmem to sysmem transfer.
> Thanks,
> Yogender

I also really don't see the concern with adding CUDA versions of already 
existing filters.
They are not included in any standard build, and require both non-free 
and the cuda-sdk to be even built in the first place.

For their specific use case of a fully hardware-accelerated transcode 
and filter pipeline they clearly offer benefits. Specially when the 
final encode is to be done with nvenc and/or when operating on huge 
frames(4K or maybe even bigger) using the GPU has clear benefits and I 
doubt any SIMD will be able to compensate for it.

Another scenario where a 100% GPU pipeline becomes essential is when you 
are processing _a lot_ of streams on one machine. You can freely put 
more GPUs in and gain more VMEM and Cores to work with, without 
interfering with the others.
If there is a single CPU based filter anywhere in that chain you will 
very quickly be bottlenecked by it and the copying to and from sysmem.

Concerning the OpenCL infrastructure that was just posted to the list:
It would indeed be nice if there was a way to map CUDA frames to OpenCL, 
and the other way around. But I am not aware of any interoperability 
there and Nvidia has more than big enough of a market share on server 
and cloud GPUs(see for example AWS) to make adding CUDA based filters 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3994 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20170911/6c92fafd/attachment.bin>

More information about the ffmpeg-devel mailing list