diff options
-rw-r--r-- | src/libffmpeg/diff_to_ffmpeg_cvs.txt | 933 |
1 files changed, 172 insertions, 761 deletions
diff --git a/src/libffmpeg/diff_to_ffmpeg_cvs.txt b/src/libffmpeg/diff_to_ffmpeg_cvs.txt index f62080f04..348b9a315 100644 --- a/src/libffmpeg/diff_to_ffmpeg_cvs.txt +++ b/src/libffmpeg/diff_to_ffmpeg_cvs.txt @@ -1,8 +1,13 @@ ---- libavcodec/avcodec.h 2003-10-30 07:00:25.000000000 +0100 -+++ libavcodec/avcodec.h 2003-11-01 18:34:59.000000000 +0100 -@@ -14,6 +14,13 @@ - #include "common.h" +Index: avcodec.h +=================================================================== +RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/avcodec.h,v +retrieving revision 1.269 +diff -u -r1.269 avcodec.h +--- avcodec.h 22 Jan 2004 19:48:28 -0000 1.269 ++++ avcodec.h 1 Feb 2004 04:42:16 -0000 +@@ -15,6 +15,13 @@ #include "rational.h" + #include <sys/types.h> /* size_t */ +/* FIXME: We cannot use ffmpeg's XvMC capabilities, since that would require + * linking the ffmpeg plugin against XvMC libraries, which is a bad thing, @@ -13,31 +18,15 @@ + #define FFMPEG_VERSION_INT 0x000408 #define FFMPEG_VERSION "0.4.8" - #define LIBAVCODEC_BUILD 4688 ---- libavcodec/cinepak.c 2003-10-27 16:24:38.000000000 +0100 -+++ libavcodec/cinepak.c 2003-10-28 21:01:06.000000000 +0100 -@@ -37,6 +37,9 @@ - - #define PALETTE_COUNT 256 - -+#undef BE_16 -+#undef BE_32 -+ - #define BE_16(x) ((((uint8_t*)(x))[0] << 8) | ((uint8_t*)(x))[1]) - #define BE_32(x) ((((uint8_t*)(x))[0] << 24) | \ - (((uint8_t*)(x))[1] << 16) | \ ---- libavcodec/common.c 2003-10-27 16:24:38.000000000 +0100 -+++ libavcodec/common.c 2003-10-27 19:42:02.000000000 +0100 -@@ -60,7 +60,7 @@ - #endif - } - --#ifdef CONFIG_ENCODERS -+#if defined(CONFIG_ENCODERS) || defined(XINE_MPEG_ENCODER) - - /* return the number of bits output */ - int64_t get_bit_count(PutBitContext *s) -@@ -101,7 +101,7 @@ + #define LIBAVCODEC_BUILD 4699 +Index: common.c +=================================================================== +RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/common.c,v +retrieving revision 1.48 +diff -u -r1.48 common.c +--- common.c 31 Jan 2004 20:37:46 -0000 1.48 ++++ common.c 1 Feb 2004 04:42:17 -0000 +@@ -102,7 +102,7 @@ #endif } @@ -46,9 +35,14 @@ void put_string(PutBitContext * pbc, char *s) { ---- libavcodec/common.h 2003-11-01 18:43:19.000000000 +0100 -+++ libavcodec/common.h 2003-10-27 19:42:02.000000000 +0100 -@@ -173,7 +173,9 @@ +Index: common.h +=================================================================== +RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/common.h,v +retrieving revision 1.114 +diff -u -r1.114 common.h +--- common.h 26 Jan 2004 19:09:47 -0000 1.114 ++++ common.h 1 Feb 2004 04:42:19 -0000 +@@ -199,7 +199,9 @@ /* debug stuff */ # ifndef DEBUG @@ -58,7 +52,7 @@ # endif # include <assert.h> -@@ -184,11 +186,19 @@ +@@ -210,11 +212,19 @@ # else @@ -83,596 +77,44 @@ # endif /* !CONFIG_WIN32 */ ---- libavcodec/dpcm.c 2003-10-27 16:24:38.000000000 +0100 -+++ libavcodec/dpcm.c 2003-10-28 21:01:51.000000000 +0100 -@@ -44,6 +44,10 @@ - #define SATURATE_S16(x) if (x < -32768) x = -32768; \ - else if (x > 32767) x = 32767; - #define SE_16BIT(x) if (x & 0x8000) x -= 0x10000; -+ -+#undef LE_16 -+#undef LE_32 -+ - #define LE_16(x) ((((uint8_t*)(x))[1] << 8) | ((uint8_t*)(x))[0]) - #define LE_32(x) ((((uint8_t*)(x))[3] << 24) | \ - (((uint8_t*)(x))[2] << 16) | \ ---- libavcodec/dsputil.h 2003-11-01 18:43:19.000000000 +0100 -+++ libavcodec/dsputil.h 2003-10-27 19:42:02.000000000 +0100 -@@ -29,9 +29,14 @@ - +Index: dsputil.h +=================================================================== +RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/dsputil.h,v +retrieving revision 1.86 +diff -u -r1.86 dsputil.h +--- dsputil.h 29 Jan 2004 01:15:25 -0000 1.86 ++++ dsputil.h 1 Feb 2004 04:42:21 -0000 +@@ -31,6 +31,9 @@ #include "common.h" #include "avcodec.h" -+#include "xineutils.h" +#if defined(ARCH_X86) -+#define HAVE_MMX 1 ++#define HAVE_MMX 1 +#endif -+ -+#undef DEBUG --//#define DEBUG + //#define DEBUG /* dct code */ - typedef short DCTELEM; - -@@ -317,21 +322,25 @@ - - #undef emms_c - -+#if 0 - #define MM_MMX 0x0001 /* standard MMX */ - #define MM_3DNOW 0x0004 /* AMD 3DNOW */ - #define MM_MMXEXT 0x0002 /* SSE integer functions or AMD MMX ext */ - #define MM_SSE 0x0008 /* SSE functions */ - #define MM_SSE2 0x0010 /* PIV SSE2 functions */ -+#endif - - extern int mm_flags; - - void add_pixels_clamped_mmx(const DCTELEM *block, uint8_t *pixels, int line_size); - void put_pixels_clamped_mmx(const DCTELEM *block, uint8_t *pixels, int line_size); - -+#if 0 - static inline void emms(void) - { - __asm __volatile ("emms;":::"memory"); - } -+#endif - - - #define emms_c() \ ---- libavcodec/fastmemcpy.h 2003-11-01 18:43:19.000000000 +0100 -+++ libavcodec/fastmemcpy.h 2003-04-16 02:18:37.000000000 +0200 -@@ -1 +1,8 @@ +Index: fastmemcpy.h +=================================================================== +RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/Attic/fastmemcpy.h,v +retrieving revision 1.1 +diff -u -r1.1 fastmemcpy.h +--- fastmemcpy.h 2 Aug 2001 08:29:38 -0000 1.1 ++++ fastmemcpy.h 1 Feb 2004 04:42:21 -0000 +@@ -1 +1,4 @@ -#include "../libvo/fastmemcpy.h" -+#ifndef __FASTMEMCPY_H__ -+#define __FASTMEMCPY_H__ -+ -+#include "xineutils.h" -+ ++#if 0 ++extern void *xine_fast_memcpy(void *to, const void *from, size_t len); +#define memcpy(a,b,c) xine_fast_memcpy(a,b,c) -+ +#endif ---- libavcodec/h263.c 2003-11-16 16:02:21.000000000 +0100 -+++ libavcodec/h263.c 2003-12-06 16:53:35.000000000 +0100 -@@ -5097,7 +5097,7 @@ - /* detect buggy encoders which dont set the low_delay flag (divx4/xvid/opendivx)*/ - // note we cannot detect divx5 without b-frames easyly (allthough its buggy too) - if(s->vo_type==0 && s->vol_control_parameters==0 && s->divx_version==0 && s->picture_number==0){ -- printf("looks like this file was encoded with (divx4/(old)xvid/opendivx) -> forcing low_delay flag\n"); -+ //printf("looks like this file was encoded with (divx4/(old)xvid/opendivx) -> forcing low_delay flag\n"); - s->low_delay=1; - } - ---- libavcodec/i386/cputest.c 2003-11-01 18:43:19.000000000 +0100 -+++ libavcodec/i386/cputest.c 2003-07-02 16:36:41.000000000 +0200 -@@ -1,122 +1,13 @@ --/* Cpu detection code, extracted from mmx.h ((c)1997-99 by H. Dietz -- and R. Fisher). Converted to C and improved by Fabrice Bellard */ -+/* dummy file to use xine mm_support function */ - --#include <stdlib.h> -+#include "xineutils.h" - #include "../dsputil.h" - --/* ebx saving is necessary for PIC. gcc seems unable to see it alone */ --#define cpuid(index,eax,ebx,ecx,edx)\ -- __asm __volatile\ -- ("movl %%ebx, %%esi\n\t"\ -- "cpuid\n\t"\ -- "xchgl %%ebx, %%esi"\ -- : "=a" (eax), "=S" (ebx),\ -- "=c" (ecx), "=d" (edx)\ -- : "0" (index)); - - /* Function to test if multimedia instructions are supported... */ - int mm_support(void) - { -- int rval; -- int eax, ebx, ecx, edx; -- -- __asm__ __volatile__ ( -- /* See if CPUID instruction is supported ... */ -- /* ... Get copies of EFLAGS into eax and ecx */ -- "pushf\n\t" -- "popl %0\n\t" -- "movl %0, %1\n\t" -- -- /* ... Toggle the ID bit in one copy and store */ -- /* to the EFLAGS reg */ -- "xorl $0x200000, %0\n\t" -- "push %0\n\t" -- "popf\n\t" -- -- /* ... Get the (hopefully modified) EFLAGS */ -- "pushf\n\t" -- "popl %0\n\t" -- : "=a" (eax), "=c" (ecx) -- : -- : "cc" -- ); -- -- if (eax == ecx) -- return 0; /* CPUID not supported */ -- -- cpuid(0, eax, ebx, ecx, edx); -- -- if (ebx == 0x756e6547 && -- edx == 0x49656e69 && -- ecx == 0x6c65746e) { -- -- /* intel */ -- inteltest: -- cpuid(1, eax, ebx, ecx, edx); -- if ((edx & 0x00800000) == 0) -- return 0; -- rval = MM_MMX; -- if (edx & 0x02000000) -- rval |= MM_MMXEXT | MM_SSE; -- if (edx & 0x04000000) -- rval |= MM_SSE2; -- return rval; -- } else if (ebx == 0x68747541 && -- edx == 0x69746e65 && -- ecx == 0x444d4163) { -- /* AMD */ -- cpuid(0x80000000, eax, ebx, ecx, edx); -- if ((unsigned)eax < 0x80000001) -- goto inteltest; -- cpuid(0x80000001, eax, ebx, ecx, edx); -- if ((edx & 0x00800000) == 0) -- return 0; -- rval = MM_MMX; -- if (edx & 0x80000000) -- rval |= MM_3DNOW; -- if (edx & 0x00400000) -- rval |= MM_MMXEXT; -- return rval; -- } else if (ebx == 0x746e6543 && -- edx == 0x48727561 && -- ecx == 0x736c7561) { /* "CentaurHauls" */ -- /* VIA C3 */ -- cpuid(0x80000000, eax, ebx, ecx, edx); -- if ((unsigned)eax < 0x80000001) -- goto inteltest; -- cpuid(0x80000001, eax, ebx, ecx, edx); -- rval = 0; -- if( edx & ( 1 << 31) ) -- rval |= MM_3DNOW; -- if( edx & ( 1 << 23) ) -- rval |= MM_MMX; -- if( edx & ( 1 << 24) ) -- rval |= MM_MMXEXT; -- return rval; -- } else if (ebx == 0x69727943 && -- edx == 0x736e4978 && -- ecx == 0x64616574) { -- /* Cyrix Section */ -- /* See if extended CPUID level 80000001 is supported */ -- /* The value of CPUID/80000001 for the 6x86MX is undefined -- according to the Cyrix CPU Detection Guide (Preliminary -- Rev. 1.01 table 1), so we'll check the value of eax for -- CPUID/0 to see if standard CPUID level 2 is supported. -- According to the table, the only CPU which supports level -- 2 is also the only one which supports extended CPUID levels. -- */ -- if (eax != 2) -- goto inteltest; -- cpuid(0x80000001, eax, ebx, ecx, edx); -- if ((eax & 0x00800000) == 0) -- return 0; -- rval = MM_MMX; -- if (eax & 0x01000000) -- rval |= MM_MMXEXT; -- return rval; -- } else { -- return 0; -- } -+ return xine_mm_accel(); - } - - #ifdef __TEST__ ---- libavcodec/i386/fdct_mmx.c 2002-11-11 14:45:36.000000000 +0100 -+++ libavcodec/i386/fdct_mmx.c 2003-10-24 14:04:32.000000000 +0200 -@@ -10,6 +10,7 @@ - #include "../dsputil.h" - #include "mmx.h" - -+#undef ATTR_ALIGN - #define ATTR_ALIGN(align) __attribute__ ((__aligned__ (align))) - - ////////////////////////////////////////////////////////////////////// ---- libavcodec/i386/idct_mmx.c 2002-10-29 17:29:19.000000000 +0100 -+++ libavcodec/i386/idct_mmx.c 2003-10-30 23:21:12.000000000 +0100 -@@ -26,6 +26,7 @@ - - #include "mmx.h" - -+#undef ATTR_ALIGN - #define ATTR_ALIGN(align) __attribute__ ((__aligned__ (align))) - - #define ROW_SHIFT 11 ---- libavcodec/i386/mmx.h 2003-11-01 18:43:19.000000000 +0100 -+++ libavcodec/i386/mmx.h 2003-07-02 16:36:41.000000000 +0200 -@@ -1,243 +1 @@ --/* -- * mmx.h -- * Copyright (C) 1997-2001 H. Dietz and R. Fisher -- */ --#ifndef AVCODEC_I386MMX_H --#define AVCODEC_I386MMX_H -- --/* -- * The type of an value that fits in an MMX register (note that long -- * long constant values MUST be suffixed by LL and unsigned long long -- * values by ULL, lest they be truncated by the compiler) -- */ -- --typedef union { -- long long q; /* Quadword (64-bit) value */ -- unsigned long long uq; /* Unsigned Quadword */ -- int d[2]; /* 2 Doubleword (32-bit) values */ -- unsigned int ud[2]; /* 2 Unsigned Doubleword */ -- short w[4]; /* 4 Word (16-bit) values */ -- unsigned short uw[4]; /* 4 Unsigned Word */ -- char b[8]; /* 8 Byte (8-bit) values */ -- unsigned char ub[8]; /* 8 Unsigned Byte */ -- float s[2]; /* Single-precision (32-bit) value */ --} mmx_t; /* On an 8-byte (64-bit) boundary */ -- -- --#define mmx_i2r(op,imm,reg) \ -- __asm__ __volatile__ (#op " %0, %%" #reg \ -- : /* nothing */ \ -- : "i" (imm) ) -- --#define mmx_m2r(op,mem,reg) \ -- __asm__ __volatile__ (#op " %0, %%" #reg \ -- : /* nothing */ \ -- : "m" (mem)) -- --#define mmx_r2m(op,reg,mem) \ -- __asm__ __volatile__ (#op " %%" #reg ", %0" \ -- : "=m" (mem) \ -- : /* nothing */ ) -- --#define mmx_r2r(op,regs,regd) \ -- __asm__ __volatile__ (#op " %" #regs ", %" #regd) -- -- --#define emms() __asm__ __volatile__ ("emms") -- --#define movd_m2r(var,reg) mmx_m2r (movd, var, reg) --#define movd_r2m(reg,var) mmx_r2m (movd, reg, var) --#define movd_r2r(regs,regd) mmx_r2r (movd, regs, regd) -- --#define movq_m2r(var,reg) mmx_m2r (movq, var, reg) --#define movq_r2m(reg,var) mmx_r2m (movq, reg, var) --#define movq_r2r(regs,regd) mmx_r2r (movq, regs, regd) -- --#define packssdw_m2r(var,reg) mmx_m2r (packssdw, var, reg) --#define packssdw_r2r(regs,regd) mmx_r2r (packssdw, regs, regd) --#define packsswb_m2r(var,reg) mmx_m2r (packsswb, var, reg) --#define packsswb_r2r(regs,regd) mmx_r2r (packsswb, regs, regd) -- --#define packuswb_m2r(var,reg) mmx_m2r (packuswb, var, reg) --#define packuswb_r2r(regs,regd) mmx_r2r (packuswb, regs, regd) -- --#define paddb_m2r(var,reg) mmx_m2r (paddb, var, reg) --#define paddb_r2r(regs,regd) mmx_r2r (paddb, regs, regd) --#define paddd_m2r(var,reg) mmx_m2r (paddd, var, reg) --#define paddd_r2r(regs,regd) mmx_r2r (paddd, regs, regd) --#define paddw_m2r(var,reg) mmx_m2r (paddw, var, reg) --#define paddw_r2r(regs,regd) mmx_r2r (paddw, regs, regd) -- --#define paddsb_m2r(var,reg) mmx_m2r (paddsb, var, reg) --#define paddsb_r2r(regs,regd) mmx_r2r (paddsb, regs, regd) --#define paddsw_m2r(var,reg) mmx_m2r (paddsw, var, reg) --#define paddsw_r2r(regs,regd) mmx_r2r (paddsw, regs, regd) -- --#define paddusb_m2r(var,reg) mmx_m2r (paddusb, var, reg) --#define paddusb_r2r(regs,regd) mmx_r2r (paddusb, regs, regd) --#define paddusw_m2r(var,reg) mmx_m2r (paddusw, var, reg) --#define paddusw_r2r(regs,regd) mmx_r2r (paddusw, regs, regd) -- --#define pand_m2r(var,reg) mmx_m2r (pand, var, reg) --#define pand_r2r(regs,regd) mmx_r2r (pand, regs, regd) -- --#define pandn_m2r(var,reg) mmx_m2r (pandn, var, reg) --#define pandn_r2r(regs,regd) mmx_r2r (pandn, regs, regd) -- --#define pcmpeqb_m2r(var,reg) mmx_m2r (pcmpeqb, var, reg) --#define pcmpeqb_r2r(regs,regd) mmx_r2r (pcmpeqb, regs, regd) --#define pcmpeqd_m2r(var,reg) mmx_m2r (pcmpeqd, var, reg) --#define pcmpeqd_r2r(regs,regd) mmx_r2r (pcmpeqd, regs, regd) --#define pcmpeqw_m2r(var,reg) mmx_m2r (pcmpeqw, var, reg) --#define pcmpeqw_r2r(regs,regd) mmx_r2r (pcmpeqw, regs, regd) -- --#define pcmpgtb_m2r(var,reg) mmx_m2r (pcmpgtb, var, reg) --#define pcmpgtb_r2r(regs,regd) mmx_r2r (pcmpgtb, regs, regd) --#define pcmpgtd_m2r(var,reg) mmx_m2r (pcmpgtd, var, reg) --#define pcmpgtd_r2r(regs,regd) mmx_r2r (pcmpgtd, regs, regd) --#define pcmpgtw_m2r(var,reg) mmx_m2r (pcmpgtw, var, reg) --#define pcmpgtw_r2r(regs,regd) mmx_r2r (pcmpgtw, regs, regd) -- --#define pmaddwd_m2r(var,reg) mmx_m2r (pmaddwd, var, reg) --#define pmaddwd_r2r(regs,regd) mmx_r2r (pmaddwd, regs, regd) -- --#define pmulhw_m2r(var,reg) mmx_m2r (pmulhw, var, reg) --#define pmulhw_r2r(regs,regd) mmx_r2r (pmulhw, regs, regd) -- --#define pmullw_m2r(var,reg) mmx_m2r (pmullw, var, reg) --#define pmullw_r2r(regs,regd) mmx_r2r (pmullw, regs, regd) -- --#define por_m2r(var,reg) mmx_m2r (por, var, reg) --#define por_r2r(regs,regd) mmx_r2r (por, regs, regd) -- --#define pslld_i2r(imm,reg) mmx_i2r (pslld, imm, reg) --#define pslld_m2r(var,reg) mmx_m2r (pslld, var, reg) --#define pslld_r2r(regs,regd) mmx_r2r (pslld, regs, regd) --#define psllq_i2r(imm,reg) mmx_i2r (psllq, imm, reg) --#define psllq_m2r(var,reg) mmx_m2r (psllq, var, reg) --#define psllq_r2r(regs,regd) mmx_r2r (psllq, regs, regd) --#define psllw_i2r(imm,reg) mmx_i2r (psllw, imm, reg) --#define psllw_m2r(var,reg) mmx_m2r (psllw, var, reg) --#define psllw_r2r(regs,regd) mmx_r2r (psllw, regs, regd) -- --#define psrad_i2r(imm,reg) mmx_i2r (psrad, imm, reg) --#define psrad_m2r(var,reg) mmx_m2r (psrad, var, reg) --#define psrad_r2r(regs,regd) mmx_r2r (psrad, regs, regd) --#define psraw_i2r(imm,reg) mmx_i2r (psraw, imm, reg) --#define psraw_m2r(var,reg) mmx_m2r (psraw, var, reg) --#define psraw_r2r(regs,regd) mmx_r2r (psraw, regs, regd) -- --#define psrld_i2r(imm,reg) mmx_i2r (psrld, imm, reg) --#define psrld_m2r(var,reg) mmx_m2r (psrld, var, reg) --#define psrld_r2r(regs,regd) mmx_r2r (psrld, regs, regd) --#define psrlq_i2r(imm,reg) mmx_i2r (psrlq, imm, reg) --#define psrlq_m2r(var,reg) mmx_m2r (psrlq, var, reg) --#define psrlq_r2r(regs,regd) mmx_r2r (psrlq, regs, regd) --#define psrlw_i2r(imm,reg) mmx_i2r (psrlw, imm, reg) --#define psrlw_m2r(var,reg) mmx_m2r (psrlw, var, reg) --#define psrlw_r2r(regs,regd) mmx_r2r (psrlw, regs, regd) -- --#define psubb_m2r(var,reg) mmx_m2r (psubb, var, reg) --#define psubb_r2r(regs,regd) mmx_r2r (psubb, regs, regd) --#define psubd_m2r(var,reg) mmx_m2r (psubd, var, reg) --#define psubd_r2r(regs,regd) mmx_r2r (psubd, regs, regd) --#define psubw_m2r(var,reg) mmx_m2r (psubw, var, reg) --#define psubw_r2r(regs,regd) mmx_r2r (psubw, regs, regd) -- --#define psubsb_m2r(var,reg) mmx_m2r (psubsb, var, reg) --#define psubsb_r2r(regs,regd) mmx_r2r (psubsb, regs, regd) --#define psubsw_m2r(var,reg) mmx_m2r (psubsw, var, reg) --#define psubsw_r2r(regs,regd) mmx_r2r (psubsw, regs, regd) -- --#define psubusb_m2r(var,reg) mmx_m2r (psubusb, var, reg) --#define psubusb_r2r(regs,regd) mmx_r2r (psubusb, regs, regd) --#define psubusw_m2r(var,reg) mmx_m2r (psubusw, var, reg) --#define psubusw_r2r(regs,regd) mmx_r2r (psubusw, regs, regd) -- --#define punpckhbw_m2r(var,reg) mmx_m2r (punpckhbw, var, reg) --#define punpckhbw_r2r(regs,regd) mmx_r2r (punpckhbw, regs, regd) --#define punpckhdq_m2r(var,reg) mmx_m2r (punpckhdq, var, reg) --#define punpckhdq_r2r(regs,regd) mmx_r2r (punpckhdq, regs, regd) --#define punpckhwd_m2r(var,reg) mmx_m2r (punpckhwd, var, reg) --#define punpckhwd_r2r(regs,regd) mmx_r2r (punpckhwd, regs, regd) -- --#define punpcklbw_m2r(var,reg) mmx_m2r (punpcklbw, var, reg) --#define punpcklbw_r2r(regs,regd) mmx_r2r (punpcklbw, regs, regd) --#define punpckldq_m2r(var,reg) mmx_m2r (punpckldq, var, reg) --#define punpckldq_r2r(regs,regd) mmx_r2r (punpckldq, regs, regd) --#define punpcklwd_m2r(var,reg) mmx_m2r (punpcklwd, var, reg) --#define punpcklwd_r2r(regs,regd) mmx_r2r (punpcklwd, regs, regd) -- --#define pxor_m2r(var,reg) mmx_m2r (pxor, var, reg) --#define pxor_r2r(regs,regd) mmx_r2r (pxor, regs, regd) -- -- --/* 3DNOW extensions */ -- --#define pavgusb_m2r(var,reg) mmx_m2r (pavgusb, var, reg) --#define pavgusb_r2r(regs,regd) mmx_r2r (pavgusb, regs, regd) -- -- --/* AMD MMX extensions - also available in intel SSE */ -- -- --#define mmx_m2ri(op,mem,reg,imm) \ -- __asm__ __volatile__ (#op " %1, %0, %%" #reg \ -- : /* nothing */ \ -- : "X" (mem), "X" (imm)) --#define mmx_r2ri(op,regs,regd,imm) \ -- __asm__ __volatile__ (#op " %0, %%" #regs ", %%" #regd \ -- : /* nothing */ \ -- : "X" (imm) ) -- --#define mmx_fetch(mem,hint) \ -- __asm__ __volatile__ ("prefetch" #hint " %0" \ -- : /* nothing */ \ -- : "X" (mem)) -- -- --#define maskmovq(regs,maskreg) mmx_r2ri (maskmovq, regs, maskreg) -- --#define movntq_r2m(mmreg,var) mmx_r2m (movntq, mmreg, var) -- --#define pavgb_m2r(var,reg) mmx_m2r (pavgb, var, reg) --#define pavgb_r2r(regs,regd) mmx_r2r (pavgb, regs, regd) --#define pavgw_m2r(var,reg) mmx_m2r (pavgw, var, reg) --#define pavgw_r2r(regs,regd) mmx_r2r (pavgw, regs, regd) -- --#define pextrw_r2r(mmreg,reg,imm) mmx_r2ri (pextrw, mmreg, reg, imm) -- --#define pinsrw_r2r(reg,mmreg,imm) mmx_r2ri (pinsrw, reg, mmreg, imm) -- --#define pmaxsw_m2r(var,reg) mmx_m2r (pmaxsw, var, reg) --#define pmaxsw_r2r(regs,regd) mmx_r2r (pmaxsw, regs, regd) -- --#define pmaxub_m2r(var,reg) mmx_m2r (pmaxub, var, reg) --#define pmaxub_r2r(regs,regd) mmx_r2r (pmaxub, regs, regd) -- --#define pminsw_m2r(var,reg) mmx_m2r (pminsw, var, reg) --#define pminsw_r2r(regs,regd) mmx_r2r (pminsw, regs, regd) -- --#define pminub_m2r(var,reg) mmx_m2r (pminub, var, reg) --#define pminub_r2r(regs,regd) mmx_r2r (pminub, regs, regd) -- --#define pmovmskb(mmreg,reg) \ -- __asm__ __volatile__ ("movmskps %" #mmreg ", %" #reg) -- --#define pmulhuw_m2r(var,reg) mmx_m2r (pmulhuw, var, reg) --#define pmulhuw_r2r(regs,regd) mmx_r2r (pmulhuw, regs, regd) -- --#define prefetcht0(mem) mmx_fetch (mem, t0) --#define prefetcht1(mem) mmx_fetch (mem, t1) --#define prefetcht2(mem) mmx_fetch (mem, t2) --#define prefetchnta(mem) mmx_fetch (mem, nta) -- --#define psadbw_m2r(var,reg) mmx_m2r (psadbw, var, reg) --#define psadbw_r2r(regs,regd) mmx_r2r (psadbw, regs, regd) -- --#define pshufw_m2r(var,reg,imm) mmx_m2ri(pshufw, var, reg, imm) --#define pshufw_r2r(regs,regd,imm) mmx_r2ri(pshufw, regs, regd, imm) -- --#define sfence() __asm__ __volatile__ ("sfence\n\t") -- --#endif /* AVCODEC_I386MMX_H */ -+#include "xineutils.h" ---- libavcodec/libpostproc/postprocess.c 2003-11-01 18:43:19.000000000 +0100 -+++ libavcodec/libpostproc/postprocess.c 2003-10-27 19:42:16.000000000 +0100 -@@ -70,8 +70,9 @@ - #include "config.h" - #include <inttypes.h> - #include <stdio.h> --#include <stdlib.h> --#include <string.h> -+ -+#include "xineutils.h" -+ - #ifdef HAVE_MALLOC_H - #include <malloc.h> - #endif -@@ -80,9 +81,9 @@ - //#undef HAVE_MMX - //#undef ARCH_X86 - //#define DEBUG_BRIGHTNESS --#ifdef USE_FASTMEMCPY --#include "../fastmemcpy.h" --#endif -+ -+#define memcpy(a,b,c) xine_fast_memcpy(a,b,c) -+ - #include "postprocess.h" - #include "postprocess_internal.h" - -@@ -152,44 +153,6 @@ - NULL //End Marker - }; - --#ifdef ARCH_X86 --static inline void unusedVariableWarningFixer() --{ -- if(w05 + w20 + b00 + b01 + b02 + b08 + b80 == 0) b00=0; --} --#endif -- -- --#ifdef ARCH_X86 --static inline void prefetchnta(void *p) --{ -- asm volatile( "prefetchnta (%0)\n\t" -- : : "r" (p) -- ); --} -- --static inline void prefetcht0(void *p) --{ -- asm volatile( "prefetcht0 (%0)\n\t" -- : : "r" (p) -- ); --} -- --static inline void prefetcht1(void *p) --{ -- asm volatile( "prefetcht1 (%0)\n\t" -- : : "r" (p) -- ); --} -- --static inline void prefetcht2(void *p) --{ -- asm volatile( "prefetcht2 (%0)\n\t" -- : : "r" (p) -- ); --} --#endif -- - // The horizontal Functions exist only in C cuz the MMX code is faster with vertical filters and transposing - - /** ---- libavcodec/mjpeg.c 2003-11-01 18:43:19.000000000 +0100 -+++ libavcodec/mjpeg.c 2003-10-27 19:42:08.000000000 +0100 -@@ -1504,7 +1504,7 @@ - 4bytes field_size - 4bytes field_size_less_padding - */ -- s->buggy_avid = 1; -+// s->buggy_avid = 1; - // if (s->first_picture) - // printf("mjpeg: workarounding buggy AVID\n"); - s->interlace_polarity = get_bits(&s->gb, 8); ---- libavcodec/mlib/dsputil_mlib.c 2003-11-01 18:43:19.000000000 +0100 -+++ libavcodec/mlib/dsputil_mlib.c 2003-10-27 19:42:17.000000000 +0100 -@@ -419,6 +419,7 @@ - - void dsputil_init_mlib(DSPContext* c, AVCodecContext *avctx) - { -+ if (xine_mm_accel() & MM_ACCEL_MLIB) { - c->get_pixels = get_pixels_mlib; - c->diff_pixels = diff_pixels_mlib; - c->add_pixels_clamped = add_pixels_clamped_mlib; -@@ -445,10 +446,12 @@ - c->put_no_rnd_pixels_tab[1][0] = put_pixels8_mlib; - - c->bswap_buf = bswap_buf_mlib; -+ } - } - - void MPV_common_init_mlib(MpegEncContext *s) - { -+ if (xine_mm_accel() & MM_ACCEL_MLIB) { - if(s->avctx->dct_algo==FF_DCT_AUTO || s->avctx->dct_algo==FF_DCT_MLIB){ - s->dsp.fdct = ff_fdct_mlib; - } -@@ -459,4 +462,5 @@ - s->dsp.idct = ff_idct_mlib; - s->dsp.idct_permutation_type= FF_NO_IDCT_PERM; - } -+ } - } ---- libavcodec/mpeg12.c 2003-10-27 16:24:38.000000000 +0100 -+++ libavcodec/mpeg12.c 2003-10-28 19:24:46.000000000 +0100 -@@ -48,7 +48,7 @@ +Index: mpeg12.c +=================================================================== +RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/mpeg12.c,v +retrieving revision 1.172 +diff -u -r1.172 mpeg12.c +--- mpeg12.c 22 Jan 2004 19:48:28 -0000 1.172 ++++ mpeg12.c 1 Feb 2004 04:42:41 -0000 +@@ -52,7 +52,7 @@ #define MB_BTYPE_VLC_BITS 6 #define TEX_VLC_BITS 9 @@ -681,8 +123,8 @@ static void mpeg1_encode_block(MpegEncContext *s, DCTELEM *block, int component); -@@ -74,7 +74,7 @@ - extern int XVMC_field_end(MpegEncContext *s); +@@ -80,7 +80,7 @@ + extern void XVMC_init_block(MpegEncContext *s);//set s->block #endif -#ifdef CONFIG_ENCODERS @@ -690,7 +132,7 @@ static uint8_t (*mv_penalty)[MAX_MV*2+1]= NULL; static uint8_t fcode_tab[MAX_MV*2+1]; -@@ -128,7 +128,7 @@ +@@ -134,7 +134,7 @@ } } @@ -699,7 +141,7 @@ static void init_uni_ac_vlc(RLTable *rl, uint32_t *uni_ac_vlc_bits, uint8_t *uni_ac_vlc_len){ int i; -@@ -383,7 +383,7 @@ +@@ -358,7 +358,7 @@ memset(s->last_mv, 0, sizeof(s->last_mv)); } @@ -708,9 +150,23 @@ void ff_mpeg1_encode_slice_header(MpegEncContext *s){ put_header(s, SLICE_MIN_START_CODE + s->mb_y); ---- libavcodec/mpegvideo.c 2003-11-01 18:43:19.000000000 +0100 -+++ libavcodec/mpegvideo.c 2003-10-30 23:26:04.000000000 +0100 -@@ -36,7 +36,7 @@ +@@ -2713,7 +2713,7 @@ + .flush= ff_mpeg_flush, + }; + +-#ifdef CONFIG_ENCODERS ++#if defined(CONFIG_ENCODERS) || defined(XINE_MPEG_ENCODER) + + AVCodec mpeg1video_encoder = { + "mpeg1video", +Index: mpegvideo.c +=================================================================== +RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/mpegvideo.c,v +retrieving revision 1.359 +diff -u -r1.359 mpegvideo.c +--- mpegvideo.c 29 Jan 2004 15:50:54 -0000 1.359 ++++ mpegvideo.c 1 Feb 2004 04:42:42 -0000 +@@ -38,7 +38,7 @@ //#undef NDEBUG //#include <assert.h> @@ -718,9 +174,9 @@ +#if defined(CONFIG_ENCODERS) || defined(XINE_MPEG_ENCODER) static void encode_picture(MpegEncContext *s, int picture_number); #endif //CONFIG_ENCODERS - static void dct_unquantize_mpeg1_c(MpegEncContext *s, -@@ -46,7 +46,7 @@ - static void dct_unquantize_h263_c(MpegEncContext *s, + static void dct_unquantize_mpeg1_intra_c(MpegEncContext *s, +@@ -54,7 +54,7 @@ + static void dct_unquantize_h263_inter_c(MpegEncContext *s, DCTELEM *block, int n, int qscale); static void draw_edges_c(uint8_t *buf, int wrap, int width, int height, int w); -#ifdef CONFIG_ENCODERS @@ -728,8 +184,8 @@ static int dct_quantize_c(MpegEncContext *s, DCTELEM *block, int n, int qscale, int *overflow); static int dct_quantize_trellis_c(MpegEncContext *s, DCTELEM *block, int n, int qscale, int *overflow); static int sse_mb(MpegEncContext *s); -@@ -87,7 +87,7 @@ - 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, +@@ -101,7 +101,7 @@ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31 }; -#ifdef CONFIG_ENCODERS @@ -737,7 +193,7 @@ static uint8_t (*default_mv_penalty)[MAX_MV*2+1]=NULL; static uint8_t default_fcode_tab[MAX_MV*2+1]; -@@ -173,7 +173,7 @@ +@@ -195,7 +195,7 @@ } } @@ -746,16 +202,16 @@ void ff_write_quant_matrix(PutBitContext *pb, int16_t *matrix){ int i; -@@ -194,7 +194,7 @@ - s->dct_unquantize_mpeg1 = dct_unquantize_mpeg1_c; - s->dct_unquantize_mpeg2 = dct_unquantize_mpeg2_c; +@@ -219,7 +219,7 @@ + s->dct_unquantize_mpeg2_intra = dct_unquantize_mpeg2_intra_c; + s->dct_unquantize_mpeg2_inter = dct_unquantize_mpeg2_inter_c; -#ifdef CONFIG_ENCODERS +#if defined(CONFIG_ENCODERS) || defined(XINE_MPEG_ENCODER) s->dct_quantize= dct_quantize_c; + s->denoise_dct= denoise_dct_c; #endif - -@@ -217,7 +217,7 @@ +@@ -243,7 +243,7 @@ MPV_common_init_ppc(s); #endif @@ -764,8 +220,8 @@ s->fast_dct_quantize= s->dct_quantize; if(s->flags&CODEC_FLAG_TRELLIS_QUANT){ -@@ -569,7 +569,7 @@ - s->current_picture_ptr= NULL; +@@ -680,7 +680,7 @@ + av_free(s->visualization_buffer[i]); } -#ifdef CONFIG_ENCODERS @@ -773,7 +229,7 @@ /* init video encoder */ int MPV_encode_init(AVCodecContext *avctx) -@@ -686,6 +686,7 @@ +@@ -831,6 +831,7 @@ s->low_delay= 0; //s->max_b_frames ? 0 : 1; avctx->delay= s->low_delay ? 0 : (s->max_b_frames + 1); break; @@ -781,7 +237,7 @@ case CODEC_ID_MPEG2VIDEO: s->out_format = FMT_MPEG1; s->low_delay= 0; //s->max_b_frames ? 0 : 1; -@@ -802,6 +803,7 @@ +@@ -952,6 +953,7 @@ s->low_delay=1; break; #endif @@ -789,9 +245,9 @@ default: return -1; } -@@ -836,22 +838,25 @@ - if (MPV_common_init(s) < 0) - return -1; +@@ -991,18 +993,20 @@ + + ff_set_cmp(&s->dsp, s->dsp.ildct_cmp, s->avctx->ildct_cmp); +#if defined(CONFIG_ENCODERS) || !defined(XINE_MPEG_ENCODER) ff_init_me(s); @@ -812,20 +268,7 @@ /* init default q matrix */ for(i=0;i<64;i++) { - int j= s->dsp.idct_permutation[i]; -+#if defined(CONFIG_ENCODERS) || !defined(XINE_MPEG_ENCODER) - #ifdef CONFIG_RISKY - if(s->codec_id==CODEC_ID_MPEG4 && s->mpeg_quant){ - s->intra_matrix[j] = ff_mpeg4_default_intra_matrix[i]; -@@ -861,6 +866,7 @@ - s->inter_matrix[j] = ff_mpeg1_default_non_intra_matrix[i]; - }else - #endif -+#endif - { /* mpeg1/2 */ - s->intra_matrix[j] = ff_mpeg1_default_intra_matrix[i]; - s->inter_matrix[j] = ff_mpeg1_default_non_intra_matrix[i]; -@@ -904,8 +910,10 @@ +@@ -1059,8 +1063,10 @@ ff_rate_control_uninit(s); MPV_common_end(s); @@ -836,7 +279,7 @@ av_freep(&avctx->extradata); -@@ -1341,7 +1349,7 @@ +@@ -1644,7 +1650,7 @@ } } @@ -845,21 +288,18 @@ static int get_sae(uint8_t *src, int ref, int stride){ int x,y; -@@ -1634,11 +1642,13 @@ +@@ -1930,8 +1936,10 @@ MPV_frame_end(s); +#if defined(CONFIG_ENCODERS) || !defined(XINE_MPEG_ENCODER) if (s->out_format == FMT_MJPEG) mjpeg_picture_trailer(s); ++#endif if(s->flags&CODEC_FLAG_PASS1) ff_write_pass1_stats(s); -+#endif - - for(i=0; i<4; i++){ - avctx->error[i] += s->current_picture_ptr->error[i]; -@@ -2607,7 +2617,7 @@ +@@ -3113,7 +3121,7 @@ } } @@ -868,7 +308,7 @@ static inline void dct_single_coeff_elimination(MpegEncContext *s, int n, int threshold) { -@@ -2812,7 +2822,7 @@ +@@ -3262,7 +3270,7 @@ } } @@ -877,7 +317,7 @@ static void encode_mb(MpegEncContext *s, int motion_x, int motion_y) { -@@ -3051,6 +3061,7 @@ +@@ -3524,6 +3532,7 @@ case CODEC_ID_MPEG1VIDEO: case CODEC_ID_MPEG2VIDEO: mpeg1_encode_mb(s, s->block, motion_x, motion_y); break; @@ -885,7 +325,7 @@ #ifdef CONFIG_RISKY case CODEC_ID_MPEG4: mpeg4_encode_mb(s, s->block, motion_x, motion_y); break; -@@ -3068,6 +3079,7 @@ +@@ -3541,6 +3550,7 @@ #endif case CODEC_ID_MJPEG: mjpeg_encode_mb(s, s->block); break; @@ -893,7 +333,7 @@ default: assert(0); } -@@ -3152,7 +3164,7 @@ +@@ -3628,7 +3638,7 @@ s->parse_context.last_index= 0; } @@ -902,7 +342,7 @@ void ff_copy_bits(PutBitContext *pb, uint8_t *src, int length) { int bytes= length>>4; -@@ -3340,12 +3352,14 @@ +@@ -3817,12 +3827,14 @@ s->current_picture.mb_var_sum = 0; s->current_picture.mc_mb_var_sum = 0; @@ -917,7 +357,7 @@ s->scene_change_score=0; -@@ -3362,6 +3376,7 @@ +@@ -3839,6 +3851,7 @@ /* Estimate motion for every MB */ s->mb_intra=0; //for the rate distoration & bit compare functions if(s->pict_type != I_TYPE){ @@ -925,28 +365,29 @@ if(s->pict_type != B_TYPE){ if((s->avctx->pre_me && s->last_non_b_pict_type==I_TYPE) || s->avctx->pre_me==2){ s->me.pre_pass=1; -@@ -3399,6 +3414,7 @@ +@@ -3876,6 +3889,7 @@ ff_estimate_p_frame_motion(s, mb_x, mb_y); } } +#endif }else /* if(s->pict_type == I_TYPE) */{ /* I-Frame */ - //FIXME do we need to zero them? -@@ -3433,6 +3449,7 @@ + for(i=0; i<s->mb_stride*s->mb_height; i++) +@@ -3909,6 +3923,7 @@ //printf("Scene change detected, encoding as I Frame %d %d\n", s->current_picture.mb_var_sum, s->current_picture.mc_mb_var_sum); } +#if defined(CONFIG_ENCODERS) || !defined(XINE_MPEG_ENCODER) if(!s->umvplus){ if(s->pict_type==P_TYPE || s->pict_type==S_TYPE) { - s->f_code= ff_get_best_fcode(s, s->p_mv_table, MB_TYPE_INTER); -@@ -3457,11 +3474,13 @@ - ff_fix_long_b_mvs(s, s->b_bidir_back_mv_table, s->b_code, MB_TYPE_BIDIR); + s->f_code= ff_get_best_fcode(s, s->p_mv_table, CANDIDATE_MB_TYPE_INTER); +@@ -3961,11 +3976,13 @@ + } } } +- +#endif - ++ if (!s->fixed_qscale) s->current_picture.quality = ff_rate_estimate_qscale(s); @@ -955,7 +396,7 @@ #ifdef CONFIG_RISKY switch(s->codec_id){ case CODEC_ID_MPEG4: -@@ -3474,6 +3493,7 @@ +@@ -3978,6 +3995,7 @@ break; } #endif @@ -963,7 +404,7 @@ s->lambda= s->lambda_table[0]; //FIXME broken -@@ -3506,6 +3526,7 @@ +@@ -4010,6 +4028,7 @@ s->last_bits= get_bit_count(&s->pb); switch(s->out_format) { @@ -971,7 +412,7 @@ case FMT_MJPEG: mjpeg_picture_header(s); break; -@@ -3524,6 +3545,15 @@ +@@ -4028,6 +4047,15 @@ else h263_encode_picture_header(s, picture_number); break; @@ -987,7 +428,7 @@ #endif case FMT_MPEG1: mpeg1_encode_picture_header(s, picture_number); -@@ -3558,6 +3588,7 @@ +@@ -4061,6 +4089,7 @@ s->last_mv_dir = 0; @@ -995,7 +436,7 @@ #ifdef CONFIG_RISKY switch(s->codec_id){ case CODEC_ID_H263: -@@ -3571,6 +3602,7 @@ +@@ -4074,6 +4103,7 @@ break; } #endif @@ -1003,15 +444,15 @@ s->resync_mb_x=0; s->resync_mb_y=0; -@@ -3594,6 +3626,7 @@ +@@ -4097,6 +4127,7 @@ ff_update_block_index(s); /* write gob / video packet header */ +#if defined(CONFIG_ENCODERS) || !defined(XINE_MPEG_ENCODER) #ifdef CONFIG_RISKY - if(s->rtp_mode && mb_y + mb_x>0){ + if(s->rtp_mode){ int current_packet_size, is_gob_start; -@@ -3649,6 +3682,7 @@ +@@ -4177,6 +4208,7 @@ } } #endif @@ -1019,7 +460,7 @@ if( (s->resync_mb_x == s->mb_x) && s->resync_mb_y+1 == s->mb_y){ -@@ -3734,9 +3768,11 @@ +@@ -4275,9 +4307,11 @@ s->mv_dir = MV_DIR_FORWARD | MV_DIR_BACKWARD | MV_DIRECT; s->mb_intra= 0; @@ -1028,10 +469,10 @@ ff_mpeg4_set_direct_mv(s, mx, my); #endif +#endif - encode_mb_hq(s, &backup_s, &best_s, MB_TYPE_DIRECT, pb, pb2, tex_pb, + encode_mb_hq(s, &backup_s, &best_s, CANDIDATE_MB_TYPE_DIRECT, pb, pb2, tex_pb, &dmin, &next_block, mx, my); } -@@ -3905,9 +3941,11 @@ +@@ -4465,9 +4499,11 @@ s->mb_intra= 0; motion_x=s->b_direct_mv_table[xy][0]; motion_y=s->b_direct_mv_table[xy][1]; @@ -1041,9 +482,9 @@ #endif +#endif break; - case MB_TYPE_BIDIR: + case CANDIDATE_MB_TYPE_BIDIR: s->mv_dir = MV_DIR_FORWARD | MV_DIR_BACKWARD; -@@ -3978,6 +4016,7 @@ +@@ -4575,6 +4611,7 @@ } emms_c(); @@ -1051,94 +492,64 @@ #ifdef CONFIG_RISKY if(s->codec_id==CODEC_ID_MPEG4 && s->partitioned_frame) ff_mpeg4_merge_partitions(s); -@@ -3988,6 +4027,7 @@ +@@ -4585,6 +4622,7 @@ if(s->codec_id==CODEC_ID_MPEG4) ff_mpeg4_stuffing(&s->pb); #endif +#endif - //if (s->gob_number) - // fprintf(stderr,"\nNumber of GOB: %d", s->gob_number); -@@ -4626,7 +4666,7 @@ - AVOPTION_END() - }; + /* Send the last GOB if RTP */ + if (s->avctx->rtp_callback) { +@@ -4621,7 +4659,7 @@ + } + } -#ifdef CONFIG_ENCODERS +#if defined(CONFIG_ENCODERS) || defined(XINE_MPEG_ENCODER) - AVCodec mpeg1video_encoder = { - "mpeg1video", -@@ -4638,6 +4678,7 @@ - MPV_encode_end, + static int dct_quantize_trellis_c(MpegEncContext *s, + DCTELEM *block, int n, +@@ -5252,7 +5290,7 @@ + AVOPTION_END() }; -+#if defined(CONFIG_ENCODERS) || !defined(XINE_MPEG_ENCODER) +-#ifdef CONFIG_ENCODERS ++#if defined(CONFIG_ENCODERS) || defined(XINE_MPEG_ENCODER) #ifdef CONFIG_RISKY + AVCodec h263_encoder = { + "h263", + +Index: mlib/dsputil_mlib.c +=================================================================== +RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/mlib/dsputil_mlib.c,v +retrieving revision 1.14 +diff -u -r1.14 dsputil_mlib.c +--- mlib/dsputil_mlib.c 11 Oct 2003 16:43:51 -0000 1.14 ++++ mlib/dsputil_mlib.c 1 Feb 2004 04:42:48 -0000 +@@ -419,6 +419,7 @@ - AVCodec mpeg2video_encoder = { -@@ -4757,5 +4798,7 @@ - MPV_encode_end, - }; - -+#endif -+ - #endif //CONFIG_ENCODERS - ---- libavcodec/msvideo1.c 2003-10-27 16:24:38.000000000 +0100 -+++ libavcodec/msvideo1.c 2003-10-28 21:04:59.000000000 +0100 -@@ -38,6 +38,8 @@ - #include "avcodec.h" - #include "dsputil.h" - -+#undef LE_16 -+ - #define PALETTE_COUNT 256 - #define LE_16(x) ((((uint8_t*)(x))[1] << 8) | ((uint8_t*)(x))[0]) - #define CHECK_STREAM_PTR(n) \ ---- libavcodec/rpza.c 2003-10-27 16:24:38.000000000 +0100 -+++ libavcodec/rpza.c 2003-10-28 21:05:35.000000000 +0100 -@@ -54,6 +54,9 @@ - - } RpzaContext; - -+#undef BE_16 -+#undef BE_32 -+ - #define BE_16(x) ((((uint8_t*)(x))[0] << 8) | ((uint8_t*)(x))[1]) - #define BE_32(x) ((((uint8_t*)(x))[0] << 24) | \ - (((uint8_t*)(x))[1] << 16) | \ ---- libavcodec/vqavideo.c 2003-10-30 07:00:28.000000000 +0100 -+++ libavcodec/vqavideo.c 2003-10-30 20:13:31.000000000 +0100 -@@ -82,6 +82,10 @@ - #define MAX_VECTORS (MAX_CODEBOOK_VECTORS + SOLID_PIXEL_VECTORS) - #define MAX_CODEBOOK_SIZE (MAX_VECTORS * 4 * 4) - -+#undef LE_16 -+#undef BE_16 -+#undef BE_32 -+ - #define LE_16(x) ((((uint8_t*)(x))[1] << 8) | ((uint8_t*)(x))[0]) - #define BE_16(x) ((((uint8_t*)(x))[0] << 8) | ((uint8_t*)(x))[1]) - #define BE_32(x) ((((uint8_t*)(x))[0] << 24) | \ ---- libavcodec/xan.c 2003-10-30 07:00:29.000000000 +0100 -+++ libavcodec/xan.c 2003-10-30 23:27:28.000000000 +0100 -@@ -58,6 +58,10 @@ - - } XanContext; + void dsputil_init_mlib(DSPContext* c, AVCodecContext *avctx) + { ++ if (xine_mm_accel() & MM_ACCEL_MLIB) { + c->get_pixels = get_pixels_mlib; + c->diff_pixels = diff_pixels_mlib; + c->add_pixels_clamped = add_pixels_clamped_mlib; +@@ -445,10 +446,12 @@ + c->put_no_rnd_pixels_tab[1][0] = put_pixels8_mlib; -+#undef BE_16 -+#undef LE_16 -+#undef LE_32 -+ - #define BE_16(x) ((((uint8_t*)(x))[0] << 8) | ((uint8_t*)(x))[1]) - #define LE_16(x) ((((uint8_t*)(x))[1] << 8) | ((uint8_t*)(x))[0]) - #define LE_32(x) ((((uint8_t*)(x))[3] << 24) | \ -@@ -69,6 +73,8 @@ - #define SCALEFACTOR 65536 - #define CENTERSAMPLE 128 + c->bswap_buf = bswap_buf_mlib; ++ } + } -+#undef COMPUTE_Y -+ - #define COMPUTE_Y(r, g, b) \ - (unsigned char) \ - ((y_r_table[r] + y_g_table[g] + y_b_table[b]) / SCALEFACTOR) + void MPV_common_init_mlib(MpegEncContext *s) + { ++ if (xine_mm_accel() & MM_ACCEL_MLIB) { + if(s->avctx->dct_algo==FF_DCT_AUTO || s->avctx->dct_algo==FF_DCT_MLIB){ + s->dsp.fdct = ff_fdct_mlib; + } +@@ -459,4 +462,5 @@ + s->dsp.idct = ff_idct_mlib; + s->dsp.idct_permutation_type= FF_NO_IDCT_PERM; + } ++ } + } |