Mercurial > mplayer.hg
changeset 32489:d5dfda231e76
Make scale filter accept all non-hardware-acceleration input formats we know a
PIX_FMT_* for.
It is possible we will not have a conversion for some of these formats,
but since it will just fail different this approach is better since
it avoids having to expand the explicit list continuously.
author | reimar |
---|---|
date | Wed, 03 Nov 2010 16:42:24 +0000 |
parents | 49722126eba9 |
children | 059cc86b02dc |
files | libmpcodecs/vf_scale.c |
diffstat | 1 files changed, 1 insertions(+), 35 deletions(-) [+] |
line wrap: on
line diff
--- a/libmpcodecs/vf_scale.c Wed Nov 03 16:39:52 2010 +0000 +++ b/libmpcodecs/vf_scale.c Wed Nov 03 16:42:24 2010 +0000 @@ -507,40 +507,7 @@ // supported Input formats: YV12, I420, IYUV, YUY2, UYVY, BGR32, BGR24, BGR16, BGR15, RGB32, RGB24, Y8, Y800 static int query_format(struct vf_instance *vf, unsigned int fmt){ - switch(fmt){ - case IMGFMT_YV12: - case IMGFMT_I420: - case IMGFMT_IYUV: - case IMGFMT_UYVY: - case IMGFMT_YUY2: - case IMGFMT_BGR32: - case IMGFMT_BGR24: - case IMGFMT_BGR16: - case IMGFMT_BGR15: - case IMGFMT_RGB32: - case IMGFMT_RGB24: - case IMGFMT_Y800: - case IMGFMT_Y8: - case IMGFMT_YVU9: - case IMGFMT_IF09: - case IMGFMT_444P: - case IMGFMT_422P: - case IMGFMT_411P: - case IMGFMT_440P: - case IMGFMT_420A: - case IMGFMT_444P16_LE: - case IMGFMT_444P16_BE: - case IMGFMT_422P16_LE: - case IMGFMT_422P16_BE: - case IMGFMT_420P16_LE: - case IMGFMT_420P16_BE: - case IMGFMT_BGR8: - case IMGFMT_RGB8: - case IMGFMT_BG4B: - case IMGFMT_RG4B: - case IMGFMT_RGB48LE: - case IMGFMT_RGB48BE: - { + if (!IMGFMT_IS_HWACCEL(fmt) && imgfmt2pixfmt(fmt) != PIX_FMT_NONE) { unsigned int best=find_best_out(vf, fmt); int flags; if(!best) return 0; // no matching out-fmt @@ -550,7 +517,6 @@ // do not allow scaling, if we are before the PP fliter! if(!(flags&VFCAP_POSTPROC)) flags|=VFCAP_SWSCALE; return flags; - } } return 0; // nomatching in-fmt }