Update of /cvsroot/fink/dists/10.4/unstable/main/finkinfo/graphics
In directory vz-cvs-3.sog:/tmp/cvs-serv24536
Modified Files:
ffmpeg.info
Added Files:
ffmpeg.patch
Log Message:
remove forced dep on gcc-4.0 by fixing code that exposed bug on gcc >= 4.2/i386
Index: ffmpeg.info
===================================================================
RCS file: /cvsroot/fink/dists/10.4/unstable/main/finkinfo/graphics/ffmpeg.info,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- ffmpeg.info 29 May 2011 14:39:33 -0000 1.19
+++ ffmpeg.info 16 Jun 2011 18:26:06 -0000 1.20
@@ -1,6 +1,6 @@
Package: ffmpeg
Version: 0.6.3
-Revision: 1
+Revision: 2
###
BuildDepends: <<
bzip2,
@@ -8,7 +8,6 @@
fink (>= 0.28),
fink-package-precedence,
freetype219,
- (%m = i386) gcc4.0,
gsm,
jack-dev,
lame-dev,
@@ -61,11 +60,14 @@
###
# link directly to build-dir lib files instead of mis-ordering local -L flags
# make sure global -I come after local ones too
-#PatchFile: %n.patch
-#PatchFile-MD5: 4f7322c02bb0e6dc319974313bd3612d
+PatchFile: %n.patch
+PatchFile-MD5: 272c29d7ed8b1c862f8bf2dca0041d39
PatchScript: <<
#!/bin/sh -ev
- %{default_script}
+ ### apply the patch only to 10.6/i386. x86_64 is OK, and 10.5 (gcc-4.0)
doesn't have the bug
+ if [ `/usr/bin/sw_vers -productVersion | cut -d'.' -f1-2` == '10.6' ] && [
%m == 'i386' ]; then
+ %{default_script}
+ fi
### Give dylibs a versioned install_name
perl -pi -e
's;-install_name,\$\(SHLIBDIR\)/\$\(SLIBNAME\);-install_name,\$\(SHLIBDIR\)/\$\(SLIBNAME_WITH_MAJOR\);g'
configure
### Fix for x264.h requiring stdint.h first
@@ -99,7 +101,6 @@
(%m = powerpc) --disable-altivec \
(%m = x86_64) --arch=x86_64 \
(%m = i386) --arch=x86 \
- (%m = i386) --cc=/usr/bin/gcc-4.0 \
--mandir=%p/share/man \
--enable-shared \
--enable-gpl \
@@ -567,7 +568,11 @@
DescPort: <<
Use Fink's make since 10.4 has an older system make (3.80) that doesn't like
common.mak. Can remove that dep once 10.4 is deprecated.
-Altivec disabled on PPC because it leads to functional failing. It still
tries to run (and fails) an altivec test, but there's currently no simple way
of disabling just the altivec tests.
+Altivec disabled on PPC because it leads to functional failing. It still
tries to run (and fails) an altivec test, but there's currently no simple way
of disabling just the altivec tests.
+
+Patch fixex assembly issue with default of --enable-pic and gcc >= 4.2 on i386
(namely 10.6/i386).
+This patch is now in upstream ffmpeg so can remove for future releases.
+http://www.mail-archive.com/[email protected]/msg07489.html
<<
###
License: GPL
--- NEW FILE: ffmpeg.patch ---
--- a/libavcodec/x86/dsputil_mmx.c 2010-04-17 04:04:30.000000000 +0200
+++ b/libavcodec/x86/dsputil_mmx.c 2010-09-03 21:14:43.000000000 +0200
@@ -725,15 +725,23 @@ static void h263_v_loop_filter_mmx(uint8
static inline void transpose4x4(uint8_t *dst, uint8_t *src, int dst_stride,
int src_stride){
__asm__ volatile( //FIXME could save 1 instruction if done as 8x4 ...
- "movd %4, %%mm0 \n\t"
- "movd %5, %%mm1 \n\t"
- "movd %6, %%mm2 \n\t"
- "movd %7, %%mm3 \n\t"
+ "movd %0, %%mm0 \n\t"
+ "movd %1, %%mm1 \n\t"
+ "movd %2, %%mm2 \n\t"
+ "movd %3, %%mm3 \n\t"
"punpcklbw %%mm1, %%mm0 \n\t"
"punpcklbw %%mm3, %%mm2 \n\t"
"movq %%mm0, %%mm1 \n\t"
"punpcklwd %%mm2, %%mm0 \n\t"
"punpckhwd %%mm2, %%mm1 \n\t"
+ : /* nothing */
+ : "m" (*(uint32_t*)(src + 0*src_stride)),
+ "m" (*(uint32_t*)(src + 1*src_stride)),
+ "m" (*(uint32_t*)(src + 2*src_stride)),
+ "m" (*(uint32_t*)(src + 3*src_stride))
+ );
+
+ __asm__ volatile( //FIXME could save 1 instruction if done as 8x4 ...
"movd %%mm0, %0 \n\t"
"punpckhdq %%mm0, %%mm0 \n\t"
"movd %%mm0, %1 \n\t"
@@ -745,10 +753,6 @@ static inline void transpose4x4(uint8_t
"=m" (*(uint32_t*)(dst + 1*dst_stride)),
"=m" (*(uint32_t*)(dst + 2*dst_stride)),
"=m" (*(uint32_t*)(dst + 3*dst_stride))
- : "m" (*(uint32_t*)(src + 0*src_stride)),
- "m" (*(uint32_t*)(src + 1*src_stride)),
- "m" (*(uint32_t*)(src + 2*src_stride)),
- "m" (*(uint32_t*)(src + 3*src_stride))
);
}
------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
Fink-commits mailing list
[email protected]
http://news.gmane.org/gmane.os.apple.fink.cvs