patrick andrieux
2006-Nov-15 05:46 UTC
[Speex-dev] Re: 5. Re: how to build libspeex_armce.lib ? (patrick andrieux)
Hi Dave, I tried defining ARM5E_ASM and ARM4_AS, and you are right, it doesn't compile, But I can't say if the problem come from the Microsoft compiler, because if it doesn't know ARM assembly optimizations, who can know ? We may need to include/install something else to use ARM5E_ASM or ARM4_ASM, or maybe this part of speex's code is not finished. I tried to compare both libspeex_armce.lib and hand-built FIXED_POINT build as well. I encoded 30sec and it tooks around 6sec with libspeex_armce.lib (1.1.16) and around 4sec with 1.2beta1. rgds, Patrick>Thanks Patrick. I have done this too. However, it was my impression that >the libspeex_armce.lib was cross-compiled in GCC. Building in VS2005 >doesn't allow you to take advantage of the ARM assembly optimizations, >since the Microsoft compiler doesn't know how to do that (try defining >ARM5E_ASM or ARM4_ASM and you will see what I mean). At least back in > the 1.1.16 days this seemed to make a big difference for me: the time >taken during a decent sized encode() call was much greater with a >hand-built FIXED_POINT build than it was with libspeex_armce.lib, but >perhaps I was doing something else wrong. I haven't had a chance to see >if that's still the case with 1.2beta1.-------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20061115/505b62d3/attachment.html
Jean-Marc Valin
2006-Nov-15 06:33 UTC
[Speex-dev] Re: 5. Re: how to build libspeex_armce.lib ? (patrick andrieux)
patrick andrieux a ?crit :> Hi Dave, > > I tried defining ARM5E_ASM and ARM4_AS, and you are right, it > doesn't compile, But I can't say if the problem come from the > Microsoft compiler, because if it doesn't know ARM assembly > optimizations, who can know ? We may need to include/install > something else to use ARM5E_ASM or ARM4_ASM, or maybe this part of > speex's code is not finished.The assembly optimisations use the gcc inline assembly syntax, so they won't compile with MS compilers.> I tried to compare both libspeex_armce.lib and hand-built FIXED_POINT > build as well. I encoded 30sec and it tooks around 6sec with > libspeex_armce.lib (1.1.16) and around 4sec with 1.2beta1.Not surprised. 1.2beta1 is much better than the old 1.1.6 (not 1.1.16). Jean-Marc> > rgds, Patrick > > > >> Thanks Patrick. I have done this too. However, it was my impression >> that the libspeex_armce.lib was cross-compiled in GCC. Building in >> VS2005 doesn't allow you to take advantage of the ARM assembly >> optimizations, since the Microsoft compiler doesn't know how to do >> that (try defining ARM5E_ASM or ARM4_ASM and you will see what I >> mean). At least back in the 1.1.16 days this seemed to make a big >> difference for me: the time taken during a decent sized encode() >> call was much greater with a hand-built FIXED_POINT build than it >> was with libspeex_armce.lib, but perhaps I was doing something else >> wrong. I haven't had a chance to see if that's still the case with >> 1.2beta1. > > > ------------------------------------------------------------------------ > > > _______________________________________________ Speex-dev mailing > list Speex-dev@xiph.org > http://lists.xiph.org/mailman/listinfo/speex-dev