summaryrefslogtreecommitdiffstats
path: root/video/filter/vf_scale.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-01-21 22:08:24 +0100
committerwm4 <wm4@nowhere>2015-01-21 22:08:24 +0100
commita1ed13869c1586897c323ebf65cfd3975092ffad (patch)
treeda92c9384cc192111ca54784713c4e9307dc9cef /video/filter/vf_scale.c
parent2a691d1ede42e8466f1f880c390659d1f0145e94 (diff)
downloadmpv-a1ed13869c1586897c323ebf65cfd3975092ffad.tar.bz2
mpv-a1ed13869c1586897c323ebf65cfd3975092ffad.tar.xz
video: remove vfcap.h
And remove all uses of the VFCAP_CSP_SUPPORTED* constants. This is supposed to reduce conversions if many filters are used (with many incompatible pixel formats), and also for preferring the VO's natively supported pixel formats (as opposed to conversion). This is worthless by now. Not only do the main VOs not use software conversion, but also the way vf_lavfi and libavfilter work mostly break the way the old MPlayer mechanism worked. Other important filters like vf_vapoursynth do not support "proper" format negotation either. Part of this was already removed with the vf_scale cleanup from today. While I'm touching every single VO, also fix the query_format argument (it's not a FourCC anymore).
Diffstat (limited to 'video/filter/vf_scale.c')
-rw-r--r--video/filter/vf_scale.c20
1 files changed, 3 insertions, 17 deletions
diff --git a/video/filter/vf_scale.c b/video/filter/vf_scale.c
index d9506f31bc..8b513d6dcc 100644
--- a/video/filter/vf_scale.c
+++ b/video/filter/vf_scale.c
@@ -220,25 +220,11 @@ static int control(struct vf_instance *vf, int request, void *data)
return CONTROL_UNKNOWN;
}
-//===========================================================================//
-
static int query_format(struct vf_instance *vf, unsigned int fmt)
{
- if (!IMGFMT_IS_HWACCEL(fmt) && imgfmt2pixfmt(fmt) != AV_PIX_FMT_NONE) {
- if (sws_isSupportedInput(imgfmt2pixfmt(fmt)) < 1)
- return 0;
- int best = find_best_out(vf, fmt);
- int flags;
- if (!best)
- return 0; // no matching out-fmt
- flags = vf_next_query_format(vf, best);
- if (!(flags & (VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW)))
- return 0;
- if (fmt != best)
- flags &= ~VFCAP_CSP_SUPPORTED_BY_HW;
- return flags;
- }
- return 0; // nomatching in-fmt
+ if (IMGFMT_IS_HWACCEL(fmt) || sws_isSupportedInput(imgfmt2pixfmt(fmt)) < 1)
+ return 0;
+ return !!find_best_out(vf, fmt);
}
static void uninit(struct vf_instance *vf)