Commit 3dd4b6ea authored by Paul B Mahol's avatar Paul B Mahol

lavfi: port phase filter from libmpcodecs

Signed-off-by: 's avatarPaul B Mahol <onemda@gmail.com>
parent f4e9c768
...@@ -16,6 +16,7 @@ version <next> ...@@ -16,6 +16,7 @@ version <next>
- incomplete Voxware MetaSound decoder - incomplete Voxware MetaSound decoder
- read EXIF metadata from JPEG - read EXIF metadata from JPEG
- DVB teletext decoder - DVB teletext decoder
- phase filter ported from libmpcodecs
version 2.0: version 2.0:
......
...@@ -40,6 +40,7 @@ Specifically, the GPL parts of FFmpeg are ...@@ -40,6 +40,7 @@ Specifically, the GPL parts of FFmpeg are
- vf_noise.c - vf_noise.c
- vf_owdenoise.c - vf_owdenoise.c
- vf_perspective.c - vf_perspective.c
- vf_phase.c
- vf_pp.c - vf_pp.c
- vf_sab.c - vf_sab.c
- vf_smartblur.c - vf_smartblur.c
......
...@@ -2220,6 +2220,7 @@ resample_filter_deps="avresample" ...@@ -2220,6 +2220,7 @@ resample_filter_deps="avresample"
ocv_filter_deps="libopencv" ocv_filter_deps="libopencv"
owdenoise_filter_deps="gpl" owdenoise_filter_deps="gpl"
pan_filter_deps="swresample" pan_filter_deps="swresample"
phase_filter_deps="gpl"
pp_filter_deps="gpl postproc" pp_filter_deps="gpl postproc"
removelogo_filter_deps="avcodec avformat swscale" removelogo_filter_deps="avcodec avformat swscale"
sab_filter_deps="gpl swscale" sab_filter_deps="gpl swscale"
......
...@@ -5854,6 +5854,67 @@ It accepts the following values: ...@@ -5854,6 +5854,67 @@ It accepts the following values:
Default value is @samp{linear}. Default value is @samp{linear}.
@end table @end table
@section phase
Delay interlaced video by one field time so that the field order changes.
The intended use is to fix PAL movies that have been captured with the
opposite field order to the film-to-video transfer.
A description of the accepted parameters follows.
@table @option
@item mode
Set phase mode.
It accepts the following values:
@table @samp
@item t
Capture field order top-first, transfer bottom-first.
Filter will delay the bottom field.
@item b
Capture field order bottom-first, transfer top-first.
Filter will delay the top field.
@item p
Capture and transfer with the same field order. This mode only exists
for the documentation of the other options to refer to, but if you
actually select it, the filter will faithfully do nothing.
@item a
Capture field order determined automatically by field flags, transfer
opposite.
Filter selects among @samp{t} and @samp{b} modes on a frame by frame
basis using field flags. If no field information is available,
then this works just like @samp{u}.
@item u
Capture unknown or varying, transfer opposite.
Filter selects among @samp{t} and @samp{b} on a frame by frame basis by
analyzing the images and selecting the alternative that produces best
match between the fields.
@item T
Capture top-first, transfer unknown or varying.
Filter selects among @samp{t} and @samp{p} using image analysis.
@item B
Capture bottom-first, transfer unknown or varying.
Filter selects among @samp{b} and @samp{p} using image analysis.
@item A
Capture determined by field flags, transfer unknown or varying.
Filter selects among @samp{t}, @samp{b} and @samp{p} using field flags and
image analysis. If no field information is available, then this works just
like @samp{U}. This is the default mode.
@item U
Both capture and transfer unknown or varying.
Filter selects among @samp{t}, @samp{b} and @samp{p} using image analysis only.
@end table
@end table
@section pixdesctest @section pixdesctest
Pixel format descriptor test filter, mainly useful for internal Pixel format descriptor test filter, mainly useful for internal
......
...@@ -168,6 +168,7 @@ OBJS-$(CONFIG_OWDENOISE_FILTER) += vf_owdenoise.o ...@@ -168,6 +168,7 @@ OBJS-$(CONFIG_OWDENOISE_FILTER) += vf_owdenoise.o
OBJS-$(CONFIG_PAD_FILTER) += vf_pad.o OBJS-$(CONFIG_PAD_FILTER) += vf_pad.o
OBJS-$(CONFIG_PERMS_FILTER) += f_perms.o OBJS-$(CONFIG_PERMS_FILTER) += f_perms.o
OBJS-$(CONFIG_PERSPECTIVE_FILTER) += vf_perspective.o OBJS-$(CONFIG_PERSPECTIVE_FILTER) += vf_perspective.o
OBJS-$(CONFIG_PHASE_FILTER) += vf_phase.o
OBJS-$(CONFIG_PIXDESCTEST_FILTER) += vf_pixdesctest.o OBJS-$(CONFIG_PIXDESCTEST_FILTER) += vf_pixdesctest.o
OBJS-$(CONFIG_PP_FILTER) += vf_pp.o OBJS-$(CONFIG_PP_FILTER) += vf_pp.o
OBJS-$(CONFIG_PSNR_FILTER) += vf_psnr.o dualinput.o OBJS-$(CONFIG_PSNR_FILTER) += vf_psnr.o dualinput.o
......
...@@ -163,6 +163,7 @@ void avfilter_register_all(void) ...@@ -163,6 +163,7 @@ void avfilter_register_all(void)
REGISTER_FILTER(PAD, pad, vf); REGISTER_FILTER(PAD, pad, vf);
REGISTER_FILTER(PERMS, perms, vf); REGISTER_FILTER(PERMS, perms, vf);
REGISTER_FILTER(PERSPECTIVE, perspective, vf); REGISTER_FILTER(PERSPECTIVE, perspective, vf);
REGISTER_FILTER(PHASE, phase, vf);
REGISTER_FILTER(PIXDESCTEST, pixdesctest, vf); REGISTER_FILTER(PIXDESCTEST, pixdesctest, vf);
REGISTER_FILTER(PP, pp, vf); REGISTER_FILTER(PP, pp, vf);
REGISTER_FILTER(PSNR, psnr, vf); REGISTER_FILTER(PSNR, psnr, 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 82 #define LIBAVFILTER_VERSION_MINOR 83
#define LIBAVFILTER_VERSION_MICRO 102 #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