summaryrefslogtreecommitdiff
path: root/libavfilter/allfilters.c
diff options
context:
space:
mode:
authorAman Karmani <aman@tmm1.net>2021-12-13 17:08:50 -0800
committerAman Karmani <aman@tmm1.net>2021-12-18 11:57:31 -0800
commit4ac869ca2a1caaa888ad65ebd9a9b1914bfaf9b8 (patch)
tree3a79ea12e3f833aa3cd58ae610f7227756344ec9 /libavfilter/allfilters.c
parentecee6af8bda475b15c9a4e9037fc406039f60efc (diff)
avfilter: add vf_yadif_videotoolbox
deinterlaces CVPixelBuffers, i.e. AV_PIX_FMT_VIDEOTOOLBOX frames for example, an interlaced mpeg2 video can be decoded by avcodec, uploaded into a CVPixelBuffer, deinterlaced by Metal, and then encoded to h264 by VideoToolbox as follows: ffmpeg \ -init_hw_device videotoolbox \ -i interlaced.ts \ -vf hwupload,yadif_videotoolbox \ -c:v h264_videotoolbox \ -b:v 2000k \ -c:a copy \ -y progressive.ts (note that uploading AVFrame into CVPixelBuffer via hwupload requires 504c60660d3194758823ddd45ceddb86e35d806f) this work is sponsored by Fancy Bits LLC Reviewed-by: Ridley Combs <rcombs@rcombs.me> Reviewed-by: Philip Langdale <philipl@overt.org> Signed-off-by: Aman Karmani <aman@tmm1.net>
Diffstat (limited to 'libavfilter/allfilters.c')
-rw-r--r--libavfilter/allfilters.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/libavfilter/allfilters.c b/libavfilter/allfilters.c
index ec57a2c49c..26f1c73505 100644
--- a/libavfilter/allfilters.c
+++ b/libavfilter/allfilters.c
@@ -496,6 +496,7 @@ extern const AVFilter ff_vf_xmedian;
extern const AVFilter ff_vf_xstack;
extern const AVFilter ff_vf_yadif;
extern const AVFilter ff_vf_yadif_cuda;
+extern const AVFilter ff_vf_yadif_videotoolbox;
extern const AVFilter ff_vf_yaepblur;
extern const AVFilter ff_vf_zmq;
extern const AVFilter ff_vf_zoompan;