[FFmpeg-devel] [PATCH 0/3] CUDA implementation of yadif filter

Philip Langdale philipl at overt.org
Fri Oct 26 18:56:03 EEST 2018


This patch series adds a CUDA implementation of yadif so that we have
a deinterlacing option when doing full GPU transcode or playback with
nvdec and/or nvenc. The nvidia deinterlacer cannot be used with the
nvdec decoder because an hwaccel cannot return more than one frame
per input packet. (It does work with the cuviddec decoder which is
a full decoder, but uses nvidia's parsers which tend to be more
limited than the ffmpeg ones).

Philip Langdale (3):
  libavfilter/vf_yadif: Make frame management logic and options
    shareable
  avfilter/vf_yadif_cuda: CUDA accelerated deinterlacer
  avcodec/nvdec: Increase frame pool size to help deinterlacing

 Changelog                    |   1 +
 configure                    |   1 +
 doc/filters.texi             |  58 +++++
 libavcodec/nvdec.c           |   2 +-
 libavfilter/Makefile         |   3 +-
 libavfilter/allfilters.c     |   1 +
 libavfilter/version.h        |   2 +-
 libavfilter/vf_yadif.c       | 190 +---------------
 libavfilter/vf_yadif_cuda.c  | 426 +++++++++++++++++++++++++++++++++++
 libavfilter/vf_yadif_cuda.cu | 296 ++++++++++++++++++++++++
 libavfilter/yadif.h          |   9 +
 libavfilter/yadif_common.c   | 209 +++++++++++++++++
 12 files changed, 1008 insertions(+), 190 deletions(-)
 create mode 100644 libavfilter/vf_yadif_cuda.c
 create mode 100644 libavfilter/vf_yadif_cuda.cu
 create mode 100644 libavfilter/yadif_common.c

-- 
2.19.1



More information about the ffmpeg-devel mailing list