summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Morrison <ja2morri@csclub.uwaterloo.ca>2004-04-24 15:16:23 +0000
committerMichael Niedermayer <michaelni@gmx.at>2004-04-24 15:16:23 +0000
commitbb476ff36743d7b2bf61a2c8b5741d050e25adbc (patch)
tree2cbe0667cf53351badbf9e99646d9c3885878df1
parentaab9cdcff89b63eefd581758809a56895ba8d903 (diff)
vis detection patch by (James Morrison <ja2morri at csclub dot uwaterloo dot ca>)
Originally committed as revision 3057 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rwxr-xr-xconfigure10
-rw-r--r--libavcodec/Makefile8
-rw-r--r--libavcodec/common.h4
-rw-r--r--libavformat/Makefile4
4 files changed, 21 insertions, 5 deletions
diff --git a/configure b/configure
index d301f3053f..b53b15c2c4 100755
--- a/configure
+++ b/configure
@@ -115,9 +115,12 @@ case "$cpu" in
mips)
cpu="mips"
;;
- sun4u)
+ sun4u|sparc64)
cpu="sparc64"
;;
+ sparc)
+ cpu="sparc"
+ ;;
sh4)
cpu="sh4"
;;
@@ -1026,6 +1029,11 @@ elif test "$cpu" = "alpha" ; then
elif test "$cpu" = "sparc64" ; then
echo "TARGET_ARCH_SPARC64=yes" >> config.mak
echo "#define ARCH_SPARC64 1" >> $TMPH
+ echo "TARGET_ARCH_SPARC=yes" >> config.mak
+ echo "#define ARCH_SPARC 1" >> $TMPH
+elif test "$cpu" = "sparc" ; then
+ echo "TARGET_ARCH_SPARC=yes" >> config.mak
+ echo "#define ARCH_SPARC 1" >> $TMPH
elif test "$cpu" = "powerpc" ; then
echo "TARGET_ARCH_POWERPC=yes" >> config.mak
echo "#define ARCH_POWERPC 1" >> $TMPH
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 1e246fa8f2..e3a2429ec7 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -161,12 +161,15 @@ ifeq ($(TARGET_ARCH_SH4),yes)
OBJS+= sh4/idct_sh4.o sh4/dsputil_sh4.o sh4/dsputil_align.o
endif
-ifeq ($(TARGET_ARCH_SPARC64),yes)
+ifeq ($(TARGET_ARCH_SPARC),yes)
OBJS+=sparc/dsputil_vis.o
+sparc/%.o: sparc/%.c
+ $(CC) -mcpu=ultrasparc -mtune=ultrasparc $(CFLAGS) -c -o $@ $<
+endif
+ifeq ($(TARGET_ARCH_SPARC64),yes)
CFLAGS+= -mcpu=ultrasparc -mtune=ultrasparc
endif
-
SRCS := $(OBJS:.o=.c) $(ASM_OBJS:.o=.S)
OBJS := $(OBJS) $(ASM_OBJS)
@@ -220,6 +223,7 @@ clean: $(CLEANAMR)
ppc/*.o ppc/*~ \
ps2/*.o ps2/*~ \
sh4/*.o sh4/*~ \
+ sparc/*.o sparc/*~ \
liba52/*.o liba52/*~ \
apiexample $(TESTS)
$(MAKE) -C libpostproc clean
diff --git a/libavcodec/common.h b/libavcodec/common.h
index d488d327bd..203579ac5e 100644
--- a/libavcodec/common.h
+++ b/libavcodec/common.h
@@ -372,7 +372,7 @@ typedef struct RL_VLC_ELEM {
uint8_t run;
} RL_VLC_ELEM;
-#ifdef ARCH_SPARC64
+#ifdef ARCH_SPARC
#define UNALIGNED_STORES_ARE_BAD
#endif
@@ -423,7 +423,7 @@ static inline void put_bits(PutBitContext *s, int n, unsigned int value)
bit_buf<<=bit_left;
bit_buf |= value >> (n - bit_left);
#ifdef UNALIGNED_STORES_ARE_BAD
- if (3 & (int) s->buf_ptr) {
+ if (3 & (intptr_t) s->buf_ptr) {
s->buf_ptr[0] = bit_buf >> 24;
s->buf_ptr[1] = bit_buf >> 16;
s->buf_ptr[2] = bit_buf >> 8;
diff --git a/libavformat/Makefile b/libavformat/Makefile
index b986afa240..46a01feeab 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -70,6 +70,10 @@ ifeq ($(CONFIG_VORBIS),yes)
OBJS+= ogg.o
endif
+ifeq ($(TARGET_ARCH_SPARC64),yes)
+CFLAGS+= -mcpu=ultrasparc -mtune=ultrasparc
+endif
+
LIB= $(LIBPREF)avformat$(LIBSUF)
ifeq ($(BUILD_SHARED),yes)
SLIB= $(SLIBPREF)avformat$(SLIBSUF)