Browse Source

Merge commit 'a519583991c38d38503ab08357716513facc5725'

* 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
Michael Niedermayer 12 years ago
parent
commit
db6b389c7f
8 changed files with 19 additions and 19 deletions
  1. +1
    -1
      libswscale/rgb2rgb.c
  2. +2
    -2
      libswscale/swscale.c
  3. +2
    -2
      libswscale/swscale_internal.h
  4. +3
    -3
      libswscale/x86/Makefile
  5. +5
    -5
      libswscale/x86/swscale.c
  6. +1
    -1
      libswscale/x86/swscale_template.c
  7. +3
    -3
      libswscale/x86/yuv2rgb.c
  8. +2
    -2
      libswscale/yuv2rgb.c

+ 1
- 1
libswscale/rgb2rgb.c View File

@@ -129,7 +129,7 @@ void (*yuyvtoyuv422)(uint8_t *ydst, uint8_t *udst, uint8_t *vdst,
av_cold void sws_rgb2rgb_init(void)
{
rgb2rgb_init_c();
if (HAVE_MMX)
if (ARCH_X86)
rgb2rgb_init_x86();
}



+ 2
- 2
libswscale/swscale.c View File

@@ -759,8 +759,8 @@ SwsFunc ff_getSwsFunc(SwsContext *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)
ff_sws_init_swScale_altivec(c);



+ 2
- 2
libswscale/swscale_internal.h View File

@@ -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,
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_altivec(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,
yuv2anyX_fn *yuv2anyX);
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,
int alpha, int bits, const int big_endian)


+ 3
- 3
libswscale/x86/Makefile View File

@@ -1,11 +1,11 @@
$(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/yuv2rgb.o \

OBJS-$(CONFIG_XMM_CLOBBER_TEST) += x86/w64xmmtest.o

YASM-OBJS += x86/input.o \
x86/output.o \
x86/scale.o \

+ 5
- 5
libswscale/x86/swscale.c View File

@@ -377,22 +377,22 @@ INPUT_FUNCS(sse2);
INPUT_FUNCS(ssse3);
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();

#if HAVE_INLINE_ASM
#if HAVE_MMX_INLINE
if (cpu_flags & AV_CPU_FLAG_MMX)
sws_init_swScale_MMX(c);
sws_init_swscale_MMX(c);
#endif
#if HAVE_MMXEXT_INLINE
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(c->use_mmx_vfilter && !(c->flags & SWS_ACCURATE_RND))
c->yuv2planeX = yuv2yuvX_sse3;
}
#endif
#endif /* HAVE_INLINE_ASM */

#define ASSIGN_SCALE_FUNC2(hscalefn, filtersize, opt1, opt2) do { \
if (c->srcBpc == 8) { \


+ 1
- 1
libswscale/x86/swscale_template.c View File

@@ -1640,7 +1640,7 @@ static void RENAME(hcscale_fast)(SwsContext *c, int16_t *dst1, int16_t *dst2,
}
#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;



+ 3
- 3
libswscale/x86/yuv2rgb.c View File

@@ -68,9 +68,9 @@ DECLARE_ASM_CONST(8, uint64_t, pb_07) = 0x0707070707070707ULL;

#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();

#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;
}
}
#endif /* HAVE_INLINE_ASM */
#endif /* HAVE_MMX_INLINE */

return NULL;
}

+ 2
- 2
libswscale/yuv2rgb.c View File

@@ -601,8 +601,8 @@ SwsFunc ff_yuv2rgb_get_func_ptr(SwsContext *c)
{
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)
t = ff_yuv2rgb_init_vis(c);
else if (HAVE_ALTIVEC)


Loading…
Cancel
Save