Reputation: 149
I know that if ffmpeg is compiled with libnpp support you can do a full hardware transcoding with scaling, like this:
ffmpeg -hwaccel_device 0 -hwaccel cuvid -c:v h264_cuvid -i input -vf scale_npp=-1:720 -c:v h264_nvenc -preset slow output.mkv
Is it possible to, instead of scaling, apply a deinterlace filter to be handled by the hardware, like the scaling is in the example above? Does libnpp provide deinterlace?
Upvotes: 1
Views: 8598
Reputation: 61
Maybe you can use cuvid decoder, but I did not test it.
See: ffmpeg -h decoder=h264_cuvid
...
Decoder h264_cuvid [Nvidia CUVID H264 decoder]:
General capabilities: delay
Threading capabilities: none
Supported pixel formats: cuda nv12
h264_cuvid AVOptions:
-deint <int> .D.V.... Set deinterlacing mode (from 0 to 2) (default weave)
weave .D.V.... Weave deinterlacing (do nothing)
bob .D.V.... Bob deinterlacing
adaptive .D.V.... Adaptive deinterlacing
-gpu <string> .D.V.... GPU to be used for decoding
Upvotes: 6