vf_buffer: remove this filter

It has been deprecated for a while and is 100% useless. It was forgotten
in the recent filter purge. Get rid of it.
This commit is contained in:
wm4 2017-12-12 14:53:37 +01:00 committed by Jan Ekström
parent 6c8e7daebb
commit 26cdd52801
4 changed files with 0 additions and 94 deletions

View File

@ -556,9 +556,3 @@ Available mpv-only filters are:
which algorithm is actually selected. ``none`` always falls back. On
most if not all hardware, this option will probably do nothing, because
a video processor usually supports all modes or none.
``buffer=<num>``
Buffer ``<num>`` frames in the filter chain. This filter is probably pretty
useless, except for debugging. (Note that this won't help to smooth out
latencies with decoding, because the filter will never output a frame if
the buffer isn't full, except on EOF.)

View File

@ -48,7 +48,6 @@ extern const vf_info_t vf_info_vaapi;
extern const vf_info_t vf_info_vapoursynth;
extern const vf_info_t vf_info_vapoursynth_lazy;
extern const vf_info_t vf_info_vdpaupp;
extern const vf_info_t vf_info_buffer;
extern const vf_info_t vf_info_d3d11vpp;
// list of available filters:
@ -58,7 +57,6 @@ static const vf_info_t *const filter_list[] = {
&vf_info_convert,
&vf_info_lavfi,
&vf_info_lavfi_bridge,
&vf_info_buffer,
#if HAVE_VAPOURSYNTH_CORE && HAVE_VAPOURSYNTH
&vf_info_vapoursynth,
#endif

View File

@ -1,85 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <inttypes.h>
#include "mpv_talloc.h"
#include "options/m_option.h"
#include "video/img_format.h"
#include "video/mp_image.h"
#include "vf.h"
#define MAX_Q 100
struct vf_priv_s {
struct mp_image *queued[MAX_Q];
int num_queued;
int cfg_num;
};
static void flush(struct vf_instance *vf)
{
for (int n = 0; n < vf->priv->num_queued; n++)
mp_image_unrefp(&vf->priv->queued[n]);
vf->priv->num_queued = 0;
}
static int filter_ext(struct vf_instance *vf, struct mp_image *mpi)
{
struct vf_priv_s *p = vf->priv;
if (mpi) {
if (p->num_queued == p->cfg_num) {
vf_add_output_frame(vf, p->queued[p->num_queued - 1]);
p->num_queued--;
}
p->num_queued++;
for (int n = p->num_queued - 1; n > 0; n--)
p->queued[n] = p->queued[n - 1];
p->queued[0] = mpi;
} else {
// EOF
while (p->num_queued) {
vf_add_output_frame(vf, p->queued[p->num_queued - 1]);
p->num_queued--;
}
}
return 0;
}
static int control(vf_instance_t *vf, int request, void *data)
{
if (request == VFCTRL_SEEK_RESET) {
flush(vf);
return CONTROL_OK;
}
return CONTROL_UNKNOWN;
}
static void uninit(vf_instance_t *vf)
{
flush(vf);
}
static int vf_open(vf_instance_t *vf)
{
MP_WARN(vf, "This filter is deprecated. No replacement.\n");
vf->filter_ext = filter_ext;
vf->control = control;
vf->uninit = uninit;
return 1;
}
#define OPT_BASE_STRUCT struct vf_priv_s
const vf_info_t vf_info_buffer = {
.description = "buffer a number of frames",
.name = "buffer",
.open = vf_open,
.priv_size = sizeof(struct vf_priv_s),
.options = (const struct m_option[]){
OPT_INTRANGE("num", cfg_num, 0, 1, MAX_Q, OPTDEF_INT(2)),
{0}
},
};

View File

@ -366,7 +366,6 @@ def build(ctx):
( "video/decode/vd_lavc.c" ),
( "video/filter/refqueue.c" ),
( "video/filter/vf.c" ),
( "video/filter/vf_buffer.c" ),
( "video/filter/vf_convert.c" ),
( "video/filter/vf_d3d11vpp.c", "d3d-hwaccel" ),
( "video/filter/vf_format.c" ),