From 851b3455cb3ce3482143a62da498de8e578d136c Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Sun, 16 May 2010 13:25:46 +0000 Subject: Initial revision --- vlc/build/ffmpeg-r23145_x86_64_asm.patch | 163 +++++++++++++++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 vlc/build/ffmpeg-r23145_x86_64_asm.patch (limited to 'vlc/build/ffmpeg-r23145_x86_64_asm.patch') diff --git a/vlc/build/ffmpeg-r23145_x86_64_asm.patch b/vlc/build/ffmpeg-r23145_x86_64_asm.patch new file mode 100644 index 00000000..08610231 --- /dev/null +++ b/vlc/build/ffmpeg-r23145_x86_64_asm.patch @@ -0,0 +1,163 @@ +diff -uarN ffmpeg-r23145.orig/libavcodec/fft.h ffmpeg-r23145/libavcodec/fft.h +--- ffmpeg-r23145.orig/libavcodec/fft.h 2010-05-16 15:21:20.000000000 +0200 ++++ ffmpeg-r23145/libavcodec/fft.h 2010-05-16 15:22:29.000000000 +0200 +@@ -62,12 +62,16 @@ + #define SINETABLE_CONST + #endif + ++#ifndef _ATTR_HIDDEN ++#define _ATTR_HIDDEN __attribute__((visibility("hidden"))) ++#endif ++ + #define COSTABLE(size) \ +- COSTABLE_CONST DECLARE_ALIGNED(16, FFTSample, ff_cos_##size)[size/2] ++ COSTABLE_CONST DECLARE_ALIGNED(16, FFTSample, _ATTR_HIDDEN ff_cos_##size)[size/2] + #define SINTABLE(size) \ +- SINTABLE_CONST DECLARE_ALIGNED(16, FFTSample, ff_sin_##size)[size/2] ++ SINTABLE_CONST DECLARE_ALIGNED(16, FFTSample, _ATTR_HIDDEN ff_sin_##size)[size/2] + #define SINETABLE(size) \ +- SINETABLE_CONST DECLARE_ALIGNED(16, float, ff_sine_##size)[size] ++ SINETABLE_CONST DECLARE_ALIGNED(16, float, _ATTR_HIDDEN ff_sine_##size)[size] + extern COSTABLE(16); + extern COSTABLE(32); + extern COSTABLE(64); +diff -uarN ffmpeg-r23145.orig/libavcodec/x86/dsputil_mmx.h ffmpeg-r23145/libavcodec/x86/dsputil_mmx.h +--- ffmpeg-r23145.orig/libavcodec/x86/dsputil_mmx.h 2010-05-16 15:21:17.000000000 +0200 ++++ ffmpeg-r23145/libavcodec/x86/dsputil_mmx.h 2010-05-16 15:22:29.000000000 +0200 +@@ -25,39 +25,43 @@ + #include + #include "libavcodec/dsputil.h" + ++#ifndef _ATTR_HIDDEN ++#define _ATTR_HIDDEN __attribute__((visibility("hidden"))) ++#endif ++ + typedef struct { uint64_t a, b; } xmm_reg; + +-extern const uint64_t ff_bone; +-extern const uint64_t ff_wtwo; ++extern const uint64_t _ATTR_HIDDEN ff_bone; ++extern const uint64_t _ATTR_HIDDEN ff_wtwo; + +-extern const uint64_t ff_pdw_80000000[2]; ++extern const uint64_t _ATTR_HIDDEN ff_pdw_80000000[2]; + +-extern const uint64_t ff_pw_3; +-extern const uint64_t ff_pw_4; +-extern const xmm_reg ff_pw_5; +-extern const xmm_reg ff_pw_8; +-extern const uint64_t ff_pw_15; +-extern const xmm_reg ff_pw_16; +-extern const uint64_t ff_pw_20; +-extern const xmm_reg ff_pw_28; +-extern const xmm_reg ff_pw_32; +-extern const uint64_t ff_pw_42; +-extern const xmm_reg ff_pw_64; +-extern const uint64_t ff_pw_96; +-extern const uint64_t ff_pw_128; +-extern const uint64_t ff_pw_255; +- +-extern const uint64_t ff_pb_1; +-extern const uint64_t ff_pb_3; +-extern const uint64_t ff_pb_7; +-extern const uint64_t ff_pb_1F; +-extern const uint64_t ff_pb_3F; +-extern const uint64_t ff_pb_81; +-extern const uint64_t ff_pb_A1; +-extern const uint64_t ff_pb_FC; ++extern const uint64_t _ATTR_HIDDEN ff_pw_3; ++extern const uint64_t _ATTR_HIDDEN ff_pw_4; ++extern const xmm_reg _ATTR_HIDDEN ff_pw_5; ++extern const xmm_reg _ATTR_HIDDEN ff_pw_8; ++extern const uint64_t _ATTR_HIDDEN ff_pw_15; ++extern const xmm_reg _ATTR_HIDDEN ff_pw_16; ++extern const uint64_t _ATTR_HIDDEN ff_pw_20; ++extern const xmm_reg _ATTR_HIDDEN ff_pw_28; ++extern const xmm_reg _ATTR_HIDDEN ff_pw_32; ++extern const uint64_t _ATTR_HIDDEN ff_pw_42; ++extern const xmm_reg _ATTR_HIDDEN ff_pw_64; ++extern const uint64_t _ATTR_HIDDEN ff_pw_96; ++extern const uint64_t _ATTR_HIDDEN ff_pw_128; ++extern const uint64_t _ATTR_HIDDEN ff_pw_255; ++ ++extern const uint64_t _ATTR_HIDDEN ff_pb_1; ++extern const uint64_t _ATTR_HIDDEN ff_pb_3; ++extern const uint64_t _ATTR_HIDDEN ff_pb_7; ++extern const uint64_t _ATTR_HIDDEN ff_pb_1F; ++extern const uint64_t _ATTR_HIDDEN ff_pb_3F; ++extern const uint64_t _ATTR_HIDDEN ff_pb_81; ++extern const uint64_t _ATTR_HIDDEN ff_pb_A1; ++extern const uint64_t _ATTR_HIDDEN ff_pb_FC; + +-extern const double ff_pd_1[2]; +-extern const double ff_pd_2[2]; ++extern const double _ATTR_HIDDEN ff_pd_1[2]; ++extern const double _ATTR_HIDDEN ff_pd_2[2]; + + #define LOAD4(stride,in,a,b,c,d)\ + "movq 0*"#stride"+"#in", "#a"\n\t"\ +diff -uarN ffmpeg-r23145.orig/libavcodec/x86/vc1dsp_mmx.c ffmpeg-r23145/libavcodec/x86/vc1dsp_mmx.c +--- ffmpeg-r23145.orig/libavcodec/x86/vc1dsp_mmx.c 2010-05-16 15:21:17.000000000 +0200 ++++ ffmpeg-r23145/libavcodec/x86/vc1dsp_mmx.c 2010-05-16 15:22:29.000000000 +0200 +@@ -73,7 +73,11 @@ + "movq %%mm"#R1", "#OFF"(%1) \n\t" \ + "add %2, %0 \n\t" + +-DECLARE_ALIGNED(16, const uint64_t, ff_pw_9) = 0x0009000900090009ULL; ++#ifndef _ATTR_HIDDEN ++#define _ATTR_HIDDEN __attribute__((visibility("hidden"))) ++#endif ++ ++DECLARE_ALIGNED(16, const uint64_t, _ATTR_HIDDEN ff_pw_9) = 0x0009000900090009ULL; + + /** Sacrifying mm6 allows to pipeline loads from src */ + static void vc1_put_ver_16b_shift2_mmx(int16_t *dst, +diff -uarN ffmpeg-r23145.orig/libswscale/swscale.c ffmpeg-r23145/libswscale/swscale.c +--- ffmpeg-r23145.orig/libswscale/swscale.c 2010-05-16 15:21:24.000000000 +0200 ++++ ffmpeg-r23145/libswscale/swscale.c 2010-05-16 15:22:29.000000000 +0200 +@@ -127,6 +127,10 @@ + write special BGR->BGR scaler + */ + ++#ifndef _ATTR_HIDDEN ++#define _ATTR_HIDDEN __attribute__((visibility("hidden"))) ++#endif ++ + #if ARCH_X86 + DECLARE_ASM_CONST(8, uint64_t, bF8)= 0xF8F8F8F8F8F8F8F8LL; + DECLARE_ASM_CONST(8, uint64_t, bFC)= 0xFCFCFCFCFCFCFCFCLL; +@@ -152,22 +156,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, _ATTR_HIDDEN ff_M24A) = 0x00FF0000FF0000FFLL; ++DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_M24B) = 0xFF0000FF0000FF00LL; ++DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN 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, _ATTR_HIDDEN ff_bgr2YCoeff) = 0x000000210041000DULL; ++DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2UCoeff) = 0x0000FFEEFFDC0038ULL; ++DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN 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, _ATTR_HIDDEN ff_bgr2YCoeff) = 0x000020E540830C8BULL; ++DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2UCoeff) = 0x0000ED0FDAC23831ULL; ++DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN 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, _ATTR_HIDDEN ff_bgr2YOffset) = 0x1010101010101010ULL; ++DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2UVOffset) = 0x8080808080808080ULL; ++DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_w1111) = 0x0001000100010001ULL; + + DECLARE_ASM_CONST(8, uint64_t, ff_bgr24toY1Coeff) = 0x0C88000040870C88ULL; + DECLARE_ASM_CONST(8, uint64_t, ff_bgr24toY2Coeff) = 0x20DE4087000020DEULL; -- cgit v1.2.3-65-gdbad