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 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel