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

Philip Langdale philipl at overt.org
Fri Nov 2 05:08:36 EET 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).

This update includes minor changes to reflect feedback. I will bump
the minor version when I push.

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           |   6 +-
 libavfilter/Makefile         |   3 +-
 libavfilter/allfilters.c     |   1 +
 libavfilter/vf_yadif.c       | 196 +---------------
 libavfilter/vf_yadif_cuda.c  | 426 +++++++++++++++++++++++++++++++++++
 libavfilter/vf_yadif_cuda.cu | 296 ++++++++++++++++++++++++
 libavfilter/yadif.h          |   9 +
 libavfilter/yadif_common.c   | 209 +++++++++++++++++
 11 files changed, 1017 insertions(+), 189 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