From 702090869122a42622623a94d0d43e9cf10d91db Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 11 Sep 2015 23:47:00 +0200 Subject: 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. --- video/filter/vf.c | 8 ----- video/filter/vf_delogo.c | 76 ------------------------------------------ video/filter/vf_hqdn3d.c | 64 ----------------------------------- video/filter/vf_noise.c | 71 --------------------------------------- video/filter/vf_unsharp.c | 85 ----------------------------------------------- 5 files changed, 304 deletions(-) delete mode 100644 video/filter/vf_delogo.c delete mode 100644 video/filter/vf_hqdn3d.c delete mode 100644 video/filter/vf_noise.c delete mode 100644 video/filter/vf_unsharp.c (limited to 'video') 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 - * - * 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 . - */ - -#include - -#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 - * - * 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 . - */ - -#include - -#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 - * - * 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 . - */ - -#include -#include - -#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 - * - * 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 . - */ - -#include - -#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} - }, -}; -- cgit v1.2.3