diff options
author | wm4 <wm4@nowhere> | 2015-01-21 22:08:24 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-01-21 22:08:24 +0100 |
commit | a1ed13869c1586897c323ebf65cfd3975092ffad (patch) | |
tree | da92c9384cc192111ca54784713c4e9307dc9cef /video/filter/vf_scale.c | |
parent | 2a691d1ede42e8466f1f880c390659d1f0145e94 (diff) | |
download | mpv-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.c | 20 |
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) |