1

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?

André Moreira
  • 139
  • 1
  • 2
  • 10
  • I don't think npp has such function directly. You can find all primitives in npp doc. Also, npp scaling will be a disaster when shrinking. – halfelf Dec 15 '16 at 03:22

1 Answers1

6

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