Jan 11, 2021, 23:27 by felix.leclair...@hotmail.com:

> Hi guys and gals, first post on this mailing list, apologies for any 
> formatting/stylistic snafus
>
> TLDR; we currently have tone mapping filters (typically used to map content 
> from a 10bit HDR source to an 8bit SDR output) that are done on CPU with 
> Zscale from Zlib, or hardware implementations using VAAPI or OpenCL. Having a 
> version implemented in CUDA would round out the main HWaccels types.
>
> Context:
>  I'm a computer engineering student up in Canada with an interest in high 
> efficiency distributed processing. As a personal project I'm trying to build 
> a cluster of Nvidia Jetson Nano's to be able to handle a few dozen streams 
> (mix of SD, HD, FHD, UHD, 4kHDR) at once while drawing south of 100W at peak. 
> These little devices can do anywhere from 1 to 9 streams of content at a time 
> depending on resolution/framerate in hardware in any mix of HEVC or H.264, so 
> 3 of them should get me most of the way to where I want to go (this would be 
> a 30W package capable of ~12 2160p30@10 bit -> 1080p30 8bit streams).
>
> The issue is that, 4 little arm64 cores are just not going to be able to 
> tonemap using Zscale in real time, even with the encoder and decoders sharing 
> memory with the CPU (so no PCIe memcopy penalty). On the other hand, the 
> built in GPU and the relative simplicity of most tone mapping algorithms (say 
> hable) should make quick work of this. Unfortunately (or fortunately for me 
> to learn with?) there isn't a CUDA version of the filter.
>
> Question/guidance:
> I've read through the doc on how to write filters, as well as looking at the 
> other cuda filters currently in the source and have a general idea of where 
> I'm going, but haven't been able to fully nail down how to access frames from 
> hwupload_cuda passed to vf_tonemap_cuda.c which in turn passes that frame to 
> vf_tonemap_cuda.cu for processing. I have a repo with everything I've been 
> pulling together for my project, but the piece of interest is under 
> */cuda_filter/ in the source tree. 
> <https://github.com/Camofelix/Jetson_ffmpeg_trancode_cluster/>
>
> Would anyone mind helping me out with how to architect this?
>

The tonemap filter is just a (very old by now) copy of libplacebo's tonemapping.
No one has bothered to keep it in sync.
I'm working on a libplacebo wrapper currently, so once that's merged there
will be up to date hardware tonemapping.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to