From 97f32fdb238aa7e8a38298935ea1f47cf8817adf Mon Sep 17 00:00:00 2001 From: wm4 Date: Tue, 27 Jan 2015 19:06:59 +0100 Subject: vf_phase: remove this filter If you really want it, it's in libavfilter and can be used via vf_lavfi. --- video/filter/vf.c | 2 - video/filter/vf_phase.c | 308 ------------------------------------------------ 2 files changed, 310 deletions(-) delete mode 100644 video/filter/vf_phase.c (limited to 'video/filter') diff --git a/video/filter/vf.c b/video/filter/vf.c index 251616c0c2..14ee694ac1 100644 --- a/video/filter/vf.c +++ b/video/filter/vf.c @@ -58,7 +58,6 @@ extern const vf_info_t vf_info_ilpack; 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_phase; extern const vf_info_t vf_info_divtc; extern const vf_info_t vf_info_screenshot; extern const vf_info_t vf_info_sub; @@ -98,7 +97,6 @@ static const vf_info_t *const filter_list[] = { &vf_info_dsize, &vf_info_pullup, &vf_info_delogo, - &vf_info_phase, &vf_info_divtc, &vf_info_sub, &vf_info_yadif, diff --git a/video/filter/vf_phase.c b/video/filter/vf_phase.c deleted file mode 100644 index 5d2179d92a..0000000000 --- a/video/filter/vf_phase.c +++ /dev/null @@ -1,308 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer 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. - * - * MPlayer 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 MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include -#include -#include -#include - -#include "config.h" -#include "common/msg.h" -#include "options/m_option.h" - -#include "video/img_format.h" -#include "video/mp_image.h" -#include "vf.h" - -#include "video/memcpy_pic.h" - -#include "vf_lavfi.h" - -enum mode { PROGRESSIVE, TOP_FIRST, BOTTOM_FIRST, - TOP_FIRST_ANALYZE, BOTTOM_FIRST_ANALYZE, - ANALYZE, FULL_ANALYZE, AUTO, AUTO_ANALYZE }; - -#define fixed_mode(p) ((p)<=BOTTOM_FIRST) - -struct vf_priv_s - { - int mode; - int verbose; - unsigned char *buf[3]; - struct vf_lw_opts *lw_opts; - }; - -/* - * Copy fields from either current or buffered previous frame to the - * output and store the current frame unmodified to the buffer. - */ - -static void do_plane(unsigned char *to, unsigned char *from, - int w, int h, int ts, int fs, - unsigned char **bufp, enum mode mode) - { - unsigned char *buf, *end; - int top; - - if(!*bufp) - { - mode=PROGRESSIVE; - if(!(*bufp=malloc(h*w))) return; - } - - for(end=to+h*ts, buf=*bufp, top=1; tonum_planes; p++) - pw[p] = ((mpi->w * mpi->fmt.bpp[p] + 7) / 8) >> mpi->fmt.xs[p]; - - mode=vf->priv->mode; - - if(!vf->priv->buf[0]) - mode=PROGRESSIVE; - else - mode=analyze_plane(vf, vf->priv->buf[0], mpi->planes[0], - pw[0], dmpi->h, pw[0], mpi->stride[0], mode, - vf->priv->verbose, mpi->fields); - - for (int p = 0; p < mpi->num_planes; p++) { - do_plane(dmpi->planes[p], mpi->planes[p], pw[p], dmpi->plane_h[p], - dmpi->stride[p], mpi->stride[p], - &vf->priv->buf[p], mode); - } - - talloc_free(mpi); - return dmpi; - } - -static void uninit(struct vf_instance *vf) - { - if (!vf->priv) - return; - free(vf->priv->buf[0]); - free(vf->priv->buf[1]); - free(vf->priv->buf[2]); - } - -static int query_format(struct vf_instance *vf, unsigned int fmt) -{ - if (IMGFMT_IS_HWACCEL(fmt)) - return 0; - struct mp_imgfmt_desc desc = mp_imgfmt_get_desc(fmt); - if (desc.num_planes > 3) - return 0; - return vf_next_query_format(vf, fmt); -} - -static const char *get_lavfi_mode(int mode) -{ - switch (mode) { - case PROGRESSIVE: return "p"; - case TOP_FIRST: return "t"; - case BOTTOM_FIRST: return "b"; - case TOP_FIRST_ANALYZE: return "T"; - case BOTTOM_FIRST_ANALYZE: return "B"; - case ANALYZE: return "u"; - case FULL_ANALYZE: return "U"; - case AUTO: return "a"; - case AUTO_ANALYZE: return "A"; - default: return "?"; - } -} - -static int vf_open(vf_instance_t *vf) - { - vf->filter = filter; - vf->uninit = uninit; - vf->query_format = query_format; - - if (vf_lw_set_graph(vf, vf->priv->lw_opts, "phase", "%s", - get_lavfi_mode(vf->priv->mode)) >= 0) - { - return 1; - } - - return 1; - } - -#define OPT_BASE_STRUCT struct vf_priv_s -const vf_info_t vf_info_phase = -{ - .description = "phase shift fields", - .name = "phase", - .open = vf_open, - .priv_size = sizeof(struct vf_priv_s), - .priv_defaults = &(const struct vf_priv_s){ - .mode = AUTO_ANALYZE, - }, - .options = (const struct m_option[]){ - OPT_CHOICE("mode", mode, 0, - ({"t", TOP_FIRST}, - {"a", AUTO}, - {"b", BOTTOM_FIRST}, - {"u", ANALYZE}, - {"T", TOP_FIRST_ANALYZE}, - {"A", AUTO_ANALYZE}, - {"B", BOTTOM_FIRST_ANALYZE}, - {"U", FULL_ANALYZE}, - {"p", PROGRESSIVE})), - OPT_FLAG("v", verbose, 0), - OPT_SUBSTRUCT("", lw_opts, vf_lw_conf, 0), - {0} - }, -}; -- cgit v1.2.3