[x264-devel] commit: Disable Altivec and VIS optimizations when --disable-asm is specified ( David Conrad )
git version control
git at videolan.org
Sat Feb 27 01:16:53 CET 2010
x264 | branch: master | David Conrad <lessen42 at gmail.com> | Wed Feb 24 19:39:57 2010 -0500| [6a443d3cdf338408b1b39e7f336306d2a34703f6] | committer: Jason Garrett-Glaser
Disable Altivec and VIS optimizations when --disable-asm is specified
> http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=6a443d3cdf338408b1b39e7f336306d2a34703f6
---
Makefile | 2 ++
common/dct.c | 6 +++---
common/frame.c | 4 ++--
common/mc.c | 2 +-
common/pixel.c | 2 +-
common/predict.c | 4 ++--
common/quant.c | 2 +-
configure | 21 ++++++++++++---------
8 files changed, 24 insertions(+), 19 deletions(-)
diff --git a/Makefile b/Makefile
index 3ac975d..c0927fc 100644
--- a/Makefile
+++ b/Makefile
@@ -75,10 +75,12 @@ endif
# AltiVec optims
ifeq ($(ARCH),PPC)
+ifneq ($(AS),)
SRCS += common/ppc/mc.c common/ppc/pixel.c common/ppc/dct.c \
common/ppc/quant.c common/ppc/deblock.c \
common/ppc/predict.c
endif
+endif
# NEON optims
ifeq ($(ARCH),ARM)
diff --git a/common/dct.c b/common/dct.c
index 55f78a5..07af94f 100644
--- a/common/dct.c
+++ b/common/dct.c
@@ -491,7 +491,7 @@ void x264_dct_init( int cpu, x264_dct_function_t *dctf )
#endif //HAVE_MMX
-#ifdef ARCH_PPC
+#ifdef HAVE_ALTIVEC
if( cpu&X264_CPU_ALTIVEC )
{
dctf->sub4x4_dct = x264_sub4x4_dct_altivec;
@@ -742,7 +742,7 @@ void x264_zigzag_init( int cpu, x264_zigzag_function_t *pf, int b_interlaced )
}
#endif
-#ifdef ARCH_PPC
+#ifdef HAVE_ALTIVEC
if( cpu&X264_CPU_ALTIVEC )
pf->scan_4x4 = x264_zigzag_scan_4x4_field_altivec;
#endif
@@ -771,7 +771,7 @@ void x264_zigzag_init( int cpu, x264_zigzag_function_t *pf, int b_interlaced )
}
#endif
-#ifdef ARCH_PPC
+#ifdef HAVE_ALTIVEC
if( cpu&X264_CPU_ALTIVEC )
pf->scan_4x4 = x264_zigzag_scan_4x4_frame_altivec;
#endif
diff --git a/common/frame.c b/common/frame.c
index 29a1041..3fe91f4 100644
--- a/common/frame.c
+++ b/common/frame.c
@@ -913,13 +913,13 @@ void x264_deblock_init( int cpu, x264_deblock_function_t *pf )
}
#endif
-#ifdef ARCH_PPC
+#ifdef HAVE_ALTIVEC
if( cpu&X264_CPU_ALTIVEC )
{
pf->deblock_v_luma = x264_deblock_v_luma_altivec;
pf->deblock_h_luma = x264_deblock_h_luma_altivec;
}
-#endif // ARCH_PPC
+#endif // HAVE_ALTIVEC
#ifdef HAVE_ARMV6
if( cpu&X264_CPU_NEON )
diff --git a/common/mc.c b/common/mc.c
index d062af3..ac41e9b 100644
--- a/common/mc.c
+++ b/common/mc.c
@@ -502,7 +502,7 @@ void x264_mc_init( int cpu, x264_mc_functions_t *pf )
#ifdef HAVE_MMX
x264_mc_init_mmx( cpu, pf );
#endif
-#ifdef ARCH_PPC
+#ifdef HAVE_ALTIVEC
if( cpu&X264_CPU_ALTIVEC )
x264_mc_altivec_init( pf );
#endif
diff --git a/common/pixel.c b/common/pixel.c
index 7c60237..02c490f 100644
--- a/common/pixel.c
+++ b/common/pixel.c
@@ -862,7 +862,7 @@ void x264_pixel_init( int cpu, x264_pixel_function_t *pixf )
}
}
#endif
-#ifdef ARCH_PPC
+#ifdef HAVE_ALTIVEC
if( cpu&X264_CPU_ALTIVEC )
{
x264_pixel_altivec_init( pixf );
diff --git a/common/predict.c b/common/predict.c
index 0718c81..e83cfc9 100644
--- a/common/predict.c
+++ b/common/predict.c
@@ -754,7 +754,7 @@ void x264_predict_16x16_init( int cpu, x264_predict_t pf[7] )
x264_predict_16x16_init_mmx( cpu, pf );
#endif
-#ifdef ARCH_PPC
+#ifdef HAVE_ALTIVEC
if( cpu&X264_CPU_ALTIVEC )
{
x264_predict_16x16_init_altivec( pf );
@@ -780,7 +780,7 @@ void x264_predict_8x8c_init( int cpu, x264_predict_t pf[7] )
x264_predict_8x8c_init_mmx( cpu, pf );
#endif
-#ifdef ARCH_PPC
+#ifdef HAVE_ALTIVEC
if( cpu&X264_CPU_ALTIVEC )
{
x264_predict_8x8c_init_altivec( pf );
diff --git a/common/quant.c b/common/quant.c
index 7434a3d..b0d1afb 100644
--- a/common/quant.c
+++ b/common/quant.c
@@ -380,7 +380,7 @@ void x264_quant_init( x264_t *h, int cpu, x264_quant_function_t *pf )
}
#endif // HAVE_MMX
-#ifdef ARCH_PPC
+#ifdef HAVE_ALTIVEC
if( cpu&X264_CPU_ALTIVEC ) {
pf->quant_2x2_dc = x264_quant_2x2_dc_altivec;
pf->quant_4x4_dc = x264_quant_4x4_dc_altivec;
diff --git a/configure b/configure
index d0ff43a..8ed83ab 100755
--- a/configure
+++ b/configure
@@ -12,7 +12,7 @@ echo " --disable-lavf-input disables libavformat input"
echo " --disable-ffms-input disables ffmpegsource input"
echo " --disable-mp4-output disables mp4 output (using gpac)"
echo " --disable-pthread disables multithreaded encoding"
-echo " --disable-asm disables assembly optimizations on x86 and arm"
+echo " --disable-asm disables platform-specific assembly optimizations"
echo " --enable-debug adds -g, doesn't strip"
echo " --enable-gprof adds -pg, doesn't strip"
echo " --enable-visualize enables visualization (X11 only)"
@@ -348,20 +348,23 @@ case $host_cpu in
;;
powerpc|powerpc64)
ARCH="PPC"
- if [ $SYS = MACOSX ]
- then
- CFLAGS="$CFLAGS -faltivec -fastf -mcpu=G4"
- else
- CFLAGS="$CFLAGS -maltivec -mabi=altivec"
- define HAVE_ALTIVEC_H
+ if [ $asm = yes ] ; then
+ define HAVE_ALTIVEC
+ AS="${AS-${cross_prefix}gcc}"
+ if [ $SYS = MACOSX ] ; then
+ CFLAGS="$CFLAGS -faltivec -fastf -mcpu=G4"
+ else
+ CFLAGS="$CFLAGS -maltivec -mabi=altivec"
+ define HAVE_ALTIVEC_H
+ fi
fi
;;
sparc)
- if test "$(uname -m)" = "sun4u"; then
+ if [ $asm = yes ] && test "$(uname -m)" = "sun4u"; then
ARCH="UltraSparc"
CFLAGS="$CFLAGS -mcpu=ultrasparc"
LDFLAGS="$LDFLAGS -mcpu=ultrasparc"
- AS="${cross_prefix}as"
+ AS="${AS-${cross_prefix}as}"
ASFLAGS="$ASFLAGS -xarch=v8plusa"
else
ARCH="Sparc"
More information about the x264-devel
mailing list