André Moreira
André Moreira

Reputation: 149

ffmpeg full nvidia hardware transcode with deinterlace

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

Answers (1)

David Strnad
David Strnad

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

Related Questions