X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavfilter%2Fvf_mp.c;h=112a10230c5181bcf31543bce6d392b328946fa7;hb=b32a6da100a55f35b7dcb9577270b48d2fff4ef9;hp=3be9d50653681935eb9e9096bc2e68af13e2bddf;hpb=159dfd26259dbfc6b221447c24ea14f0a659f6a0;p=ffmpeg diff --git a/libavfilter/vf_mp.c b/libavfilter/vf_mp.c index 3be9d506536..112a10230c5 100644 --- a/libavfilter/vf_mp.c +++ b/libavfilter/vf_mp.c @@ -185,61 +185,6 @@ enum AVPixelFormat ff_mp2ff_pix_fmt(int mp){ return mp == conversion_map[i].fmt ? conversion_map[i].pix_fmt : AV_PIX_FMT_NONE; } -static void ff_sws_getFlagsAndFilterFromCmdLine(int *flags, SwsFilter **srcFilterParam, SwsFilter **dstFilterParam) -{ - static int firstTime=1; - *flags=0; - -#if ARCH_X86 - if(ff_gCpuCaps.hasMMX) - __asm__ volatile("emms\n\t"::: "memory"); //FIXME this should not be required but it IS (even for non-MMX versions) -#endif - if(firstTime) - { - firstTime=0; - *flags= SWS_PRINT_INFO; - } - else if( ff_mp_msg_test(MSGT_VFILTER,MSGL_DBG2) ) *flags= SWS_PRINT_INFO; - - switch(SWS_BILINEAR) - { - case 0: *flags|= SWS_FAST_BILINEAR; break; - case 1: *flags|= SWS_BILINEAR; break; - case 2: *flags|= SWS_BICUBIC; break; - case 3: *flags|= SWS_X; break; - case 4: *flags|= SWS_POINT; break; - case 5: *flags|= SWS_AREA; break; - case 6: *flags|= SWS_BICUBLIN; break; - case 7: *flags|= SWS_GAUSS; break; - case 8: *flags|= SWS_SINC; break; - case 9: *flags|= SWS_LANCZOS; break; - case 10:*flags|= SWS_SPLINE; break; - default:*flags|= SWS_BILINEAR; break; - } - - *srcFilterParam= NULL; - *dstFilterParam= NULL; -} - -//exact copy from vf_scale.c -// will use sws_flags & src_filter (from cmd line) -struct SwsContext *ff_sws_getContextFromCmdLine(int srcW, int srcH, int srcFormat, int dstW, int dstH, int dstFormat) -{ - int flags, i; - SwsFilter *dstFilterParam, *srcFilterParam; - enum AVPixelFormat dfmt, sfmt; - - for(i=0; conversion_map[i].fmt && dstFormat != conversion_map[i].fmt; i++); - dfmt= conversion_map[i].pix_fmt; - for(i=0; conversion_map[i].fmt && srcFormat != conversion_map[i].fmt; i++); - sfmt= conversion_map[i].pix_fmt; - - if (srcFormat == IMGFMT_RGB8 || srcFormat == IMGFMT_BGR8) sfmt = AV_PIX_FMT_PAL8; - ff_sws_getFlagsAndFilterFromCmdLine(&flags, &srcFilterParam, &dstFilterParam); - - return sws_getContext(srcW, srcH, sfmt, dstW, dstH, dfmt, flags , srcFilterParam, dstFilterParam, NULL); -} - typedef struct { const AVClass *class; vf_instance_t vf;