[FFmpeg-devel] [PATCH] avcodec/cuviddec: Add handling HDR10+ sidedata on cuviddec.
averne
averne381 at gmail.com
Fri Sep 20 22:06:06 EEST 2024
Le 20/09/2024 à 20:41, Carlos Ruiz a écrit :> The native hevc codec doesn't
> support resizing, so you decode video at full 4k on the gpu, which means
> allocating
> something like 5-10 surfaces at 3840x2160 which becomes 250MB of GPU memory,
> and then you have immediately take all of those frames, pass them through a
> filterchain,
> scale them down to e.g. 640x360, and waste CUDA cores instead of leveraging
> the
> dedicated video downsizing inside the NVDEC chip. Now do that for 50 camera
> streams
> and you'll quickly run out of GPU memory with a GPU utilization under 10%
> haha.
NVDEC does not implement fixed-function downscaling, in fact none of the
desktop cards have any hardware dedicated to that.
As far as I know, scaling, deinterlacing, and generally all post-processing
is done on the compute engine via cuda. This is still pretty efficient
since the data can be shared between the decode/compute engines without
copy.
Tegra chips are the only ones that come with a VIC engine (Video & Image
Compositor) which can do scaling, deinterlacing, spatial/temporal filtering,
and basic compositing.
More information about the ffmpeg-devel
mailing list