summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DOCS/man/vf.rst150
-rwxr-xr-xold-configure3
-rw-r--r--old-makefile1
-rw-r--r--video/filter/vf.c4
-rw-r--r--video/filter/vf_pp.c153
-rw-r--r--wscript4
-rw-r--r--wscript_build.py1
7 files changed, 0 insertions, 316 deletions
diff --git a/DOCS/man/vf.rst b/DOCS/man/vf.rst
index 6e7418c0c3..94ca07d96e 100644
--- a/DOCS/man/vf.rst
+++ b/DOCS/man/vf.rst
@@ -231,156 +231,6 @@ Available filters are:
``<fmt>``
Format name, e.g. rgb15, bgr24, 420p, etc. (default: 420p).
-``pp=[filter string]``
- Enables the specified chain of post-processing subfilters. Subfilters must
- be separated by '/' and can be disabled by prepending a '-'. Each
- subfilter and some options have a short and a long name that can be used
- interchangeably, i.e. ``dr``/``dering`` are the same.
-
- .. note::
-
- Unlike in MPlayer or in earlier versions, you must quote the pp string
- if it contains ``:`` characters, e.g. ``'--vf=pp=[...]'``.
-
- .. admonition:: Warning
-
- This filter is most likely useless on modern HD video. It might be
- helpful with old low-resolution files.
-
- All subfilters share common options to determine their scope:
-
- ``a/autoq``
- Automatically switch the subfilter off if the CPU is too slow.
- ``c/chrom``
- Do chrominance filtering, too (default).
- ``y/nochrom``
- Do luminance filtering only (no chrominance).
- ``n/noluma``
- Do chrominance filtering only (no luminance).
-
- .. note::
-
- ``--vf=pp:help`` shows a list of available subfilters.
-
- Available subfilters are:
-
- ``hb/hdeblock[:difference[:flatness]]``
- horizontal deblocking filter
-
- :<difference>: Difference factor where higher values mean more
- deblocking (default: 32).
- :<flatness>: Flatness threshold where lower values mean more
- deblocking (default: 39).
-
- ``vb/vdeblock[:difference[:flatness]]``
- vertical deblocking filter
-
- :<difference>: Difference factor where higher values mean more
- deblocking (default: 32).
- :<flatness>: Flatness threshold where lower values mean more
- deblocking (default: 39).
-
- ``ha/hadeblock[:difference[:flatness]]``
- accurate horizontal deblocking filter
-
- :<difference>: Difference factor where higher values mean more
- deblocking (default: 32).
- :<flatness>: Flatness threshold where lower values mean more
- deblocking (default: 39).
-
- ``va/vadeblock[:difference[:flatness]]``
- accurate vertical deblocking filter
-
- :<difference>: Difference factor where higher values mean more
- deblocking (default: 32).
- :<flatness>: Flatness threshold where lower values mean more
- deblocking (default: 39).
-
- The horizontal and vertical deblocking filters share the difference and
- flatness values so you cannot set different horizontal and vertical
- thresholds.
-
- ``h1/x1hdeblock``
- experimental horizontal deblocking filter
-
- ``v1/x1vdeblock``
- experimental vertical deblocking filter
-
- ``dr/dering``
- deringing filter
-
- ``tn/tmpnoise[:threshold1[:threshold2[:threshold3]]]``
- temporal noise reducer
-
- :<threshold1>: larger -> stronger filtering
- :<threshold2>: larger -> stronger filtering
- :<threshold3>: larger -> stronger filtering
-
- ``al/autolevels[:f/fullyrange]``
- automatic brightness / contrast correction
-
- :f/fullyrange: Stretch luminance to (0-255).
-
- ``lb/linblenddeint``
- Linear blend deinterlacing filter that deinterlaces the given block by
- filtering all lines with a (1 2 1) filter.
-
- ``li/linipoldeint``
- Linear interpolating deinterlacing filter that deinterlaces the given
- block by linearly interpolating every second line.
-
- ``ci/cubicipoldeint``
- Cubic interpolating deinterlacing filter deinterlaces the given block
- by cubically interpolating every second line.
-
- ``md/mediandeint``
- Median deinterlacing filter that deinterlaces the given block by
- applying a median filter to every second line.
-
- ``fd/ffmpegdeint``
- FFmpeg deinterlacing filter that deinterlaces the given block by
- filtering every second line with a (-1 4 2 4 -1) filter.
-
- ``l5/lowpass5``
- Vertically applied FIR low-pass deinterlacing filter that deinterlaces
- the given block by filtering all lines with a (-1 2 6 2 -1) filter.
-
- ``fq/forceQuant[:quantizer]``
- Overrides the quantizer table from the input with the constant
- quantizer you specify.
-
- :<quantizer>: quantizer to use
-
- ``de/default``
- default pp filter combination (hb:a,vb:a,dr:a)
-
- ``fa/fast``
- fast pp filter combination (h1:a,v1:a,dr:a)
-
- ``ac``
- high quality pp filter combination (ha:a:128:7,va:a,dr:a)
-
- .. note::
-
- This filter is only available if FFmpeg/Libav has been compiled
- with libpostproc enabled.
-
- .. admonition:: Examples
-
- ``--vf=pp=hb/vb/dr/al``
- horizontal and vertical deblocking, deringing and automatic
- brightness/contrast
-
- ``--vf=pp=de/-al``
- default filters without brightness/contrast correction
-
- ``--vf=pp=[default/tmpnoise:1:2:3]``
- Enable default filters & temporal denoiser.
-
- ``--vf=pp=[hb:y/vb:a]``
- Horizontal deblocking on luminance only, and switch vertical
- deblocking on or off automatically depending on available CPU time.
-
``lavfi=graph[:sws-flags[:o=opts]]``
Filter video using FFmpeg's libavfilter.
diff --git a/old-configure b/old-configure
index 5fbbd6c5d4..91f83da2f9 100755
--- a/old-configure
+++ b/old-configure
@@ -179,7 +179,6 @@ options_state_machine() {
opt_yes_no _dvdnav "libdvdnav"
opt_yes_no _enca "ENCA charset oracle library"
opt_yes_no _libass "subtitle rendering with libass"
- opt_yes_no _libpostproc "postprocess filter (vf_pp)"
opt_yes_no _libavdevice "libavdevice demuxers"
opt_yes_no _libavfilter "libavfilter"
opt_yes_no _jpeg "support for writing JPEG screenshots"
@@ -837,8 +836,6 @@ check_pkg_config "libavfilter" $_libavfilter LIBAVFILTER 'libavfilter >= 3.90.10
check_pkg_config "libavdevice" $_libavdevice LIBAVDEVICE 'libavdevice >= 54.0.0'
-check_pkg_config "libpostproc" $_libpostproc LIBPOSTPROC 'libpostproc >= 52.0.0'
-
check_trivial "TV interface" $_tv TV
check_statement_libs "Video 4 Linux 2 TV interface" $_tv_v4l2 TV_V4L2 \
diff --git a/old-makefile b/old-makefile
index 764df273a7..69db63983e 100644
--- a/old-makefile
+++ b/old-makefile
@@ -42,7 +42,6 @@ SOURCES-$(LIBASS) += sub/ass_mp.c sub/sd_ass.c \
SOURCES-$(LIBBLURAY) += stream/stream_bluray.c
SOURCES-$(LIBBS2B) += audio/filter/af_bs2b.c
-SOURCES-$(LIBPOSTPROC) += video/filter/vf_pp.c
SOURCES-$(LIBSMBCLIENT) += stream/stream_smb.c
SOURCES-$(MPG123) += audio/decode/ad_mpg123.c
diff --git a/video/filter/vf.c b/video/filter/vf.c
index bf3f73c0e6..d3441febf1 100644
--- a/video/filter/vf.c
+++ b/video/filter/vf.c
@@ -43,7 +43,6 @@
extern const vf_info_t vf_info_crop;
extern const vf_info_t vf_info_expand;
-extern const vf_info_t vf_info_pp;
extern const vf_info_t vf_info_scale;
extern const vf_info_t vf_info_format;
extern const vf_info_t vf_info_noformat;
@@ -86,9 +85,6 @@ static const vf_info_t *const filter_list[] = {
&vf_info_rotate,
&vf_info_mirror,
-#if HAVE_LIBPOSTPROC
- &vf_info_pp,
-#endif
#if HAVE_LIBAVFILTER
&vf_info_lavfi,
#endif
diff --git a/video/filter/vf_pp.c b/video/filter/vf_pp.c
deleted file mode 100644
index 4acce1c272..0000000000
--- a/video/filter/vf_pp.c
+++ /dev/null
@@ -1,153 +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 <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <inttypes.h>
-#include <errno.h>
-#include <assert.h>
-#include <libpostproc/postprocess.h>
-
-#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"
-
-struct vf_priv_s {
- int pp;
- pp_mode *ppMode[PP_QUALITY_MAX+1];
- void *context;
- char *arg;
-};
-
-//===========================================================================//
-
-static int config(struct vf_instance *vf,
- int width, int height, int d_width, int d_height,
- unsigned int voflags, unsigned int outfmt){
- int flags= PP_CPU_CAPS_AUTO;
- switch(outfmt){
- case IMGFMT_444P: flags|= PP_FORMAT_444; break;
- case IMGFMT_422P: flags|= PP_FORMAT_422; break;
- case IMGFMT_411P: flags|= PP_FORMAT_411; break;
- default: flags|= PP_FORMAT_420; break;
- }
-
- if(vf->priv->context) pp_free_context(vf->priv->context);
- vf->priv->context= pp_get_context(width, height, flags);
-
- return vf_next_config(vf,width,height,d_width,d_height,voflags,outfmt);
-}
-
-static void uninit(struct vf_instance *vf){
- int i;
- for(i=0; i<=PP_QUALITY_MAX; i++){
- if(vf->priv->ppMode[i])
- pp_free_mode(vf->priv->ppMode[i]);
- }
- if(vf->priv->context) pp_free_context(vf->priv->context);
-}
-
-static int query_format(struct vf_instance *vf, unsigned int fmt){
- switch(fmt){
- case IMGFMT_444P:
- case IMGFMT_422P:
- case IMGFMT_420P:
- case IMGFMT_411P: ;
- return vf_next_query_format(vf,fmt);
- }
- return 0;
-}
-
-static struct mp_image *filter(struct vf_instance *vf, struct mp_image *mpi)
-{
- // pass-through if pp disabled
- if (!vf->priv->pp)
- return mpi;
-
- bool non_local = vf->priv->pp & 0xFFFF;
-
- struct mp_image *dmpi = mpi;
- if (!mp_image_is_writeable(mpi) || non_local) {
- dmpi = vf_alloc_out_image(vf);
- if (!dmpi)
- return NULL;
- mp_image_copy_attributes(dmpi, mpi);
- }
-
- // apparently this is required
- assert(mpi->stride[0] >= ((mpi->w+7)&(~7)));
-
- // do the postprocessing! (or copy if no DR)
- pp_postprocess((const uint8_t **)mpi->planes, mpi->stride,
- dmpi->planes,dmpi->stride,
- (mpi->w+7)&(~7),mpi->h,
- mpi->qscale, mpi->qstride,
- vf->priv->ppMode[ vf->priv->pp ], vf->priv->context,
- mpi->pict_type | (mpi->qscale_type ? PP_PICT_TYPE_QP2 : 0));
-
- if (dmpi != mpi)
- talloc_free(mpi);
- return dmpi;
-}
-
-static int vf_open(vf_instance_t *vf){
- int i;
-
- vf->query_format=query_format;
- vf->config=config;
- vf->filter=filter;
- vf->uninit=uninit;
-
- for(i=0; i<=PP_QUALITY_MAX; i++){
- vf->priv->ppMode[i]= pp_get_mode_by_name_and_quality(vf->priv->arg, i);
- if(vf->priv->ppMode[i]==NULL) return -1;
- }
-
- vf->priv->pp=PP_QUALITY_MAX;
- return 1;
-}
-
-static void print_help(struct mp_log *log)
-{
- mp_info(log, "%s", pp_help);
- mp_info(log,
- "Don't forget to quote the filter list, e.g.: '--vf=pp=[tn:64:128:256]'\n\n");
-}
-
-#define OPT_BASE_STRUCT struct vf_priv_s
-const vf_info_t vf_info_pp = {
- .description = "postprocessing",
- .name = "pp",
- .open = vf_open,
- .print_help = print_help,
- .priv_size = sizeof(struct vf_priv_s),
- .priv_defaults = &(const struct vf_priv_s){
- .arg = "de",
- },
- .options = (const struct m_option[]){
- OPT_STRING("filters", arg, 0),
- {0}
- },
-};
-
-//===========================================================================//
diff --git a/wscript b/wscript
index 08ce901f51..d789f5cbc9 100644
--- a/wscript
+++ b/wscript
@@ -425,10 +425,6 @@ Libav libraries ({0}). Aborting.".format(" ".join(libav_pkg_config_checks))
'desc': 'libavdevice',
'func': check_pkg_config('libavdevice', '>= 54.0.0'),
}, {
- 'name': '--libpostproc',
- 'desc': 'libpostproc',
- 'func': check_pkg_config('libpostproc', '>= 52.2.100'),
- }, {
'name': 'avcodec-metadata-update-side-data',
'desc': 'libavcodec AV_PKT_DATA_METADATA_UPDATE side data type',
'func': check_statement('libavcodec/avcodec.h',
diff --git a/wscript_build.py b/wscript_build.py
index 428c626f2b..4d775c5079 100644
--- a/wscript_build.py
+++ b/wscript_build.py
@@ -312,7 +312,6 @@ def build(ctx):
( "video/filter/vf_noformat.c" ),
( "video/filter/vf_noise.c" ),
( "video/filter/vf_phase.c" ),
- ( "video/filter/vf_pp.c", "libpostproc" ),
( "video/filter/vf_pullup.c" ),
( "video/filter/vf_rotate.c" ),
( "video/filter/vf_scale.c" ),