[OE-core] [PATCH] pulseaudio: rescale input being passed to float method of speex
Koen Kooi
koen at dominion.thruhere.net
Tue Jan 7 10:03:38 UTC 2014
Op 7 jan. 2014, om 10:59 heeft Arslan, Fahad <Fahad_Arslan at 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
More information about the Openembedded-core
mailing list