# Based on the patch found at: # http://bugs.mymediasystem.org/?getfile=179 diff -uar ffmpeg-0.5.orig/libavcodec/x86/dsputil_mmx.c ffmpeg-0.5/libavcodec/x86/dsputil_mmx.c --- ffmpeg-0.5.orig/libavcodec/x86/dsputil_mmx.c 2009-02-13 01:02:33.000000000 +0100 +++ ffmpeg-0.5/libavcodec/x86/dsputil_mmx.c 2009-07-29 23:48:33.000000000 +0200 @@ -47,29 +47,29 @@ DECLARE_ALIGNED_16(const uint64_t, ff_pdw_80000000[2]) = {0x8000000080000000ULL, 0x8000000080000000ULL}; -DECLARE_ALIGNED_8 (const uint64_t, ff_pw_3 ) = 0x0003000300030003ULL; -DECLARE_ALIGNED_8 (const uint64_t, ff_pw_4 ) = 0x0004000400040004ULL; +DECLARE_ALIGNED_8 (const uint64_t __attribute__(( visibility ("protected") )), ff_pw_3 ) = 0x0003000300030003ULL; +DECLARE_ALIGNED_8 (const uint64_t __attribute__(( visibility ("protected") )), ff_pw_4 ) = 0x0004000400040004ULL; DECLARE_ALIGNED_16(const xmm_reg, ff_pw_5 ) = {0x0005000500050005ULL, 0x0005000500050005ULL}; DECLARE_ALIGNED_16(const xmm_reg, ff_pw_8 ) = {0x0008000800080008ULL, 0x0008000800080008ULL}; -DECLARE_ALIGNED_8 (const uint64_t, ff_pw_15 ) = 0x000F000F000F000FULL; +DECLARE_ALIGNED_8 (const uint64_t __attribute__(( visibility ("protected") )), ff_pw_15 ) = 0x000F000F000F000FULL; DECLARE_ALIGNED_16(const xmm_reg, ff_pw_16 ) = {0x0010001000100010ULL, 0x0010001000100010ULL}; -DECLARE_ALIGNED_8 (const uint64_t, ff_pw_20 ) = 0x0014001400140014ULL; +DECLARE_ALIGNED_8 (const uint64_t __attribute__(( visibility ("protected") )), ff_pw_20 ) = 0x0014001400140014ULL; DECLARE_ALIGNED_16(const xmm_reg, ff_pw_28 ) = {0x001C001C001C001CULL, 0x001C001C001C001CULL}; DECLARE_ALIGNED_16(const xmm_reg, ff_pw_32 ) = {0x0020002000200020ULL, 0x0020002000200020ULL}; -DECLARE_ALIGNED_8 (const uint64_t, ff_pw_42 ) = 0x002A002A002A002AULL; +DECLARE_ALIGNED_8 (const uint64_t __attribute__(( visibility ("protected") )), ff_pw_42 ) = 0x002A002A002A002AULL; DECLARE_ALIGNED_16(const xmm_reg, ff_pw_64 ) = {0x0040004000400040ULL, 0x0040004000400040ULL}; -DECLARE_ALIGNED_8 (const uint64_t, ff_pw_96 ) = 0x0060006000600060ULL; -DECLARE_ALIGNED_8 (const uint64_t, ff_pw_128) = 0x0080008000800080ULL; -DECLARE_ALIGNED_8 (const uint64_t, ff_pw_255) = 0x00ff00ff00ff00ffULL; +DECLARE_ALIGNED_8 (const uint64_t __attribute__(( visibility ("protected") )), ff_pw_96 ) = 0x0060006000600060ULL; +DECLARE_ALIGNED_8 (const uint64_t __attribute__(( visibility ("protected") )), ff_pw_128) = 0x0080008000800080ULL; +DECLARE_ALIGNED_8 (const uint64_t __attribute__(( visibility ("protected") )), ff_pw_255) = 0x00ff00ff00ff00ffULL; DECLARE_ALIGNED_8 (const uint64_t, ff_pb_1 ) = 0x0101010101010101ULL; -DECLARE_ALIGNED_8 (const uint64_t, ff_pb_3 ) = 0x0303030303030303ULL; -DECLARE_ALIGNED_8 (const uint64_t, ff_pb_7 ) = 0x0707070707070707ULL; -DECLARE_ALIGNED_8 (const uint64_t, ff_pb_1F ) = 0x1F1F1F1F1F1F1F1FULL; -DECLARE_ALIGNED_8 (const uint64_t, ff_pb_3F ) = 0x3F3F3F3F3F3F3F3FULL; -DECLARE_ALIGNED_8 (const uint64_t, ff_pb_81 ) = 0x8181818181818181ULL; -DECLARE_ALIGNED_8 (const uint64_t, ff_pb_A1 ) = 0xA1A1A1A1A1A1A1A1ULL; -DECLARE_ALIGNED_8 (const uint64_t, ff_pb_FC ) = 0xFCFCFCFCFCFCFCFCULL; +DECLARE_ALIGNED_8 (const uint64_t __attribute__(( visibility ("protected") )), ff_pb_3 ) = 0x0303030303030303ULL; +DECLARE_ALIGNED_8 (const uint64_t __attribute__(( visibility ("protected") )), ff_pb_7 ) = 0x0707070707070707ULL; +DECLARE_ALIGNED_8 (const uint64_t __attribute__(( visibility ("protected") )), ff_pb_1F ) = 0x1F1F1F1F1F1F1F1FULL; +DECLARE_ALIGNED_8 (const uint64_t __attribute__(( visibility ("protected") )), ff_pb_3F ) = 0x3F3F3F3F3F3F3F3FULL; +DECLARE_ALIGNED_8 (const uint64_t __attribute__(( visibility ("protected") )), ff_pb_81 ) = 0x8181818181818181ULL; +DECLARE_ALIGNED_8 (const uint64_t __attribute__(( visibility ("protected") )), ff_pb_A1 ) = 0xA1A1A1A1A1A1A1A1ULL; +DECLARE_ALIGNED_8 (const uint64_t __attribute__(( visibility ("protected") )), ff_pb_FC ) = 0xFCFCFCFCFCFCFCFCULL; DECLARE_ALIGNED_16(const double, ff_pd_1[2]) = { 1.0, 1.0 }; DECLARE_ALIGNED_16(const double, ff_pd_2[2]) = { 2.0, 2.0 }; diff -uar ffmpeg-0.5.orig/libavcodec/x86/vc1dsp_mmx.c ffmpeg-0.5/libavcodec/x86/vc1dsp_mmx.c --- ffmpeg-0.5.orig/libavcodec/x86/vc1dsp_mmx.c 2008-10-16 15:34:09.000000000 +0200 +++ ffmpeg-0.5/libavcodec/x86/vc1dsp_mmx.c 2009-07-29 23:49:45.000000000 +0200 @@ -67,7 +67,7 @@ "movq %%mm"#R1", "#OFF"(%1) \n\t" \ "add %2, %0 \n\t" -DECLARE_ALIGNED_16(const uint64_t, ff_pw_9) = 0x0009000900090009ULL; +DECLARE_ALIGNED_16(const uint64_t __attribute__(( visibility ("protected") )), ff_pw_9) = 0x0009000900090009ULL; /** Sacrifying mm6 allows to pipeline loads from src */ static void vc1_put_ver_16b_shift2_mmx(int16_t *dst, @@ -203,8 +203,8 @@ * Filter coefficients made global to allow access by all 1 or 3 quarter shift * interpolation functions. */ -DECLARE_ASM_CONST(16, uint64_t, ff_pw_53) = 0x0035003500350035ULL; -DECLARE_ASM_CONST(16, uint64_t, ff_pw_18) = 0x0012001200120012ULL; +DECLARE_ASM_CONST(16, uint64_t __attribute__(( visibility ("protected") )), ff_pw_53) = 0x0035003500350035ULL; +DECLARE_ASM_CONST(16, uint64_t __attribute__(( visibility ("protected") )), ff_pw_18) = 0x0012001200120012ULL; /** * Core of the 1/4 and 3/4 shift bicubic interpolation. diff -uar ffmpeg-0.5.orig/libswscale/swscale.c ffmpeg-0.5/libswscale/swscale.c --- ffmpeg-0.5.orig/libswscale/swscale.c 2009-02-28 09:01:52.000000000 +0100 +++ ffmpeg-0.5/libswscale/swscale.c 2009-07-29 23:53:03.000000000 +0200 @@ -227,22 +227,22 @@ DECLARE_ASM_CONST(8, uint64_t, g15Mask)= 0x03E003E003E003E0LL; DECLARE_ASM_CONST(8, uint64_t, r15Mask)= 0x7C007C007C007C00LL; -DECLARE_ALIGNED(8, const uint64_t, ff_M24A) = 0x00FF0000FF0000FFLL; -DECLARE_ALIGNED(8, const uint64_t, ff_M24B) = 0xFF0000FF0000FF00LL; -DECLARE_ALIGNED(8, const uint64_t, ff_M24C) = 0x0000FF0000FF0000LL; +DECLARE_ALIGNED(8, const uint64_t __attribute__(( visibility ("protected") )), ff_M24A) = 0x00FF0000FF0000FFLL; +DECLARE_ALIGNED(8, const uint64_t __attribute__(( visibility ("protected") )), ff_M24B) = 0xFF0000FF0000FF00LL; +DECLARE_ALIGNED(8, const uint64_t __attribute__(( visibility ("protected") )), ff_M24C) = 0x0000FF0000FF0000LL; #ifdef FAST_BGR2YV12 -DECLARE_ALIGNED(8, const uint64_t, ff_bgr2YCoeff) = 0x000000210041000DULL; -DECLARE_ALIGNED(8, const uint64_t, ff_bgr2UCoeff) = 0x0000FFEEFFDC0038ULL; -DECLARE_ALIGNED(8, const uint64_t, ff_bgr2VCoeff) = 0x00000038FFD2FFF8ULL; +DECLARE_ALIGNED(8, const uint64_t __attribute__(( visibility ("protected") )), ff_bgr2YCoeff) = 0x000000210041000DULL; +DECLARE_ALIGNED(8, const uint64_t __attribute__(( visibility ("protected") )), ff_bgr2UCoeff) = 0x0000FFEEFFDC0038ULL; +DECLARE_ALIGNED(8, const uint64_t __attribute__(( visibility ("protected") )), ff_bgr2VCoeff) = 0x00000038FFD2FFF8ULL; #else -DECLARE_ALIGNED(8, const uint64_t, ff_bgr2YCoeff) = 0x000020E540830C8BULL; -DECLARE_ALIGNED(8, const uint64_t, ff_bgr2UCoeff) = 0x0000ED0FDAC23831ULL; -DECLARE_ALIGNED(8, const uint64_t, ff_bgr2VCoeff) = 0x00003831D0E6F6EAULL; +DECLARE_ALIGNED(8, const uint64_t __attribute__(( visibility ("protected") )), ff_bgr2YCoeff) = 0x000020E540830C8BULL; +DECLARE_ALIGNED(8, const uint64_t __attribute__(( visibility ("protected") )), ff_bgr2UCoeff) = 0x0000ED0FDAC23831ULL; +DECLARE_ALIGNED(8, const uint64_t __attribute__(( visibility ("protected") )), ff_bgr2VCoeff) = 0x00003831D0E6F6EAULL; #endif /* FAST_BGR2YV12 */ -DECLARE_ALIGNED(8, const uint64_t, ff_bgr2YOffset) = 0x1010101010101010ULL; -DECLARE_ALIGNED(8, const uint64_t, ff_bgr2UVOffset) = 0x8080808080808080ULL; -DECLARE_ALIGNED(8, const uint64_t, ff_w1111) = 0x0001000100010001ULL; +DECLARE_ALIGNED(8, const uint64_t __attribute__(( visibility ("protected") )), ff_bgr2YOffset) = 0x1010101010101010ULL; +DECLARE_ALIGNED(8, const uint64_t __attribute__(( visibility ("protected") )), ff_bgr2UVOffset) = 0x8080808080808080ULL; +DECLARE_ALIGNED(8, const uint64_t __attribute__(( visibility ("protected") )), ff_w1111) = 0x0001000100010001ULL; DECLARE_ASM_CONST(8, uint64_t, ff_bgr24toY1Coeff) = 0x0C88000040870C88ULL; DECLARE_ASM_CONST(8, uint64_t, ff_bgr24toY2Coeff) = 0x20DE4087000020DEULL;