From: Marcel Holtmann <marcel@holtmann.org>
To: Siarhei Siamashka <siarhei.siamashka@nokia.com>
Cc: linux-bluetooth@vger.kernel.org
Subject: Re: [PATCH/RFC] SIMD optimizations for SBC encoder analysis filter
Date: Fri, 16 Jan 2009 00:29:12 +0100 [thread overview]
Message-ID: <1232062152.15331.2.camel@californication> (raw)
In-Reply-To: <200901152134.02777.siarhei.siamashka@nokia.com>
Hi Siarhei,
> > > > The attached patch contains what I would consider to be a final
> > > > variant. MMX support is now complete. It works for both x86 and amd64,
> > > > has runtime autodetection of MMX availability, supports 4 and 8
> > > > subbands cases. I also ensured that only original MMX instructions are
> > > > used (and no SSE or other later additions), so the code should work
> > > > fine even on the old Pentium1 MMX. New MMX optimized functions produce
> > > > bit identical results when compared with bluez-4.25 release.
> > > >
> > > > With this patch applied, new filtering functions are noticeably faster
> > > > than than the old ones on x86 (so now they are both faster and have
> > > > better quality). Assembly optimizations for the other platforms can be
> > > > easily added too.
> > >
> > > can you re-base your patch against the latest tree and re-send the
> > > patch.
> >
> > Yes, I will submit an updated SIMD optimizations patchset in a few days.
>
> Updated patches are attached.
>
> Performance improvement when testing with big buck bunny soundtrack varies
> somewhere between 1.4x (4 subbands, MMX analysis filter, Intel Core2 CPU) and
> 2x factor (8 subbands, NEON analysis filter, ARM Cortex-A8 CPU). But these
> numbers are for default bitpool settings (32) and no joint stereo, this
> configuration is quite sensitive to analysis filter performance.
>
> SIMD optimized code provides exactly the same output as C version.
>
> But even with this optimization done, there are still a lot more things
> to improve. I'm going to improve input data permutation/endian
> conversion/channels deinterleaving next. Also scalefactors processing
> can be vectorized. Audio quality can be still improved by tweaking
> constant tables.
patch has been applied. Thanks.
Regards
Marcel
prev parent reply other threads:[~2009-01-15 23:29 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-31 16:03 [PATCH/RFC] SIMD optimizations for SBC encoder analysis filter Siarhei Siamashka
2008-12-31 20:55 ` Luiz Augusto von Dentz
2009-01-02 16:33 ` Siarhei Siamashka
2009-01-02 19:40 ` Luiz Augusto von Dentz
2009-01-04 17:56 ` Siarhei Siamashka
2009-01-06 2:50 ` Marcel Holtmann
2009-01-01 8:58 ` Marcel Holtmann
2009-01-02 16:07 ` Siarhei Siamashka
2009-01-02 16:27 ` Brad Midgley
2009-01-02 17:11 ` Siarhei Siamashka
2009-01-02 18:03 ` Brad Midgley
2009-01-05 11:08 ` Simon Pickering
2009-01-05 8:57 ` Siarhei Siamashka
2009-01-06 2:49 ` Marcel Holtmann
2009-01-06 5:27 ` Christian Hoene
2009-01-06 5:45 ` Marcel Holtmann
2009-01-07 9:31 ` Siarhei Siamashka
2009-01-09 16:50 ` Siarhei Siamashka
2009-01-15 19:34 ` Siarhei Siamashka
2009-01-15 23:29 ` Marcel Holtmann [this message]
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=1232062152.15331.2.camel@californication \
--to=marcel@holtmann.org \
--cc=linux-bluetooth@vger.kernel.org \
--cc=siarhei.siamashka@nokia.com \
/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