Browse Source

swr-x86-SIMD: 3 instructions less for stereo planar->packed s32/flt->s16

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n0.11
Michael Niedermayer 13 years ago
parent
commit
adfa53b91f
1 changed files with 12 additions and 7 deletions
  1. +12
    -7
      libswresample/x86/audio_convert.asm

+ 12
- 7
libswresample/x86/audio_convert.asm View File

@@ -52,6 +52,7 @@ pack_2ch_%2_to_%1_u_int %+ SUFFIX
neg lenq
%7
.next:
%if %4 >= %5
mov%3 m0, [ srcq +(1<<%5)*lenq]
mova m1, m0
mov%3 m2, [ src2q+(1<<%5)*lenq]
@@ -62,14 +63,18 @@ pack_2ch_%2_to_%1_u_int %+ SUFFIX
punpckldq m0, m2
punpckhdq m1, m2
%endif
%if %4 < %5
mov%3 m2, [mmsize + srcq +(1<<%5)*lenq]
mova m3, m2
mov%3 m4, [mmsize + src2q+(1<<%5)*lenq]
punpckldq m2, m4
punpckhdq m3, m4
%endif
%6
%else
mov%3 m0, [ srcq +(1<<%5)*lenq]
mov%3 m1, [mmsize + srcq +(1<<%5)*lenq]
mov%3 m2, [ src2q+(1<<%5)*lenq]
mov%3 m3, [mmsize + src2q+(1<<%5)*lenq]
%6
mova m2, m0
punpcklwd m0, m1
punpckhwd m2, m1
SWAP 1,2
%endif
mov%3 [ dstq+(2<<%4)*lenq], m0
mov%3 [ mmsize + dstq+(2<<%4)*lenq], m1
%if %4 > %5


Loading…
Cancel
Save