* commit 'a519583991c38d38503ab08357716513facc5725': swscale: x86: Hide arch-specific initialization details Conflicts: libswscale/x86/Makefile libswscale/x86/swscale.c Merged-by: Michael Niedermayer <michaelni@gmx.at>tags/n2.1
| @@ -129,7 +129,7 @@ void (*yuyvtoyuv422)(uint8_t *ydst, uint8_t *udst, uint8_t *vdst, | |||||
| av_cold void sws_rgb2rgb_init(void) | av_cold void sws_rgb2rgb_init(void) | ||||
| { | { | ||||
| rgb2rgb_init_c(); | rgb2rgb_init_c(); | ||||
| if (HAVE_MMX) | |||||
| if (ARCH_X86) | |||||
| rgb2rgb_init_x86(); | rgb2rgb_init_x86(); | ||||
| } | } | ||||
| @@ -759,8 +759,8 @@ SwsFunc ff_getSwsFunc(SwsContext *c) | |||||
| { | { | ||||
| sws_init_swScale_c(c); | sws_init_swScale_c(c); | ||||
| if (HAVE_MMX) | |||||
| ff_sws_init_swScale_mmx(c); | |||||
| if (ARCH_X86) | |||||
| ff_sws_init_swscale_x86(c); | |||||
| if (HAVE_ALTIVEC) | if (HAVE_ALTIVEC) | ||||
| ff_sws_init_swScale_altivec(c); | ff_sws_init_swScale_altivec(c); | ||||
| @@ -616,7 +616,7 @@ void ff_yuv2rgb_init_tables_altivec(SwsContext *c, const int inv_table[4], | |||||
| void updateMMXDitherTables(SwsContext *c, int dstY, int lumBufIndex, int chrBufIndex, | void updateMMXDitherTables(SwsContext *c, int dstY, int lumBufIndex, int chrBufIndex, | ||||
| int lastInLumBuf, int lastInChrBuf); | int lastInLumBuf, int lastInChrBuf); | ||||
| SwsFunc ff_yuv2rgb_init_mmx(SwsContext *c); | |||||
| SwsFunc ff_yuv2rgb_init_x86(SwsContext *c); | |||||
| SwsFunc ff_yuv2rgb_init_vis(SwsContext *c); | SwsFunc ff_yuv2rgb_init_vis(SwsContext *c); | ||||
| SwsFunc ff_yuv2rgb_init_altivec(SwsContext *c); | SwsFunc ff_yuv2rgb_init_altivec(SwsContext *c); | ||||
| SwsFunc ff_yuv2rgb_get_func_ptr_bfin(SwsContext *c); | SwsFunc ff_yuv2rgb_get_func_ptr_bfin(SwsContext *c); | ||||
| @@ -851,7 +851,7 @@ void ff_sws_init_output_funcs(SwsContext *c, | |||||
| yuv2packedX_fn *yuv2packedX, | yuv2packedX_fn *yuv2packedX, | ||||
| yuv2anyX_fn *yuv2anyX); | yuv2anyX_fn *yuv2anyX); | ||||
| void ff_sws_init_swScale_altivec(SwsContext *c); | void ff_sws_init_swScale_altivec(SwsContext *c); | ||||
| void ff_sws_init_swScale_mmx(SwsContext *c); | |||||
| void ff_sws_init_swscale_x86(SwsContext *c); | |||||
| static inline void fillPlane16(uint8_t *plane, int stride, int width, int height, int y, | static inline void fillPlane16(uint8_t *plane, int stride, int width, int height, int y, | ||||
| int alpha, int bits, const int big_endian) | int alpha, int bits, const int big_endian) | ||||
| @@ -1,11 +1,11 @@ | |||||
| $(SUBDIR)x86/swscale_mmx.o: CFLAGS += $(NOREDZONE_FLAGS) | $(SUBDIR)x86/swscale_mmx.o: CFLAGS += $(NOREDZONE_FLAGS) | ||||
| OBJS-$(CONFIG_XMM_CLOBBER_TEST) += x86/w64xmmtest.o | |||||
| MMX-OBJS += x86/rgb2rgb.o \ | |||||
| OBJS += x86/rgb2rgb.o \ | |||||
| x86/swscale.o \ | x86/swscale.o \ | ||||
| x86/yuv2rgb.o \ | x86/yuv2rgb.o \ | ||||
| OBJS-$(CONFIG_XMM_CLOBBER_TEST) += x86/w64xmmtest.o | |||||
| YASM-OBJS += x86/input.o \ | YASM-OBJS += x86/input.o \ | ||||
| x86/output.o \ | x86/output.o \ | ||||
| x86/scale.o \ | x86/scale.o \ | ||||
| @@ -377,22 +377,22 @@ INPUT_FUNCS(sse2); | |||||
| INPUT_FUNCS(ssse3); | INPUT_FUNCS(ssse3); | ||||
| INPUT_FUNCS(avx); | INPUT_FUNCS(avx); | ||||
| av_cold void ff_sws_init_swScale_mmx(SwsContext *c) | |||||
| av_cold void ff_sws_init_swscale_x86(SwsContext *c) | |||||
| { | { | ||||
| int cpu_flags = av_get_cpu_flags(); | int cpu_flags = av_get_cpu_flags(); | ||||
| #if HAVE_INLINE_ASM | |||||
| #if HAVE_MMX_INLINE | |||||
| if (cpu_flags & AV_CPU_FLAG_MMX) | if (cpu_flags & AV_CPU_FLAG_MMX) | ||||
| sws_init_swScale_MMX(c); | |||||
| sws_init_swscale_MMX(c); | |||||
| #endif | |||||
| #if HAVE_MMXEXT_INLINE | #if HAVE_MMXEXT_INLINE | ||||
| if (cpu_flags & AV_CPU_FLAG_MMXEXT) | if (cpu_flags & AV_CPU_FLAG_MMXEXT) | ||||
| sws_init_swScale_MMXEXT(c); | |||||
| sws_init_swscale_MMXEXT(c); | |||||
| if (cpu_flags & AV_CPU_FLAG_SSE3){ | if (cpu_flags & AV_CPU_FLAG_SSE3){ | ||||
| if(c->use_mmx_vfilter && !(c->flags & SWS_ACCURATE_RND)) | if(c->use_mmx_vfilter && !(c->flags & SWS_ACCURATE_RND)) | ||||
| c->yuv2planeX = yuv2yuvX_sse3; | c->yuv2planeX = yuv2yuvX_sse3; | ||||
| } | } | ||||
| #endif | #endif | ||||
| #endif /* HAVE_INLINE_ASM */ | |||||
| #define ASSIGN_SCALE_FUNC2(hscalefn, filtersize, opt1, opt2) do { \ | #define ASSIGN_SCALE_FUNC2(hscalefn, filtersize, opt1, opt2) do { \ | ||||
| if (c->srcBpc == 8) { \ | if (c->srcBpc == 8) { \ | ||||
| @@ -1640,7 +1640,7 @@ static void RENAME(hcscale_fast)(SwsContext *c, int16_t *dst1, int16_t *dst2, | |||||
| } | } | ||||
| #endif /* COMPILE_TEMPLATE_MMXEXT */ | #endif /* COMPILE_TEMPLATE_MMXEXT */ | ||||
| static av_cold void RENAME(sws_init_swScale)(SwsContext *c) | |||||
| static av_cold void RENAME(sws_init_swscale)(SwsContext *c) | |||||
| { | { | ||||
| enum AVPixelFormat dstFormat = c->dstFormat; | enum AVPixelFormat dstFormat = c->dstFormat; | ||||
| @@ -68,9 +68,9 @@ DECLARE_ASM_CONST(8, uint64_t, pb_07) = 0x0707070707070707ULL; | |||||
| #endif /* HAVE_INLINE_ASM */ | #endif /* HAVE_INLINE_ASM */ | ||||
| av_cold SwsFunc ff_yuv2rgb_init_mmx(SwsContext *c) | |||||
| av_cold SwsFunc ff_yuv2rgb_init_x86(SwsContext *c) | |||||
| { | { | ||||
| #if HAVE_INLINE_ASM | |||||
| #if HAVE_MMX_INLINE | |||||
| int cpu_flags = av_get_cpu_flags(); | int cpu_flags = av_get_cpu_flags(); | ||||
| #if HAVE_MMXEXT_INLINE | #if HAVE_MMXEXT_INLINE | ||||
| @@ -106,7 +106,7 @@ av_cold SwsFunc ff_yuv2rgb_init_mmx(SwsContext *c) | |||||
| case AV_PIX_FMT_RGB555: return yuv420_rgb15_MMX; | case AV_PIX_FMT_RGB555: return yuv420_rgb15_MMX; | ||||
| } | } | ||||
| } | } | ||||
| #endif /* HAVE_INLINE_ASM */ | |||||
| #endif /* HAVE_MMX_INLINE */ | |||||
| return NULL; | return NULL; | ||||
| } | } | ||||
| @@ -601,8 +601,8 @@ SwsFunc ff_yuv2rgb_get_func_ptr(SwsContext *c) | |||||
| { | { | ||||
| SwsFunc t = NULL; | SwsFunc t = NULL; | ||||
| if (HAVE_MMX) | |||||
| t = ff_yuv2rgb_init_mmx(c); | |||||
| if (ARCH_X86) | |||||
| t = ff_yuv2rgb_init_x86(c); | |||||
| else if (HAVE_VIS) | else if (HAVE_VIS) | ||||
| t = ff_yuv2rgb_init_vis(c); | t = ff_yuv2rgb_init_vis(c); | ||||
| else if (HAVE_ALTIVEC) | else if (HAVE_ALTIVEC) | ||||