[FFmpeg-cvslog] x86: sbrdsp: force PIC addressing for Win64

Christophe Gisquet git at videolan.org
Wed May 8 03:39:30 CEST 2013


ffmpeg | branch: master | Christophe Gisquet <christophe.gisquet at gmail.com> | Tue May  7 20:35:22 2013 +0000| [fc37cd43338b8c8ad201c1e6013d402c1b51e917] | committer: Michael Niedermayer

x86: sbrdsp: force PIC addressing for Win64

MSVC complains about the 32bits addressing, while mingw/gcc does not.

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fc37cd43338b8c8ad201c1e6013d402c1b51e917
---

 libavcodec/x86/sbrdsp.asm    |   13 ++-----------
 libavcodec/x86/sbrdsp_init.c |    2 --
 2 files changed, 2 insertions(+), 13 deletions(-)

diff --git a/libavcodec/x86/sbrdsp.asm b/libavcodec/x86/sbrdsp.asm
index c4c9578..479c30d 100644
--- a/libavcodec/x86/sbrdsp.asm
+++ b/libavcodec/x86/sbrdsp.asm
@@ -321,12 +321,6 @@ cglobal sbr_qmf_pre_shuffle, 1,4,7,z
     movq    [r2q], m2
     REP_RET
 
-%if WIN64 == 0
-
-%if WIN64
-%define NREGS 0
-%define NOISE_TABLE sbr_noise_table
-%else
 %ifdef PIC
 %define NREGS 1
 %if UNIX64
@@ -338,10 +332,9 @@ cglobal sbr_qmf_pre_shuffle, 1,4,7,z
 %define NREGS 0
 %define NOISE_TABLE sbr_noise_table
 %endif
-%endif
 
 %macro LOAD_NST  1
-%if NREGS
+%ifdef PIC
     lea  NOISE_TABLE, [%1]
     mova          m0, [kxq + NOISE_TABLE]
 %else
@@ -390,7 +383,7 @@ apply_noise_main:
 %endif
     dec    noiseq
     shl    count, 2
-%if NREGS
+%ifdef PIC
     lea NOISE_TABLE, [sbr_noise_table]
 %endif
     lea        Yq, [Yq + 2*count]
@@ -430,5 +423,3 @@ apply_noise_main:
     add    count, mmsize
     jl      .loop
     RET
-
-%endif ; WIN64 == 0
diff --git a/libavcodec/x86/sbrdsp_init.c b/libavcodec/x86/sbrdsp_init.c
index 4eff496..0bc4a61 100644
--- a/libavcodec/x86/sbrdsp_init.c
+++ b/libavcodec/x86/sbrdsp_init.c
@@ -68,11 +68,9 @@ av_cold void ff_sbrdsp_init_x86(SBRDSPContext *s)
     if (EXTERNAL_SSE2(mm_flags)) {
         s->qmf_deint_bfly   = ff_sbr_qmf_deint_bfly_sse2;
         s->qmf_pre_shuffle  = ff_sbr_qmf_pre_shuffle_sse2;
-#if ARCH_X86_32 || !defined(_WIN32)
         s->hf_apply_noise[0] = ff_sbr_hf_apply_noise_0_sse2;
         s->hf_apply_noise[1] = ff_sbr_hf_apply_noise_1_sse2;
         s->hf_apply_noise[2] = ff_sbr_hf_apply_noise_2_sse2;
         s->hf_apply_noise[3] = ff_sbr_hf_apply_noise_3_sse2;
-#endif
     }
 }



More information about the ffmpeg-cvslog mailing list