Op 16 jan. 2014, om 13:08 heeft Arslan, Fahad <fahad_ars...@mentor.com> het 
volgende geschreven:

>> 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 :)
> 
> Seems I misunderstood the statement earlier. So to confirm, do you mean I 
> should submit patch here for original bug in Speex source code?

Whatever allows us to use fixed-point mode on fpuless systems

> 
> ________________________________________
> From: Koen Kooi [k...@dominion.thruhere.net]
> Sent: Friday, January 10, 2014 8:33 PM
> To: Arslan, Fahad
> Cc: Saul Wold; openembedded-core@lists.openembedded.org; Marcin Juszkiewicz
> Subject: Re: [OE-core] [PATCH] pulseaudio: rescale input being passed to 
> float method of speex
> 
> 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

Reply via email to