From: "Victor Shcherbatyuk" <victor@win.tue.nl>
To: <bluez-devel@lists.sourceforge.net>
Subject: Re: [Bluez-devel] sbc and fixed-point progress
Date: Sun, 28 Aug 2005 00:54:29 +0200 [thread overview]
Message-ID: <002501c5ab5a$4844ec50$0201a8c0@NBVICTOR> (raw)
In-Reply-To: 430EA45A.2030008@xmission.com
[-- Attachment #1: Type: text/plain, Size: 4393 bytes --]
Brad,
For some reason a piece of code from my initial patch is missing for cvs
repository after the last updates... It is performance critical... I've
attached the patch to bring it back. Or it was removed on purpose?
Regards,
Victor.
----- Original Message -----
From: "Brad Midgley" <bmidgley@xmission.com>
To: <bluez-devel@lists.sourceforge.net>
Sent: Friday, August 26, 2005 07:10
Subject: Re: [Bluez-devel] sbc and fixed-point progress
> Victor,
>
> How did you compute the floating point _anamatrix8[] and _sbc_proto_8[] in
> sbc_tables.h? (I am trying to improve the 4-subband code based on your
> 8-subband float and fixed code.)
>
> BTW, I pulled out the testcode for fixed-point decoding now that people
> will compile with fixed point enabled and expect everything to work.
>
> thanks
> Brad
>
> Victor Shcherbatyuk wrote:
>> Brad,
>>
>> I ran one more test and instead of -n flag for a2play I changed magic 87
>> to magic 50, CPU usage dropped >2 times to ~8% on ARM9@400Mhz and sound
>> is still smooth. That's how it was tested in first place which is close
>> to 30 MIPS I guess...
>>
>> Regards,
>> Victor.
>>
>>
>> -----Original Message-----
>> From: bluez-devel-admin@lists.sourceforge.net on behalf of Victor
>> Shcherbatyuk
>> Sent: Tue 8/23/2005 5:00 PM
>> To: bluez-devel@lists.sourceforge.net
>> Subject: RE: [Bluez-devel] sbc and fixed-point progress
>> Hello Brad,
>>
>> I did some test runs on ARM9@400MHz, general fixed point encoder eats up
>> ~40% of CPU time, while arm specific version - ~20%. And in both cases
>> it runs quite smooth. So the drops you had should have been caused by
>> something else (unless you run some othe applications cuncurently).
>>
>>
>> Victor.
>>
>>
>> -----Original Message-----
>> From: bluez-devel-admin@lists.sourceforge.net on behalf of Brad Midgley
>> Sent: Mon 8/22/2005 9:22 AM
>> To: bluez-devel@lists.sourceforge.net
>> Subject: Re: [Bluez-devel] sbc and fixed-point progress
>> Victor
>>
>>
>>>>I do not have HW to test arm specific version real time, hope no
>>>>suprises there, but I could have missed something when integrating it
>>>>into sbc code (it decodes well, but how fast, I will try only monday
>>>>evening).
>>>
>>>
>>>Ok, I'll load it on gumstix now and give it a try.
>>
>>
>> This is almost perfect. On a 400mhz gumstix (pxa255), I'm able to send a
>> 5-minute audio stream with only about three breaks in the audio (about 5
>> seconds each).
>>
>> I think it will work flawlessly in 4 subbands or if we can shorten a few
>> of the ops from 64 to 32 bit.
>>
>> I committed what's there and used __arm__ for the conditional asm code.
>>
>>
>>>>Using a2play needs to tweak 87 magic number, otherwise it drops samples?
>>>
>>>
>>>yes, this is disappointing. We may need to find another way to get
>>>reliable timing than setitimer.
>>>
>>>I did change the first usleep(10) to usleep(1000) and that *may* help
>>>with this problem by ensuring that we always interrupt the usleep syscall
>>>consistently. I don't have my hp headphones (the set that's very
>>>sensitive to timing) handy to test.
>>
>>
>> fwiw, I had to use the -n flag to a2play so it wouldn't use itimer at
>> all. This flag tells a2play to just send the audio as fast as it can
>> encode it.
>>
>> Brad
>>
>>
>> -------------------------------------------------------
>> SF.Net email is Sponsored by the Better Software Conference & EXPO
>> September 19-22, 2005 * San Francisco, CA * Development Lifecycle
>> Practices
>> Agile & Plan-Driven Development * Managing Projects & Teams * Testing &
>> QA
>> Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
>> _______________________________________________
>> Bluez-devel mailing list
>> Bluez-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/bluez-devel
>>
>>
>
>
> -------------------------------------------------------
> SF.Net email is Sponsored by the Better Software Conference & EXPO
> September 19-22, 2005 * San Francisco, CA * Development Lifecycle
> Practices
> Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
> Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
> _______________________________________________
> Bluez-devel mailing list
> Bluez-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bluez-devel
[-- Attachment #2: sbc.patch --]
[-- Type: application/octet-stream, Size: 888 bytes --]
? sbc.patch
Index: sbc/sbc.c
===================================================================
RCS file: /cvsroot/bluetooth-alsa/btsco/sbc/sbc.c,v
retrieving revision 1.52
diff -u -r1.52 sbc.c
--- sbc/sbc.c 27 Aug 2005 02:17:54 -0000 1.52
+++ sbc/sbc.c 27 Aug 2005 22:47:40 -0000
@@ -1432,9 +1432,15 @@
for (ch = 0; ch < frame->channels; ch++) {
for (sb = 0; sb < frame->subbands; sb++) {
if (levels[ch][sb] > 0) {
+#ifdef USE_FIXED
+ frame->audio_sample[blk][ch][sb] =
+ (u_int16_t) ((((frame->sb_sample_f[blk][ch][sb]*levels[ch][sb]) >> (frame->scale_factor[ch][sb] + 1)) +
+ levels[ch][sb]) >> 1);
+#else
frame->audio_sample[blk][ch][sb] =
(u_int16_t) (((frame->sb_sample[blk][ch][sb] / scalefactor[ch][sb] +
1.0) * levels[ch][sb]) / 2.0);
+#endif
} else {
frame->audio_sample[blk][ch][sb] = 0;
}
next prev parent reply other threads:[~2005-08-27 22:54 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-24 12:18 [Bluez-devel] sbc and fixed-point progress Victor Shcherbatyuk
2005-08-24 16:40 ` Brad Midgley
2005-08-24 21:06 ` Victor Shcherbatyuk
2005-08-26 5:10 ` Brad Midgley
2005-08-27 22:54 ` Victor Shcherbatyuk [this message]
2005-08-28 5:44 ` Brad Midgley
2005-08-28 22:26 ` Victor Shcherbatyuk
2005-08-23 20:42 ` Roberto
2005-08-29 17:08 ` Brad Midgley
2005-08-23 21:10 ` Roberto
2005-08-29 20:18 ` Brad Midgley
2005-08-29 21:04 ` Roberto
-- strict thread matches above, loose matches on Subject: below --
2005-09-07 7:14 Victor Shcherbatyuk
2005-09-07 21:18 ` Victor Shcherbatyuk
2005-08-26 8:07 Victor Shcherbatyuk
2005-08-26 8:02 Victor Shcherbatyuk
2005-08-27 3:01 ` Brad Midgley
2005-08-23 15:00 Victor Shcherbatyuk
2005-08-01 8:20 Victor Shcherbatyuk
2005-08-01 8:41 ` Brad Midgley
2005-07-28 13:14 Victor Shcherbatyuk
2005-07-28 14:59 ` Brad Midgley
2005-07-28 18:41 ` Victor Shcherbatyuk
2005-07-28 19:21 ` Victor Shcherbatyuk
2005-07-28 21:09 ` Brad Midgley
2005-08-21 18:47 ` Victor Shcherbatyuk
2005-08-21 21:56 ` Roberto
2005-08-21 22:24 ` Victor Shcherbatyuk
2005-08-22 6:15 ` Brad Midgley
2005-08-22 7:22 ` Brad Midgley
2005-09-03 15:33 ` Victor Shcherbatyuk
2005-09-03 16:05 ` Brad Midgley
2005-09-06 21:53 ` Victor Shcherbatyuk
2005-09-07 3:24 ` Brad Midgley
2005-07-04 4:03 Brad Midgley
2005-07-04 11:11 ` Marcel Holtmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='002501c5ab5a$4844ec50$0201a8c0@NBVICTOR' \
--to=victor@win.tue.nl \
--cc=bluez-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox