Originally committed as revision 82 to svn://svn.ffmpeg.org/ffmpeg/trunk
i386/idct_mmx.o
endif
+# armv4l specific stuff
+ifeq ($(TARGET_ARCH_ARMV4L),yes)
+ASM_OBJS += armv4l/jrevdct_arm.o
+OBJS += armv4l/dsputil_arm.o
+endif
+
SRCS = $(OBJS:.o=.c) $(ASM_OBJS:.o=.s)
LIB= libavcodec.a
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<
+%.o: %.S
+ $(CC) $(CFLAGS) -c -o $@ $<
+
%.o: %.s
nasm -f elf -o $@ $<
clean:
rm -f *.o *~ *.a i386/*.o i386/*~ \
+ armv4l/*.o armv4l/*~ \
libac3/*.o libac3/*~ \
mpglib/*.o mpglib/*~ \
apiexample $(TESTS)
#ifdef HAVE_MMX
dsputil_init_mmx();
#endif
+#ifdef ARCH_ARMV4L
+ dsputil_init_armv4l();
+#endif
}
#define DSPUTIL_H
#include "common.h"
-#include <inttypes.h>
/* dct code */
typedef short DCTELEM;
void block_permute(INT16 *block);
-#ifdef HAVE_MMX
+#if defined(HAVE_MMX)
#define MM_MMX 0x0001 /* standard MMX */
#define MM_3DNOW 0x0004 /* AMD 3DNOW */
void dsputil_init_mmx(void);
+#elif defined(ARCH_ARMV4L)
+
+#define emms_c()
+
+/* This is to use 4 bytes read to the IDCT pointers for some 'zero'
+ line ptimizations */
+#define __align8 __attribute__ ((aligned (4)))
+
+void dsputil_init_armv4l(void);
+
#else
#define emms_c()