<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rockbox/lib/rbcodec/codecs/opus.c, branch duke3d</title>
<subtitle>My Rockbox tree</subtitle>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/'/>
<entry>
<title>Remove explicit 'enum codec_command_action' in codec API</title>
<updated>2017-12-07T19:41:59+00:00</updated>
<author>
<name>Michael Sevakis</name>
<email>jethead71@rockbox.org</email>
</author>
<published>2017-12-07T18:21:57+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=6c868dd48feb23042576119b3052f9c88280d464'/>
<id>6c868dd48feb23042576119b3052f9c88280d464</id>
<content type='text'>
Just use long so the compiler potentially doesn't complain about
use of other values not in the enum. It's also the type used
around the system for event ids.

Increase min codec API version.

No functional changes.

Change-Id: If4419b42912f5e4ef673adcdeb69313e503f94cc
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Just use long so the compiler potentially doesn't complain about
use of other values not in the enum. It's also the type used
around the system for event ids.

Increase min codec API version.

No functional changes.

Change-Id: If4419b42912f5e4ef673adcdeb69313e503f94cc
</pre>
</div>
</content>
</entry>
<entry>
<title>Opus: update resume offset correctly while playing.</title>
<updated>2016-09-07T17:44:37+00:00</updated>
<author>
<name>Adam Sampson</name>
<email>ats@offog.org</email>
</author>
<published>2016-08-26T12:42:03+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=1f8ea9fe27313228e5df67ce6447830b5c30e5e3'/>
<id>1f8ea9fe27313228e5df67ce6447830b5c30e5e3</id>
<content type='text'>
The codec wasn't calling ci-&gt;set_offset() while decoding; as a result,
the saved offset in ci.id3-&gt;offset was only updated at the start of the
file and when seeking.

To reproduce the problem in the simulator or on a real device:
- Start playing an Opus file.
- Let it play until 15s, then turn the player off.
- Turn back on and resume playback. This'll resume correctly from 15s
  (using time-based resume, I think, as the offset was 0?).
- Let it play until 30s, then turn the player off again.
- Turn back on and resume playback. This'll resume from 15s, based on
  the initial position from last time, when it should resume from 30s.

I believe this will also fix FS#12799 ("Resuming opus file from bookmark
is not working correctly").

Change-Id: Iba67368e0029c968ef802693767e0722719bc38b
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The codec wasn't calling ci-&gt;set_offset() while decoding; as a result,
the saved offset in ci.id3-&gt;offset was only updated at the start of the
file and when seeking.

To reproduce the problem in the simulator or on a real device:
- Start playing an Opus file.
- Let it play until 15s, then turn the player off.
- Turn back on and resume playback. This'll resume correctly from 15s
  (using time-based resume, I think, as the offset was 0?).
- Let it play until 30s, then turn the player off again.
- Turn back on and resume playback. This'll resume from 15s, based on
  the initial position from last time, when it should resume from 30s.

I believe this will also fix FS#12799 ("Resuming opus file from bookmark
is not working correctly").

Change-Id: Iba67368e0029c968ef802693767e0722719bc38b
</pre>
</div>
</content>
</entry>
<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>Implement time-based resume and playback start.</title>
<updated>2014-03-10T03:12:30+00:00</updated>
<author>
<name>Michael Sevakis</name>
<email>jethead71@rockbox.org</email>
</author>
<published>2013-07-14T11:59:39+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=31b712286721dd606940c7b557d03e3f714b9604'/>
<id>31b712286721dd606940c7b557d03e3f714b9604</id>
<content type='text'>
This complements offset-based resume and playback start funcionality.
The implementation is global on both HWCODEC and SWCODEC.

Basically, if either the specified elapsed or offset are non-zero,
it indicates a mid-track resume.

To resume by time only, set elapsed to nonzero and offset to zero.
To resume by offset only, set offset to nonzero and elapsed to zero.

Which one the codec uses and which has priority is up to the codec;
however, using an elapsed time covers more cases:

* Codecs not able to use an offset such as VGM or other atomic
formats

* Starting playback at a nonzero elapsed time from a source that
contains no offset, such as a cuesheet

The change re-versions pretty much everything from tagcache to nvram.

Change-Id: Ic7aebb24e99a03ae99585c5e236eba960d163f38
Reviewed-on: http://gerrit.rockbox.org/516
Reviewed-by: Michael Sevakis &lt;jethead71@rockbox.org&gt;
Tested: Michael Sevakis &lt;jethead71@rockbox.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This complements offset-based resume and playback start funcionality.
The implementation is global on both HWCODEC and SWCODEC.

Basically, if either the specified elapsed or offset are non-zero,
it indicates a mid-track resume.

To resume by time only, set elapsed to nonzero and offset to zero.
To resume by offset only, set offset to nonzero and elapsed to zero.

Which one the codec uses and which has priority is up to the codec;
however, using an elapsed time covers more cases:

* Codecs not able to use an offset such as VGM or other atomic
formats

* Starting playback at a nonzero elapsed time from a source that
contains no offset, such as a cuesheet

The change re-versions pretty much everything from tagcache to nvram.

Change-Id: Ic7aebb24e99a03ae99585c5e236eba960d163f38
Reviewed-on: http://gerrit.rockbox.org/516
Reviewed-by: Michael Sevakis &lt;jethead71@rockbox.org&gt;
Tested: Michael Sevakis &lt;jethead71@rockbox.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Opus: fix glitch caused by 2e9aa3d</title>
<updated>2013-05-21T20:38:18+00:00</updated>
<author>
<name>Nils Wallménius</name>
<email>nils@rockbox.org</email>
</author>
<published>2013-05-21T20:37:11+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=de86b4a3c5f6e2add2dc7588e6be37c8df2302f0'/>
<id>de86b4a3c5f6e2add2dc7588e6be37c8df2302f0</id>
<content type='text'>
Change-Id: I1519f3bf2cdf74f3d4741951973352b2678b7722
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I1519f3bf2cdf74f3d4741951973352b2678b7722
</pre>
</div>
</content>
</entry>
<entry>
<title>Opus: fix seeking to start of track</title>
<updated>2013-05-19T12:20:31+00:00</updated>
<author>
<name>Nils Wallménius</name>
<email>nils@rockbox.org</email>
</author>
<published>2013-05-19T12:16:22+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=a17d6de5bc727b0bb55764ecef2605ae689e8dab'/>
<id>a17d6de5bc727b0bb55764ecef2605ae689e8dab</id>
<content type='text'>
Change-Id: I8a8604d6726304d04281671b475b2f75f9bfc0e5
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I8a8604d6726304d04281671b475b2f75f9bfc0e5
</pre>
</div>
</content>
</entry>
<entry>
<title>Opus: avoid allocating space for comment packets</title>
<updated>2013-05-19T12:19:09+00:00</updated>
<author>
<name>Nils Wallménius</name>
<email>nils@rockbox.org</email>
</author>
<published>2013-05-19T10:18:43+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=2e9aa3d8b04ff56fad4ffb2f855e40dfffbd827b'/>
<id>2e9aa3d8b04ff56fad4ffb2f855e40dfffbd827b</id>
<content type='text'>
Fixes playback of files with large embedded album art.

Change-Id: I94d336e3da968a93047dd00a5fa65e4c3423a7da
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes playback of files with large embedded album art.

Change-Id: I94d336e3da968a93047dd00a5fa65e4c3423a7da
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix opus craches with large embedded album art</title>
<updated>2013-05-18T21:38:23+00:00</updated>
<author>
<name>Nils Wallménius</name>
<email>nils@rockbox.org</email>
</author>
<published>2013-05-18T17:48:08+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=c7124b552044ef92a128481d32df081d1210cbe1'/>
<id>c7124b552044ef92a128481d32df081d1210cbe1</id>
<content type='text'>
Use the tlsf malloc and friends instead of the silly
codec_malloc to get actually working free and saner
realloc that doesn't leak memory.
Makes files with moderately sized embedded AA play
on targets with large enough codec buffers and files
with too large AA are now skipped rather than crashing.
Fixes crash when playing example file in FS#12842.

Change-Id: I06562955c4d9a95bd90f55738214fba462092b71
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use the tlsf malloc and friends instead of the silly
codec_malloc to get actually working free and saner
realloc that doesn't leak memory.
Makes files with moderately sized embedded AA play
on targets with large enough codec buffers and files
with too large AA are now skipped rather than crashing.
Fixes crash when playing example file in FS#12842.

Change-Id: I06562955c4d9a95bd90f55738214fba462092b71
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve seeking in opus, tested on Sansa; not tested</title>
<updated>2012-10-14T09:26:00+00:00</updated>
<author>
<name>Frederik M.J. Vestre</name>
<email>freqmod@gmail.com</email>
</author>
<published>2012-09-25T17:17:00+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=7a7d7a2f4ca1d2474df768e2698dc9e158ba1bb0'/>
<id>7a7d7a2f4ca1d2474df768e2698dc9e158ba1bb0</id>
<content type='text'>
on a target with a disk.

Change-Id: I37c875c9cd014eb61fe5232dab0f4b8f15f057dd
Reviewed-on: http://gerrit.rockbox.org/319
Tested-by: Thiago Okada &lt;thiago.mast3r@gmail.com&gt;
Reviewed-by: Frederik Vestre &lt;freqmod@gmail.com&gt;
Tested-by: Frederik Vestre &lt;freqmod@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
on a target with a disk.

Change-Id: I37c875c9cd014eb61fe5232dab0f4b8f15f057dd
Reviewed-on: http://gerrit.rockbox.org/319
Tested-by: Thiago Okada &lt;thiago.mast3r@gmail.com&gt;
Reviewed-by: Frederik Vestre &lt;freqmod@gmail.com&gt;
Tested-by: Frederik Vestre &lt;freqmod@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>opus: asm MULT16_32_Q15 for arm and cf</title>
<updated>2012-09-25T09:40:59+00:00</updated>
<author>
<name>Nils Wallménius</name>
<email>nils@rockbox.org</email>
</author>
<published>2012-09-24T21:14:58+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=afc6b3f0215037821382c957d975dfc8f727b2a9'/>
<id>afc6b3f0215037821382c957d975dfc8f727b2a9</id>
<content type='text'>
Speeds up decoding of a 64kbps opus test file by 34MHz on h300 (cf),
24MHz on c200 (pp) and 13MHz on fuzev1 (amsv1)

Change-Id: I0dce6b3bfe6c81d0a722dfebb13891b9a428c6ba
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Speeds up decoding of a 64kbps opus test file by 34MHz on h300 (cf),
24MHz on c200 (pp) and 13MHz on fuzev1 (amsv1)

Change-Id: I0dce6b3bfe6c81d0a722dfebb13891b9a428c6ba
</pre>
</div>
</content>
</entry>
</feed>
