Hi, On Thu, May 31, 2012 at 6:58 PM, Justin Ruggles <[email protected]> wrote: > --- > libavresample/x86/audio_convert.asm | 36 > ++++++++++++++++++++++++++++++++ > libavresample/x86/audio_convert_init.c | 9 ++++++++ > 2 files changed, 45 insertions(+), 0 deletions(-) > > diff --git a/libavresample/x86/audio_convert.asm > b/libavresample/x86/audio_convert.asm > index e2cfbf9..746a616 100644 > --- a/libavresample/x86/audio_convert.asm > +++ b/libavresample/x86/audio_convert.asm > @@ -22,6 +22,11 @@ > > %include "x86inc.asm" > %include "x86util.asm" > +%include "util.asm" > + > +SECTION_RODATA 32 > + > +pf_s16_inv_scale: times 4 dd 0x38000000 > > SECTION_TEXT > > @@ -47,6 +52,37 @@ cglobal conv_s16_to_s32, 3,3,3, dst, src, len > jl .loop > REP_RET > > +;------------------------------------------------------------------------------ > +; void ff_conv_s16_to_flt(float *dst, const int16_t *src, int len); > +;------------------------------------------------------------------------------ > + > +%macro CONV_S16_TO_FLT 0 > +cglobal conv_s16_to_flt, 3,3,3, dst, src, len > + lea lenq, [2*lend] > + add srcq, lenq > + lea dstq, [dstq + 2*lenq] > + neg lenq > + mova m2, [pf_s16_inv_scale] > + ALIGN 16 > +.loop: > + mova m0, [srcq+lenq] > + S16_TO_S32_SX 0, 1 > + cvtdq2ps m0, m0 > + cvtdq2ps m1, m1 > + mulps m0, m0, m2 > + mulps m1, m1, m2
At this point, the mulps 3 args is a little confusing. Otherwise patch OK. Ronald _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
