<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rockbox/lib/rbcodec/codecs/libopus/celt/celt.c, branch wolf3d</title>
<subtitle>My Rockbox tree</subtitle>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/'/>
<entry>
<title>Sync to upstream libopus</title>
<updated>2014-07-13T09:12:40+00:00</updated>
<author>
<name>Nils Wallménius</name>
<email>nils@rockbox.org</email>
</author>
<published>2014-01-19T15:31:59+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=9b7ec42403073ee887efc531c153e6b1b6c15bab'/>
<id>9b7ec42403073ee887efc531c153e6b1b6c15bab</id>
<content type='text'>
Sync to commit bb4b6885a139644cf3ac14e7deda9f633ec2d93c

This brings in a bunch of optimizations to decode speed
and memory usage. Allocations are switched from using
the pseudostack to using the real stack. Enabled hacks
to reduce stack usage.

This should fix crashes on sansa clip, although some
files will not play due to failing allocations in the
codec buffer.

Speeds up decoding of the following test files:

                 H300 (cf)   C200 (arm7tdmi)  ipod classic (arm9e)
16 kbps (silk)   14.28 MHz   4.00 MHz         2.61 MHz
64 kbps (celt)   4.09 MHz    8.08 MHz         6.24 MHz
128 kbps (celt)  1.93 MHz    8.83 MHz         6.53 MHz

Change-Id: I851733a8a5824b61feb363a173091bc7e6629b58
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Sync to commit bb4b6885a139644cf3ac14e7deda9f633ec2d93c

This brings in a bunch of optimizations to decode speed
and memory usage. Allocations are switched from using
the pseudostack to using the real stack. Enabled hacks
to reduce stack usage.

This should fix crashes on sansa clip, although some
files will not play due to failing allocations in the
codec buffer.

Speeds up decoding of the following test files:

                 H300 (cf)   C200 (arm7tdmi)  ipod classic (arm9e)
16 kbps (silk)   14.28 MHz   4.00 MHz         2.61 MHz
64 kbps (celt)   4.09 MHz    8.08 MHz         6.24 MHz
128 kbps (celt)  1.93 MHz    8.83 MHz         6.53 MHz

Change-Id: I851733a8a5824b61feb363a173091bc7e6629b58
</pre>
</div>
</content>
</entry>
<entry>
<title>Sync opus codec to upstream git</title>
<updated>2013-08-31T06:30:51+00:00</updated>
<author>
<name>Nils Wallménius</name>
<email>nils@rockbox.org</email>
</author>
<published>2013-05-20T20:25:57+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=580b307fd791c0997a8831bc800bba87797bfb7e'/>
<id>580b307fd791c0997a8831bc800bba87797bfb7e</id>
<content type='text'>
Sync opus codec to upstream commit
02fed471a4568852d6618e041c4f2af0d7730ee2 (August 30 2013)

This brings in a lot of optimizations but also makes the diff
between our codec and the upstream much smaller as most of our
optimizations have been upstreamed or supeceded.

Speedups across the board for CELT mode files:

        64kbps      128kbps
H300    9.82MHz     15.48MHz
c200	4.86MHz     9.63MHz
fuze v1 10.32MHz    15.92MHz

For the silk mode test file (16kbps) arm targets get a speedup
of about 2MHz while the H300 is 7.8MHz slower, likely because it's
now using the pseudostack more rather than the real stack which
is in iram. Patches to get around that are upcomming.

Change-Id: Ifecf963e461c51ac42e09dac1e91bc4bc3b12fa3
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Sync opus codec to upstream commit
02fed471a4568852d6618e041c4f2af0d7730ee2 (August 30 2013)

This brings in a lot of optimizations but also makes the diff
between our codec and the upstream much smaller as most of our
optimizations have been upstreamed or supeceded.

Speedups across the board for CELT mode files:

        64kbps      128kbps
H300    9.82MHz     15.48MHz
c200	4.86MHz     9.63MHz
fuze v1 10.32MHz    15.92MHz

For the silk mode test file (16kbps) arm targets get a speedup
of about 2MHz while the H300 is 7.8MHz slower, likely because it's
now using the pseudostack more rather than the real stack which
is in iram. Patches to get around that are upcomming.

Change-Id: Ifecf963e461c51ac42e09dac1e91bc4bc3b12fa3
</pre>
</div>
</content>
</entry>
<entry>
<title>opus: speed up mdct overlap add and copying</title>
<updated>2012-10-06T22:31:08+00:00</updated>
<author>
<name>Andree Buschmann</name>
<email>AndreeBuschmann@t-online.de</email>
</author>
<published>2012-10-06T22:29:21+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=c7840e745e9359f8210e5112bef388c4e3157765'/>
<id>c7840e745e9359f8210e5112bef388c4e3157765</id>
<content type='text'>
Unroll overlap add loop by four and use memcpy for copying
instead of loops.

Change-Id: I17114626a395d5972130251d892f851bc86e3a6a
Signed-off-by: Nils Wallménius &lt;nils@rockbox.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Unroll overlap add loop by four and use memcpy for copying
instead of loops.

Change-Id: I17114626a395d5972130251d892f851bc86e3a6a
Signed-off-by: Nils Wallménius &lt;nils@rockbox.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>opus: slight speedup of deemphasis</title>
<updated>2012-10-06T12:51:01+00:00</updated>
<author>
<name>Andree Buschmann</name>
<email>AndreeBuschmann@t-online.de</email>
</author>
<published>2012-10-06T12:51:01+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=da67f66eedd38a1576e182f74d354e12949608f9'/>
<id>da67f66eedd38a1576e182f74d354e12949608f9</id>
<content type='text'>
Hoist load of coefficients out of the loop.

Speeds up decoding of a 64kbps test file by 0.6MHz on h300 (cf)
0.2MHz on c200 (pp) and 0.1MHz on fuzev1 (amsv1)

Signed-off-by: Nils Wallménius &lt;nils@rockbox.org&gt;

Change-Id: I4be0059fc2a77748575f5fc9378f7f348d64f1c4
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Hoist load of coefficients out of the loop.

Speeds up decoding of a 64kbps test file by 0.6MHz on h300 (cf)
0.2MHz on c200 (pp) and 0.1MHz on fuzev1 (amsv1)

Signed-off-by: Nils Wallménius &lt;nils@rockbox.org&gt;

Change-Id: I4be0059fc2a77748575f5fc9378f7f348d64f1c4
</pre>
</div>
</content>
</entry>
<entry>
<title>opus: speed up comb_filter</title>
<updated>2012-10-06T12:25:20+00:00</updated>
<author>
<name>Andree Buschmann</name>
<email>AndreeBuschmann@t-online.de</email>
</author>
<published>2012-10-06T12:17:30+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=dceec0909295b56c140b83cd6f8d019fddb2b689'/>
<id>dceec0909295b56c140b83cd6f8d019fddb2b689</id>
<content type='text'>
Skip expensive multiply-accumulate loop when gains are 0 and
just copy using memcpy if soure and destination are not the same

Speeds up decoding of a 64kbps test file by 6MHz on h300 (cf)
7MHz on c200 (pp) and 6MHz on fuzev1 (amsv1)

Change-Id: Ibbc9ddfd45a9ac661467b1327b8c67761924fb8b
Signed-off-by: Nils Wallménius &lt;nils@rockbox.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Skip expensive multiply-accumulate loop when gains are 0 and
just copy using memcpy if soure and destination are not the same

Speeds up decoding of a 64kbps test file by 6MHz on h300 (cf)
7MHz on c200 (pp) and 6MHz on fuzev1 (amsv1)

Change-Id: Ibbc9ddfd45a9ac661467b1327b8c67761924fb8b
Signed-off-by: Nils Wallménius &lt;nils@rockbox.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>opus: allocate buffers for X and freq in iram</title>
<updated>2012-10-01T19:37:03+00:00</updated>
<author>
<name>Andree Buschmann</name>
<email>AndreeBuschmann@t-online.de</email>
</author>
<published>2012-10-01T19:33:27+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=b6bcb1338e06c3cfcc7e844dd248c332743de5c6'/>
<id>b6bcb1338e06c3cfcc7e844dd248c332743de5c6</id>
<content type='text'>
speeds up decoding of 64kbps test file by 19MHz on h300 (cf)
and 2.5MHz on c200 (pp)

Change-Id: Idacd2f8962c20c518055d586daeec6b932b7ded2
Signed-off-by: Nils Wallménius &lt;nils@rockbox.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
speeds up decoding of 64kbps test file by 19MHz on h300 (cf)
and 2.5MHz on c200 (pp)

Change-Id: Idacd2f8962c20c518055d586daeec6b932b7ded2
Signed-off-by: Nils Wallménius &lt;nils@rockbox.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>opus: speed up deemphasis</title>
<updated>2012-09-27T22:09:54+00:00</updated>
<author>
<name>Nils Wallménius</name>
<email>nils@rockbox.org</email>
</author>
<published>2012-09-25T17:28:32+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=082cd01eb212e9d973f64b3e90ed8e3345026ac5'/>
<id>082cd01eb212e9d973f64b3e90ed8e3345026ac5</id>
<content type='text'>
Remove downsampling code from deemphasis loop as we don't use
it and remove multiplications that are not relevant when
not using custom modes. Saves 1.4MHz on h300 (cf), 4.3MHz on
c200 (pp) and 4.6 on fuzev1 (amsv1).

Change-Id: Iab3f1d737a656a563aaa351d50db987a9cff2287
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove downsampling code from deemphasis loop as we don't use
it and remove multiplications that are not relevant when
not using custom modes. Saves 1.4MHz on h300 (cf), 4.3MHz on
c200 (pp) and 4.6 on fuzev1 (amsv1).

Change-Id: Iab3f1d737a656a563aaa351d50db987a9cff2287
</pre>
</div>
</content>
</entry>
<entry>
<title>opus: #if 0 out some unused code</title>
<updated>2012-09-24T13:20:21+00:00</updated>
<author>
<name>Nils Wallménius</name>
<email>nils@rockbox.org</email>
</author>
<published>2012-09-22T10:01:01+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=f49814214355913458f9f7635561365afa5bc7aa'/>
<id>f49814214355913458f9f7635561365afa5bc7aa</id>
<content type='text'>
Change-Id: I16fa9b439f8da5b9b8a4f17040487b9535078ec5
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I16fa9b439f8da5b9b8a4f17040487b9535078ec5
</pre>
</div>
</content>
</entry>
<entry>
<title>Initial opus codec support</title>
<updated>2012-09-20T18:47:44+00:00</updated>
<author>
<name>Frederik M J Vestre</name>
<email>freqmod@gmail.com</email>
</author>
<published>2012-07-26T12:38:32+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=1b8e3801b2444f6e466e1b7c09cfc51605e80fb3'/>
<id>1b8e3801b2444f6e466e1b7c09cfc51605e80fb3</id>
<content type='text'>
Synchronised with opus repo on github (https://github.com/freqmod/rockbox-opus)

Status:
* Seeking ported from speex, but fails on some cases (e.g. seek to granule 0)
* ReplayGain parsing needs to be reworked, we do vorbis-style replaygain now.
  http://wiki.xiph.org/OggOpus#Comment_Header explicitly forbids these in
  favour of R128_TRACK_GAIN tag.
* No optimisation yet, source files still nearly identical to opus upstream
* Multi-stream opus files may not be parsed correctly

Change-Id: Ia66f1027dc1d288083e3c57b2816700078376f9a
Reviewed-on: http://gerrit.rockbox.org/300
Reviewed-by: Bertrik Sikken &lt;bertrik@sikken.nl&gt;
Tested-by: Bertrik Sikken &lt;bertrik@sikken.nl&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Synchronised with opus repo on github (https://github.com/freqmod/rockbox-opus)

Status:
* Seeking ported from speex, but fails on some cases (e.g. seek to granule 0)
* ReplayGain parsing needs to be reworked, we do vorbis-style replaygain now.
  http://wiki.xiph.org/OggOpus#Comment_Header explicitly forbids these in
  favour of R128_TRACK_GAIN tag.
* No optimisation yet, source files still nearly identical to opus upstream
* Multi-stream opus files may not be parsed correctly

Change-Id: Ia66f1027dc1d288083e3c57b2816700078376f9a
Reviewed-on: http://gerrit.rockbox.org/300
Reviewed-by: Bertrik Sikken &lt;bertrik@sikken.nl&gt;
Tested-by: Bertrik Sikken &lt;bertrik@sikken.nl&gt;
</pre>
</div>
</content>
</entry>
</feed>
