[FFmpeg-user] 10bit hardware decoding using CUDA

Ivan Gorin ivangorin21 at gmail.com
Mon Dec 14 20:21:39 EET 2020


Hello, I am trying to transcode a 10 bit hevc video stream to 8 bit hevc or
h264. Here is the relevant data from ffprobe:

Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv,
bt2020nc/bt2020/smpte2084)

I have tried many different combinations, usually something like this:

ffmpeg -hwaccel cuvid -i input.mkv -c:v h264_nvenc -pix_fmt yuv420p
output.mkv

I have also tried using hevc_nvenc encoder, and tried using -vf
"format=yuv420p", although  I do not fully understand what -vf is doing. I
usually get error messages like this:

Impossible to convert between the formats supported by the filter
'Parsed_null_0' and the filter 'auto_scaler_0'
Error reinitializing filters!
Failed to inject frame into filter network: Function not implemented
Error while processing the decoded data for stream #0:0
Conversion failed!

I have found some questions on this forum saying that nvenc doesn't support
anything other than yuv420p, although ffmpeg -h encoder=h264_nvenc says
that it supports p010le. If this is the case, is there a way to make the
pixel conversion in software and everything else in hardware? Thanks for
the help!


More information about the ffmpeg-user mailing list