| @@ -125,21 +125,16 @@ DCT BFINfdct: err_inf=2 err2=0.16425938 syserr=0.00795000 maxout=2098 blockSumEr | |||||
| DCT BFINfdct: 92.1 kdct/s | DCT BFINfdct: 92.1 kdct/s | ||||
| */ | */ | ||||
| #include "config.h" | |||||
| #include "config_bfin.h" | |||||
| #if defined(__FDPIC__) && CONFIG_SRAM | |||||
| .section .l1.data.B,"aw",@progbits | |||||
| #else | |||||
| .data | |||||
| #endif | |||||
| #include "libavutil/bfin/asm.h" | |||||
| SECTION_L1_DATA_B | |||||
| .align 4; | .align 4; | ||||
| dct_coeff: | dct_coeff: | ||||
| .short 0x5a82, 0x2d41, 0x187e, 0x3b21, 0x0c7c, 0x3ec5, 0x238e, 0x3537; | .short 0x5a82, 0x2d41, 0x187e, 0x3b21, 0x0c7c, 0x3ec5, 0x238e, 0x3537; | ||||
| #if defined(__FDPIC__) && CONFIG_SRAM | |||||
| .section .l1.data.A,"aw",@progbits | |||||
| #endif | |||||
| SECTION_L1_DATA_A | |||||
| .align 4 | .align 4 | ||||
| vtmp: .space 128 | vtmp: .space 128 | ||||
| @@ -19,7 +19,7 @@ | |||||
| * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||||
| */ | */ | ||||
| #include "config_bfin.h" | |||||
| #include "libavutil/bfin/asm.h" | |||||
| /* | /* | ||||
| motion compensation | motion compensation | ||||
| @@ -55,14 +55,9 @@ IDCT BFINidct: 88.3 kdct/s | |||||
| */ | */ | ||||
| #include "config.h" | |||||
| #include "config_bfin.h" | |||||
| #include "libavutil/bfin/asm.h" | |||||
| #if defined(__FDPIC__) && CONFIG_SRAM | |||||
| .section .l1.data.B,"aw",@progbits | |||||
| #else | |||||
| .data | |||||
| #endif | |||||
| SECTION_L1_DATA_B | |||||
| .align 4; | .align 4; | ||||
| coefs: | coefs: | ||||
| @@ -77,9 +72,7 @@ coefs: | |||||
| .short 0x18F9; //cos(7pi/16) | .short 0x18F9; //cos(7pi/16) | ||||
| .short 0x7D8A; //cos(pi/16) | .short 0x7D8A; //cos(pi/16) | ||||
| #if defined(__FDPIC__) && CONFIG_SRAM | |||||
| .section .l1.data.A,"aw",@progbits | |||||
| #endif | |||||
| SECTION_L1_DATA_A | |||||
| vtmp: .space 256 | vtmp: .space 256 | ||||
| @@ -18,7 +18,8 @@ | |||||
| * License along with Libav; if not, write to the Free Software | * License along with Libav; if not, write to the Free Software | ||||
| * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||||
| */ | */ | ||||
| #include "config_bfin.h" | |||||
| #include "libavutil/bfin/asm.h" | |||||
| DEFUN(put_pixels_clamped,mL1, | DEFUN(put_pixels_clamped,mL1, | ||||
| (int16_t *block, uint8_t *dest, int line_size)): | (int16_t *block, uint8_t *dest, int line_size)): | ||||
| @@ -28,14 +28,9 @@ Registers Used : A0, A1, R0-R7, I0-I3, B0, B2, B3, M0-M2, L0-L3, P0-P5, LC0. | |||||
| */ | */ | ||||
| #include "config.h" | |||||
| #include "config_bfin.h" | |||||
| #include "libavutil/bfin/asm.h" | |||||
| #if defined(__FDPIC__) && CONFIG_SRAM | |||||
| .section .l1.data.B,"aw",@progbits | |||||
| #else | |||||
| .data | |||||
| #endif | |||||
| SECTION_L1_DATA_B | |||||
| .align 4; | .align 4; | ||||
| coefs: | coefs: | ||||
| @@ -50,9 +45,7 @@ coefs: | |||||
| .short 0x18F9; //cos(7pi/16) | .short 0x18F9; //cos(7pi/16) | ||||
| .short 0x7D8A; //cos(pi/16) | .short 0x7D8A; //cos(pi/16) | ||||
| #if defined(__FDPIC__) && CONFIG_SRAM | |||||
| .section .l1.data.A,"aw",@progbits | |||||
| #endif | |||||
| SECTION_L1_DATA_A | |||||
| vtmp: .space 256 | vtmp: .space 256 | ||||
| @@ -18,32 +18,22 @@ | |||||
| * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||||
| */ | */ | ||||
| /* | |||||
| * low level assembler interface wrapper | |||||
| * | |||||
| * DEFUN(put_pixels_clamped,mL1, | |||||
| * (int16_t *block, uint8_t *dest, int line_size)): | |||||
| * | |||||
| * body | |||||
| * | |||||
| * rts; | |||||
| */ | |||||
| #ifndef AVCODEC_BFIN_CONFIG_BFIN_H | |||||
| #define AVCODEC_BFIN_CONFIG_BFIN_H | |||||
| #ifndef AVUTIL_BFIN_ASM_H | |||||
| #define AVUTIL_BFIN_ASM_H | |||||
| #include "config.h" | #include "config.h" | ||||
| #ifndef DEFUN | |||||
| #define mL3 .text | #define mL3 .text | ||||
| #ifndef mL1 | |||||
| #if defined(__FDPIC__) && CONFIG_SRAM | #if defined(__FDPIC__) && CONFIG_SRAM | ||||
| #define mL1 .l1.text | #define mL1 .l1.text | ||||
| #define SECTION_L1_DATA_A .section .l1.data.A,"aw",@progbits | |||||
| #define SECTION_L1_DATA_B .section .l1.data.B,"aw",@progbits | |||||
| #else | #else | ||||
| #define mL1 mL3 | #define mL1 mL3 | ||||
| #define SECTION_L1_DATA_A | |||||
| #define SECTION_L1_DATA_B .data | |||||
| #endif | #endif | ||||
| #endif /* mL1 */ | |||||
| #define DEFUN(fname, where, interface) \ | #define DEFUN(fname, where, interface) \ | ||||
| .section where; \ | .section where; \ | ||||
| @@ -61,6 +51,4 @@ | |||||
| #define RELOC(reg, got, obj) reg.L = obj; reg.H = obj | #define RELOC(reg, got, obj) reg.L = obj; reg.H = obj | ||||
| #endif | #endif | ||||
| #endif /* DEFUN */ | |||||
| #endif /* AVCODEC_BFIN_CONFIG_BFIN_H */ | |||||
| #endif /* AVUTIL_BFIN_ASM_H */ | |||||
| @@ -93,23 +93,9 @@ huge variation on the reference codes on Blackfin I guess it must have | |||||
| to do with the memory system. | to do with the memory system. | ||||
| */ | */ | ||||
| #define mL3 .text | |||||
| #if defined(__FDPIC__) && CONFIG_SRAM | |||||
| #define mL1 .l1.text | |||||
| #else | |||||
| #define mL1 mL3 | |||||
| #endif | |||||
| #define MEM mL1 | |||||
| #define DEFUN(fname,where,interface) \ | |||||
| .section where; \ | |||||
| .global _ff_bfin_ ## fname; \ | |||||
| .type _ff_bfin_ ## fname, STT_FUNC; \ | |||||
| .align 8; \ | |||||
| _ff_bfin_ ## fname | |||||
| #include "libavutil/bfin/asm.h" | |||||
| #define DEFUN_END(fname) \ | |||||
| .size _ff_bfin_ ## fname, . - _ff_bfin_ ## fname | |||||
| #define MEM mL1 | |||||
| .text | .text | ||||