diff options
Diffstat (limited to 'libavcodec/bfin/idct_bfin.S')
-rw-r--r-- | libavcodec/bfin/idct_bfin.S | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/libavcodec/bfin/idct_bfin.S b/libavcodec/bfin/idct_bfin.S index e40e5e0085..7bb104038d 100644 --- a/libavcodec/bfin/idct_bfin.S +++ b/libavcodec/bfin/idct_bfin.S @@ -57,7 +57,11 @@ IDCT BFINidct: 88.3 kdct/s #include "config_bfin.h" +#ifdef __FDPIC__ .section .l1.data.B,"aw",@progbits +#else +.data +#endif .align 4; coefs: @@ -72,7 +76,9 @@ coefs: .short 0x18F9; //cos(7pi/16) .short 0x7D8A; //cos(pi/16) -.section .l1.data.A +#ifdef __FDPIC__ +.section .l1.data.A,"aw",@progbits +#endif vtmp: .space 256 @@ -81,6 +87,7 @@ vtmp: .space 256 #define TMP2 FP-16 +.text DEFUN(idct,mL1, (DCTELEM *block)): @@ -88,8 +95,8 @@ DEFUN(idct,mL1, link 16; [--SP] = (R7:4, P5:3); // Push the registers onto the stack. B0 = R0; // Pointer to Input matrix - R1 = [P3+coefs@GOT17M4]; // Pointer to Coefficients - R2 = [P3+vtmp@GOT17M4]; // Pointer to Temporary matrix + RELOC(R1, P3, coefs); // Pointer to Coefficients + RELOC(R2, P3, vtmp); // Pointer to Temporary matrix B3 = R1; B2 = R2; L3 = 20; // L3 is used for making the coefficient array |