mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
swscale: x86: Hide arch-specific initialization details
Also give consistent names to init functions.
This commit is contained in:
parent
a64f6a04ac
commit
a519583991
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -772,8 +772,8 @@ SwsFunc ff_getSwsFunc(SwsContext *c)
|
|||||||
{
|
{
|
||||||
sws_init_swScale_c(c);
|
sws_init_swScale_c(c);
|
||||||
|
|
||||||
if (HAVE_MMX)
|
if (ARCH_X86)
|
||||||
ff_sws_init_swScale_mmx(c);
|
ff_sws_init_swscale_x86(c);
|
||||||
if (HAVE_ALTIVEC)
|
if (HAVE_ALTIVEC)
|
||||||
ff_sws_init_swScale_altivec(c);
|
ff_sws_init_swScale_altivec(c);
|
||||||
|
|
||||||
|
@ -570,7 +570,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);
|
||||||
@ -754,6 +754,6 @@ 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);
|
||||||
|
|
||||||
#endif /* SWSCALE_SWSCALE_INTERNAL_H */
|
#endif /* SWSCALE_SWSCALE_INTERNAL_H */
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
OBJS-$(CONFIG_XMM_CLOBBER_TEST) += x86/w64xmmtest.o
|
OBJS += x86/rgb2rgb.o \
|
||||||
|
|
||||||
MMX-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 \
|
||||||
|
@ -302,18 +302,18 @@ 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);
|
||||||
#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) { \
|
||||||
|
@ -1555,7 +1555,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;
|
||||||
|
|
||||||
|
@ -69,9 +69,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 (c->srcFormat != AV_PIX_FMT_YUV420P &&
|
if (c->srcFormat != AV_PIX_FMT_YUV420P &&
|
||||||
@ -111,7 +111,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;
|
||||||
}
|
}
|
||||||
|
@ -560,8 +560,8 @@ SwsFunc ff_yuv2rgb_get_func_ptr(SwsContext *c)
|
|||||||
{
|
{
|
||||||
SwsFunc t = NULL;
|
SwsFunc t = NULL;
|
||||||
|
|
||||||
if (HAVE_MMX)
|
if (ARCH_X86)
|
||||||
t = ff_yuv2rgb_init_mmx(c);
|
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)
|
||||||
|
Loading…
Reference in New Issue
Block a user