Commit 898c6191 authored by Paul B Mahol's avatar Paul B Mahol

lavfi: Weston 3 Field Deinterlacing Filter

Signed-off-by: 's avatarPaul B Mahol <onemda@gmail.com>
parent 911a100d
...@@ -17,6 +17,7 @@ version <next> ...@@ -17,6 +17,7 @@ version <next>
- read EXIF metadata from JPEG - read EXIF metadata from JPEG
- DVB teletext decoder - DVB teletext decoder
- phase filter ported from libmpcodecs - phase filter ported from libmpcodecs
- w3fdif filter
version 2.0: version 2.0:
......
...@@ -7830,6 +7830,45 @@ vignette='PI/4+random(1)*PI/50':eval=frame ...@@ -7830,6 +7830,45 @@ vignette='PI/4+random(1)*PI/50':eval=frame
@end itemize @end itemize
@section w3fdif
Deinterlace the input video ("w3fdif" stands for "Weston 3 Field
Deinterlacing Filter").
Based on the process described by Martin Weston for BBC R&D, and
implemented based on the de-interlace algorithm written by Jim
Easterbrook for BBC R&D, the Weston 3 field deinterlacing filter
uses filter coefficients calculated by BBC R&D.
There are two sets of filter coefficients, so called "simple":
and "complex". Which set of filter coefficients is used can
be set by passing an optional parameter:
@table @option
@item filter
Set the interlacing filter coefficients. Accepts one of the following values:
@table @samp
@item simple
Simple filter coefficient set.
@item complex
More-complex filter coefficient set.
@end table
Default value is @samp{complex}.
@item deint
Specify which frames to deinterlace. Accept one of the following values:
@table @samp
@item all
Deinterlace all frames,
@item interlaced
Only deinterlace frames marked as interlaced.
@end table
Default value is @samp{all}.
@end table
@anchor{yadif} @anchor{yadif}
@section yadif @section yadif
......
...@@ -203,6 +203,7 @@ OBJS-$(CONFIG_VFLIP_FILTER) += vf_vflip.o ...@@ -203,6 +203,7 @@ OBJS-$(CONFIG_VFLIP_FILTER) += vf_vflip.o
OBJS-$(CONFIG_VIDSTABDETECT_FILTER) += vidstabutils.o vf_vidstabdetect.o OBJS-$(CONFIG_VIDSTABDETECT_FILTER) += vidstabutils.o vf_vidstabdetect.o
OBJS-$(CONFIG_VIDSTABTRANSFORM_FILTER) += vidstabutils.o vf_vidstabtransform.o OBJS-$(CONFIG_VIDSTABTRANSFORM_FILTER) += vidstabutils.o vf_vidstabtransform.o
OBJS-$(CONFIG_VIGNETTE_FILTER) += vf_vignette.o OBJS-$(CONFIG_VIGNETTE_FILTER) += vf_vignette.o
OBJS-$(CONFIG_W3FDIF_FILTER) += vf_w3fdif.o
OBJS-$(CONFIG_YADIF_FILTER) += vf_yadif.o OBJS-$(CONFIG_YADIF_FILTER) += vf_yadif.o
OBJS-$(CONFIG_ZMQ_FILTER) += f_zmq.o OBJS-$(CONFIG_ZMQ_FILTER) += f_zmq.o
......
...@@ -198,6 +198,7 @@ void avfilter_register_all(void) ...@@ -198,6 +198,7 @@ void avfilter_register_all(void)
REGISTER_FILTER(VIDSTABDETECT, vidstabdetect, vf); REGISTER_FILTER(VIDSTABDETECT, vidstabdetect, vf);
REGISTER_FILTER(VIDSTABTRANSFORM, vidstabtransform, vf); REGISTER_FILTER(VIDSTABTRANSFORM, vidstabtransform, vf);
REGISTER_FILTER(VIGNETTE, vignette, vf); REGISTER_FILTER(VIGNETTE, vignette, vf);
REGISTER_FILTER(W3FDIF, w3fdif, vf);
REGISTER_FILTER(YADIF, yadif, vf); REGISTER_FILTER(YADIF, yadif, vf);
REGISTER_FILTER(ZMQ, zmq, vf); REGISTER_FILTER(ZMQ, zmq, vf);
......
...@@ -30,8 +30,8 @@ ...@@ -30,8 +30,8 @@
#include "libavutil/avutil.h" #include "libavutil/avutil.h"
#define LIBAVFILTER_VERSION_MAJOR 3 #define LIBAVFILTER_VERSION_MAJOR 3
#define LIBAVFILTER_VERSION_MINOR 83 #define LIBAVFILTER_VERSION_MINOR 84
#define LIBAVFILTER_VERSION_MICRO 104 #define LIBAVFILTER_VERSION_MICRO 100
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \ #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
LIBAVFILTER_VERSION_MINOR, \ LIBAVFILTER_VERSION_MINOR, \
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment