[Ffmpeg-cvslog] CVS: ffmpeg/libavcodec avcodec.h, 1.399, 1.400 bswap.h, 1.9, 1.10 Makefile, 1.192, 1.193

Michael Niedermayer CVS michael
Thu May 26 16:32:49 CEST 2005


Update of /cvsroot/ffmpeg/ffmpeg/libavcodec
In directory mail:/var2/tmp/cvs-serv18989/libavcodec

Modified Files:
	avcodec.h bswap.h Makefile 
Log Message:
Better ARM support for mplayer/ffmpeg, ported from atty fork
while playing with some new hardware, I found it's running a forked mplayer
 -- and it looks like they're following the GPL.

 The maintainer's page is here: http://atty.jp/?Zaurus/mplayer
 Unfortunately it's mostly in Japanese, so it's hard to figure out any
  details.

  Their code looks quite interesting (at least to those of us w/ ARM CPUs).

  The patches I've attached are the patches from atty.jp with a couple of
  modifications by myself:
  - ported to current CVS
  - reverted their change of removing SNOW support from ffmpeg
  - cleaned up their bswap mess
  - removed DOS-style linebreaks from various files

patch by (Bernhard Rosenkraenzer: bero, arklinux org)


Index: avcodec.h
===================================================================
RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/avcodec.h,v
retrieving revision 1.399
retrieving revision 1.400
diff -u -d -r1.399 -r1.400
--- avcodec.h	22 May 2005 23:39:11 -0000	1.399
+++ avcodec.h	26 May 2005 14:32:46 -0000	1.400
@@ -1180,6 +1180,7 @@
 #define FF_IDCT_SIMPLEARM    10
 #define FF_IDCT_H264         11
 #define FF_IDCT_VP3          12
+#define FP_IDCT_IPP          13
 
     /**
      * slice count.

Index: bswap.h
===================================================================
RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/bswap.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- bswap.h	10 May 2005 19:54:38 -0000	1.9
+++ bswap.h	26 May 2005 14:32:46 -0000	1.10
@@ -94,10 +94,23 @@
     return (x>>8) | (x<<8);
 }
 
+#ifdef ARCH_ARM
+static always_inline uint32_t bswap_32(uint32_t x){
+    uint32_t t;
+    __asm__ (
+      "eor %1, %0, %0, ror #16 \n\t"
+      "bic %1, %1, #0xFF0000   \n\t"
+      "mov %0, %0, ror #8      \n\t"
+      "eor %0, %0, %1, lsr #8  \n\t"
+      : "+r"(x), "+r"(t));
+    return x;
+}
+#else
 static always_inline uint32_t bswap_32(uint32_t x){
     x= ((x<<8)&0xFF00FF00) | ((x>>8)&0x00FF00FF);
     return (x>>16) | (x<<16);
 }
+#endif
 
 static inline uint64_t bswap_64(uint64_t x)
 {

Index: Makefile
===================================================================
RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/Makefile,v
retrieving revision 1.192
retrieving revision 1.193
diff -u -d -r1.192 -r1.193
--- Makefile	22 May 2005 23:58:57 -0000	1.192
+++ Makefile	26 May 2005 14:32:46 -0000	1.193
@@ -316,8 +316,11 @@
 
 # armv4l specific stuff
 ifeq ($(TARGET_ARCH_ARMV4L),yes)
-ASM_OBJS += armv4l/jrevdct_arm.o armv4l/simple_idct_arm.o
+ASM_OBJS += armv4l/jrevdct_arm.o armv4l/simple_idct_arm.o armv4l/dsputil_arm_s.o
 OBJS += armv4l/dsputil_arm.o armv4l/mpegvideo_arm.o
+ifeq ($(TARGET_IWMMXT),yes)
+OBJS += armv4l/dsputil_iwmmxt.o armv4l/mpegvideo_iwmmxt.o
+endif
 endif
 
 # sun mediaLib specific stuff
@@ -327,6 +330,12 @@
 CFLAGS += $(MLIB_INC)
 endif
 
+# Intel IPP specific stuff
+# currently only works when libavcodec is used in mplayer
+ifeq ($(HAVE_IPP),yes)
+CFLAGS += $(IPP_INC)
+endif
+
 # alpha specific stuff
 ifeq ($(TARGET_ARCH_ALPHA),yes)
 OBJS += alpha/dsputil_alpha.o alpha/mpegvideo_alpha.o \





More information about the ffmpeg-cvslog mailing list