x86: sbrdsp/fft: reuse ps_neg constant
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
51dd80e751
commit
75837e9add
@ -56,3 +56,5 @@ DECLARE_ALIGNED(32, const ymm_reg, ff_pb_3) = { 0x0303030303030303ULL, 0x030
|
|||||||
0x0303030303030303ULL, 0x0303030303030303ULL };
|
0x0303030303030303ULL, 0x0303030303030303ULL };
|
||||||
DECLARE_ALIGNED(16, const xmm_reg, ff_pb_80) = { 0x8080808080808080ULL, 0x8080808080808080ULL };
|
DECLARE_ALIGNED(16, const xmm_reg, ff_pb_80) = { 0x8080808080808080ULL, 0x8080808080808080ULL };
|
||||||
DECLARE_ALIGNED(8, const uint64_t, ff_pb_FC) = 0xFCFCFCFCFCFCFCFCULL;
|
DECLARE_ALIGNED(8, const uint64_t, ff_pb_FC) = 0xFCFCFCFCFCFCFCFCULL;
|
||||||
|
|
||||||
|
DECLARE_ALIGNED(16, const xmm_reg, ff_ps_neg) = { 0x8000000080000000ULL, 0x8000000080000000ULL };
|
||||||
|
@ -55,4 +55,6 @@ extern const xmm_reg ff_pb_80;
|
|||||||
extern const xmm_reg ff_pb_F8;
|
extern const xmm_reg ff_pb_F8;
|
||||||
extern const uint64_t ff_pb_FC;
|
extern const uint64_t ff_pb_FC;
|
||||||
|
|
||||||
|
extern const xmm_reg ff_ps_neg;
|
||||||
|
|
||||||
#endif /* AVCODEC_X86_CONSTANTS_H */
|
#endif /* AVCODEC_X86_CONSTANTS_H */
|
||||||
|
@ -68,9 +68,10 @@ perm1: dd 0x00, 0x02, 0x03, 0x01, 0x03, 0x00, 0x02, 0x01
|
|||||||
perm2: dd 0x00, 0x01, 0x02, 0x03, 0x01, 0x00, 0x02, 0x03
|
perm2: dd 0x00, 0x01, 0x02, 0x03, 0x01, 0x00, 0x02, 0x03
|
||||||
ps_p1p1m1p1root2: dd 1.0, 1.0, -1.0, 1.0, M_SQRT1_2, M_SQRT1_2, M_SQRT1_2, M_SQRT1_2
|
ps_p1p1m1p1root2: dd 1.0, 1.0, -1.0, 1.0, M_SQRT1_2, M_SQRT1_2, M_SQRT1_2, M_SQRT1_2
|
||||||
ps_m1m1p1m1p1m1m1m1: dd 1<<31, 1<<31, 0, 1<<31, 0, 1<<31, 1<<31, 1<<31
|
ps_m1m1p1m1p1m1m1m1: dd 1<<31, 1<<31, 0, 1<<31, 0, 1<<31, 1<<31, 1<<31
|
||||||
ps_m1m1m1m1: times 4 dd 1<<31
|
|
||||||
ps_m1p1: dd 1<<31, 0
|
ps_m1p1: dd 1<<31, 0
|
||||||
|
|
||||||
|
cextern ps_neg
|
||||||
|
|
||||||
%assign i 16
|
%assign i 16
|
||||||
%rep 13
|
%rep 13
|
||||||
cextern cos_ %+ i
|
cextern cos_ %+ i
|
||||||
@ -685,7 +686,7 @@ cglobal imdct_calc, 3,5,3
|
|||||||
mov r2, r3
|
mov r2, r3
|
||||||
sub r3, mmsize
|
sub r3, mmsize
|
||||||
neg r2
|
neg r2
|
||||||
mova m2, [ps_m1m1m1m1]
|
mova m2, [ps_neg]
|
||||||
.loop:
|
.loop:
|
||||||
%if mmsize == 8
|
%if mmsize == 8
|
||||||
PSWAPD m0, [r1 + r3]
|
PSWAPD m0, [r1 + r3]
|
||||||
@ -998,7 +999,7 @@ cglobal imdct_half, 3,12,8; FFTContext *s, FFTSample *output, const FFTSample *i
|
|||||||
sub r4, r3
|
sub r4, r3
|
||||||
%endif
|
%endif
|
||||||
%if notcpuflag(3dnowext) && mmsize == 8
|
%if notcpuflag(3dnowext) && mmsize == 8
|
||||||
movd m7, [ps_m1m1m1m1]
|
movd m7, [ps_neg]
|
||||||
%endif
|
%endif
|
||||||
.pre:
|
.pre:
|
||||||
%if ARCH_X86_64 == 0
|
%if ARCH_X86_64 == 0
|
||||||
|
@ -25,13 +25,13 @@ SECTION_RODATA
|
|||||||
; mask equivalent for multiply by -1.0 1.0
|
; mask equivalent for multiply by -1.0 1.0
|
||||||
ps_mask times 2 dd 1<<31, 0
|
ps_mask times 2 dd 1<<31, 0
|
||||||
ps_mask2 times 2 dd 0, 1<<31
|
ps_mask2 times 2 dd 0, 1<<31
|
||||||
ps_neg times 4 dd 1<<31
|
|
||||||
ps_noise0 times 2 dd 1.0, 0.0,
|
ps_noise0 times 2 dd 1.0, 0.0,
|
||||||
ps_noise2 times 2 dd -1.0, 0.0
|
ps_noise2 times 2 dd -1.0, 0.0
|
||||||
ps_noise13 dd 0.0, 1.0, 0.0, -1.0
|
ps_noise13 dd 0.0, 1.0, 0.0, -1.0
|
||||||
dd 0.0, -1.0, 0.0, 1.0
|
dd 0.0, -1.0, 0.0, 1.0
|
||||||
dd 0.0, 1.0, 0.0, -1.0
|
dd 0.0, 1.0, 0.0, -1.0
|
||||||
cextern sbr_noise_table
|
cextern sbr_noise_table
|
||||||
|
cextern ps_neg
|
||||||
|
|
||||||
SECTION_TEXT
|
SECTION_TEXT
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user