Op 10 jan. 2014, om 08:48 heeft Arslan, Fahad <fahad_ars...@mentor.com> het volgende geschreven:
>> def get_speex_fpu_setting(bb, d): >> if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]: >> return "--enable-fixed-point --disable-float-api --disable-vbr" >> return "" > > If we are using Pulseaudio with default settings (speex-float-1) and > the if condition in above method is evaluated true, we will end up facing > the original issue: streams that need to be resampled are not playedback > since input to speex is zeroed out when float input passed by Pulseaudio > in range of +/-1 is converted to int. > > So isn't Case 2 appropriate, thoughts? It's also 10-50x slower on ARM, so always enabling float is a bad option. Just patch it to work, no matter what upstream says :) > > Regards, > Fahad > > ________________________________________ > From: Koen Kooi [k...@dominion.thruhere.net] > Sent: Tuesday, January 07, 2014 3:22 PM > To: Arslan, Fahad > Cc: Saul Wold; openembedded-core@lists.openembedded.org; mar...@juszkiewicz.pl > Subject: Re: [OE-core] [PATCH] pulseaudio: rescale input being passed to > float method of speex > > Marcins linaro mail address has expired, adding the other one > > Op 7 jan. 2014, om 11:03 heeft Koen Kooi <k...@dominion.thruhere.net> het > volgende geschreven: > >> >> Op 7 jan. 2014, om 10:59 heeft Arslan, Fahad <fahad_ars...@mentor.com> het >> volgende geschreven: >> >>>> What affect does it have on the overall size of speex >>> >>> If we enable floating point support, there is decrease in size of libs. >>> libspeexdsp.so is ~480 KB in fixed point configuration >>> libspeexdsp.so is ~220 KB in floating point configuration >>> >>> Further details are shown below: >>> >>> >>> Case-1 (current configuration) >>> ====== >>> >>> EXTRA_OECONF = " --enable-fixed-point >>> --with-ogg-libraries=${STAGING_LIBDIR} \ >>> --disable-float-api --disable-vbr \ >>> --with-ogg-includes=${STAGING_INCDIR} --disable-oggtest" >>> >>> build$ >>> build$ ls -l src/.libs/speex* >>> -rwxr-xr-x 1 farslan farslan 75112 Jan 7 14:09 src/.libs/speexdec >>> -rwxr-xr-x 1 farslan farslan 76989 Jan 7 14:09 src/.libs/speexenc >>> build$ file src/.libs/speex* >>> src/.libs/speexdec: ELF 32-bit LSB executable, ARM, version 1 (SYSV), >>> dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped >>> src/.libs/speexenc: ELF 32-bit LSB executable, ARM, version 1 (SYSV), >>> dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped >>> build$ >>> build$ >>> build$ ls -l libspeex/.libs/libspeex*.so.1.5.0 >>> -rwxr-xr-x 1 farslan farslan 484940 Jan 7 14:09 >>> libspeex/.libs/libspeexdsp.so.1.5.0 >>> -rwxr-xr-x 1 farslan farslan 370309 Jan 7 14:09 >>> libspeex/.libs/libspeex.so.1.5.0 >>> build$ >>> build$ file libspeex/.libs/libspeex*.so.1.5.0 >>> libspeex/.libs/libspeexdsp.so.1.5.0: ELF 32-bit LSB shared object, ARM, >>> version 1 (SYSV), dynamically linked, not stripped >>> libspeex/.libs/libspeex.so.1.5.0: ELF 32-bit LSB shared object, ARM, >>> version 1 (SYSV), dynamically linked, not stripped >>> build$ >>> >>> >>> Case-2 (suggested configuration) >>> ====== >>> >>> EXTRA_OECONF = " --with-ogg-libraries=${STAGING_LIBDIR} \ >>> --enable-float-api --disable-vbr \ >>> --with-ogg-includes=${STAGING_INCDIR} --disable-oggtest" >> >> Or case 3, which I implemented 3 years ago in >> https://github.com/openembedded/openembedded/commit/e06553979d23531397af3dd71870abb80718c681 >> : >> >> def get_speex_fpu_setting(bb, d): >> if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]: >> return "--enable-fixed-point --disable-float-api --disable-vbr" >> return "" >> >> >> EXTRA_OECONF += "${@get_speex_fpu_setting(bb, d)} >> >> That OE-classic recipe also has support for arm asm which speed things up a >> lot. >> >> regards, >> >> Koen > > _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core