summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-09-11 23:47:00 +0200
committerwm4 <wm4@nowhere>2015-09-11 23:47:00 +0200
commit702090869122a42622623a94d0d43e9cf10d91db (patch)
tree0aa85e5124a82fa03cfd58441d99e994bb3ec57b /video
parent876e93d8b76cff7e9e941b77ccf06d91e9c7785b (diff)
downloadmpv-702090869122a42622623a94d0d43e9cf10d91db.tar.bz2
mpv-702090869122a42622623a94d0d43e9cf10d91db.tar.xz
video/filter: remove some vf_lavfi wrappers
I see no point in keeping these around. Keeping wrappers for some select libavfilter filters just because MPlayer had these filters is not a good reason. Ultimately, all real filtering work should go to libavfilter, and users should get used to using vf_lavfi directly. We might even not require the awful double-nested syntax for using libavfilter one day. vf_rotate, vf_yadif, vf_stereo3d are kept because mpv uses them internally. (They all extend the lavfi filters or change their defaults.) vf_mirror is kept for symmetry with vf_flip. vf_gradfun and vf_pullup are probably semi-popular, so I'll remove them not yet - only after some more discussion.
Diffstat (limited to 'video')
-rw-r--r--video/filter/vf.c8
-rw-r--r--video/filter/vf_delogo.c76
-rw-r--r--video/filter/vf_hqdn3d.c64
-rw-r--r--video/filter/vf_noise.c71
-rw-r--r--video/filter/vf_unsharp.c85
5 files changed, 0 insertions, 304 deletions
diff --git a/video/filter/vf.c b/video/filter/vf.c
index 6a28b55059..6ad484c7ff 100644
--- a/video/filter/vf.c
+++ b/video/filter/vf.c
@@ -46,14 +46,10 @@ extern const vf_info_t vf_info_noformat;
extern const vf_info_t vf_info_flip;
extern const vf_info_t vf_info_rotate;
extern const vf_info_t vf_info_mirror;
-extern const vf_info_t vf_info_noise;
extern const vf_info_t vf_info_eq;
extern const vf_info_t vf_info_gradfun;
-extern const vf_info_t vf_info_unsharp;
-extern const vf_info_t vf_info_hqdn3d;
extern const vf_info_t vf_info_dsize;
extern const vf_info_t vf_info_pullup;
-extern const vf_info_t vf_info_delogo;
extern const vf_info_t vf_info_sub;
extern const vf_info_t vf_info_yadif;
extern const vf_info_t vf_info_stereo3d;
@@ -79,12 +75,8 @@ static const vf_info_t *const filter_list[] = {
&vf_info_mirror,
&vf_info_lavfi,
&vf_info_rotate,
- &vf_info_noise,
&vf_info_gradfun,
- &vf_info_unsharp,
- &vf_info_hqdn3d,
&vf_info_pullup,
- &vf_info_delogo,
&vf_info_yadif,
&vf_info_stereo3d,
#endif
diff --git a/video/filter/vf_delogo.c b/video/filter/vf_delogo.c
deleted file mode 100644
index 899a972764..0000000000
--- a/video/filter/vf_delogo.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2002 Jindrich Makovicka <makovick@gmail.com>
- *
- * This file is part of mpv.
- *
- * mpv is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * mpv is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with mpv. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <stdlib.h>
-
-#include "common/msg.h"
-#include "vf.h"
-#include "vf_lavfi.h"
-
-#include "options/m_option.h"
-
-static struct vf_priv_s {
- int xoff, yoff, lw, lh, band, show;
- struct vf_lw_opts *lw_opts;
-} const vf_priv_dflt = {
- .band = 1,
-};
-
-static int vf_open(vf_instance_t *vf){
- struct vf_priv_s *p = vf->priv;
-
- int band = p->band;
- int show = p->show;
- if (band < 0) {
- band = 4;
- show = 1;
- }
- if (vf_lw_set_graph(vf, p->lw_opts, "delogo", "%d:%d:%d:%d:%d:%d",
- p->xoff, p->yoff, p->lw, p->lh, band, show) >= 0)
- {
- return 1;
- }
-
- MP_FATAL(vf, "This version of libavfilter has no 'delogo' filter.\n");
- return 0;
-}
-
-#define OPT_BASE_STRUCT struct vf_priv_s
-static const m_option_t vf_opts_fields[] = {
- OPT_INT("x", xoff, 0),
- OPT_INT("y", yoff, 0),
- OPT_INT("w", lw, 0),
- OPT_INT("h", lh, 0),
- OPT_INT("t", band, 0),
- OPT_INT("band", band, 0), // alias
- OPT_FLAG("show", show, 0),
- OPT_SUBSTRUCT("", lw_opts, vf_lw_conf, 0),
- {0}
-};
-
-const vf_info_t vf_info_delogo = {
- .description = "simple logo remover",
- .name = "delogo",
- .open = vf_open,
- .priv_size = sizeof(struct vf_priv_s),
- .priv_defaults = &vf_priv_dflt,
- .options = vf_opts_fields,
-};
-
-//===========================================================================//
diff --git a/video/filter/vf_hqdn3d.c b/video/filter/vf_hqdn3d.c
deleted file mode 100644
index e29e98bafd..0000000000
--- a/video/filter/vf_hqdn3d.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2003 Daniel Moreno <comac@comac.darktech.org>
- *
- * This file is part of mpv.
- *
- * mpv is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * mpv is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with mpv. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <stdlib.h>
-
-#include "common/msg.h"
-#include "options/m_option.h"
-#include "vf.h"
-
-#include "vf_lavfi.h"
-
-struct vf_priv_s {
- double strength[4];
- struct vf_lw_opts *lw_opts;
-};
-
-static int vf_open(vf_instance_t *vf)
-{
- struct vf_priv_s *s = vf->priv;
-
- if (vf_lw_set_graph(vf, s->lw_opts, "hqdn3d", "%f:%f:%f:%f",
- s->strength[0], s->strength[1],
- s->strength[2], s->strength[3]) >= 0)
- {
- return 1;
- }
-
- MP_FATAL(vf, "This version of libavfilter has no 'hqdn3' filter.\n");
- return 0;
-}
-
-#define OPT_BASE_STRUCT struct vf_priv_s
-const vf_info_t vf_info_hqdn3d = {
- .description = "High Quality 3D Denoiser",
- .name = "hqdn3d",
- .open = vf_open,
- .priv_size = sizeof(struct vf_priv_s),
- .options = (const struct m_option[]){
- OPT_DOUBLE("luma_spatial", strength[0], 0),
- OPT_DOUBLE("chroma_spatial", strength[1], 0),
- OPT_DOUBLE("luma_tmp", strength[2], 0),
- OPT_DOUBLE("chroma_tmp", strength[3], 0),
- OPT_SUBSTRUCT("", lw_opts, vf_lw_conf, 0),
- {0}
- },
-};
-
-//===========================================================================//
diff --git a/video/filter/vf_noise.c b/video/filter/vf_noise.c
deleted file mode 100644
index 7945878a0d..0000000000
--- a/video/filter/vf_noise.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2002 Michael Niedermayer <michaelni@gmx.at>
- *
- * This file is part of mpv.
- *
- * mpv is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * mpv is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with mpv. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "config.h"
-#include "common/msg.h"
-#include "options/m_option.h"
-
-#include "vf.h"
-
-#include "vf_lavfi.h"
-
-struct vf_priv_s {
- int strength;
- int averaged;
- int pattern;
- int temporal;
- int uniform;
- struct vf_lw_opts *lw_opts;
-};
-
-static int vf_open(vf_instance_t *vf){
-#define CH(f) ((f) ? '+' : '-')
- struct vf_priv_s *p = vf->priv;
- if (vf_lw_set_graph(vf, p->lw_opts, "noise", "-1:%d:%ca%cp%ct%cu",
- p->strength, CH(p->averaged), CH(p->pattern),
- CH(p->temporal), CH(p->uniform)) >= 0)
- {
- return 1;
- }
-
- MP_FATAL(vf, "This version of libavfilter has no 'noise' filter.\n");
- return 0;
-}
-
-#define OPT_BASE_STRUCT struct vf_priv_s
-const vf_info_t vf_info_noise = {
- .description = "noise generator",
- .name = "noise",
- .open = vf_open,
- .priv_size = sizeof(struct vf_priv_s),
- .options = (const struct m_option[]){
- OPT_INTRANGE("strength", strength, 0, 0, 100, OPTDEF_INT(2)),
- OPT_FLAG("averaged", averaged, 0),
- OPT_FLAG("pattern", pattern, 0),
- OPT_FLAG("temporal", temporal, 0),
- OPT_FLAG("uniform", uniform, 0),
- OPT_SUBSTRUCT("", lw_opts, vf_lw_conf, 0),
- {0}
- },
-};
-
-//===========================================================================//
diff --git a/video/filter/vf_unsharp.c b/video/filter/vf_unsharp.c
deleted file mode 100644
index dfee945afd..0000000000
--- a/video/filter/vf_unsharp.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (C) 2002 Remi Guyomarch <rguyom@pobox.com>
- *
- * This file is part of mpv.
- *
- * mpv is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * mpv is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with mpv. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <stdlib.h>
-
-#include "common/msg.h"
-#include "options/m_option.h"
-
-#include "vf.h"
-
-#include "vf_lavfi.h"
-
-typedef struct FilterParam {
- int msizeX, msizeY;
- double amount;
-} FilterParam;
-
-struct vf_priv_s {
- FilterParam lumaParam;
- FilterParam chromaParam;
- struct vf_lw_opts *lw_opts;
-};
-
-static int vf_open(vf_instance_t *vf)
-{
- struct vf_priv_s *p = vf->priv;
-
- p->lumaParam.msizeX |= 1;
- p->lumaParam.msizeY |= 1;
- p->chromaParam.msizeX |= 1;
- p->chromaParam.msizeY |= 1;
-
- if (vf_lw_set_graph(vf, p->lw_opts, "unsharp", "%d:%d:%f:%d:%d:%f",
- p->lumaParam.msizeX, p->lumaParam.msizeY, p->lumaParam.amount,
- p->chromaParam.msizeX, p->chromaParam.msizeY, p->chromaParam.amount)
- >= 0)
- {
- return 1;
- }
-
- MP_FATAL(vf, "This version of libavfilter has no 'unsharp' filter.\n");
- return 0;
-}
-
-// same as MIN_/MAX_MATRIX_SIZE
-#define MIN_SIZE 3
-#define MAX_SIZE 63
-
-#define OPT_BASE_STRUCT struct vf_priv_s
-const vf_info_t vf_info_unsharp = {
- .description = "unsharp mask & gaussian blur",
- .name = "unsharp",
- .open = vf_open,
- .priv_size = sizeof(struct vf_priv_s),
- .priv_defaults = &(const struct vf_priv_s){
- .lumaParam = {5, 5, 1.0},
- .chromaParam = {5, 5, 0.0},
- },
- .options = (const struct m_option[]){
- OPT_INTRANGE("lx", lumaParam.msizeX, 0, MIN_SIZE, MAX_SIZE),
- OPT_INTRANGE("ly", lumaParam.msizeY, 0, MIN_SIZE, MAX_SIZE),
- OPT_DOUBLE("la", lumaParam.amount, CONF_RANGE, .min = -2, .max = 6),
- OPT_INTRANGE("cx", chromaParam.msizeX, 0, MIN_SIZE, MAX_SIZE),
- OPT_INTRANGE("cy", chromaParam.msizeY, 0, MIN_SIZE, MAX_SIZE),
- OPT_DOUBLE("ca", chromaParam.amount, CONF_RANGE, .min = -2, .max = 6),
- OPT_SUBSTRUCT("", lw_opts, vf_lw_conf, 0),
- {0}
- },
-};