Rockbox.org home
Downloads
Release release
Dev builds dev builds
Extras extras
themes themes
Documentation
Manual manual
Wiki wiki
Device Status device status
Support
Forums forums
Mailing lists mailing lists
IRC IRC
Development
Bugs bugs
Patches patches
Dev Guide dev guide
Search



Donate

Rockbox Technical Forums


Login with username, password and session length
Home Help Search Staff List Login Register
News:

Rockbox Ports are now being developed for various digital audio players!

+  Rockbox Technical Forums
|-+  Rockbox Development
| |-+  Feature Ideas
| | |-+  CELT/Opus Codec
« previous next »
  • Print
Pages: [1] 2

Author Topic: CELT/Opus Codec  (Read 9773 times)

Offline vinnie97

  • Member
  • *
  • Posts: 41
CELT/Opus Codec
« on: April 12, 2011, 10:40:18 PM »
From the makers of Vorbis come this newish ultra-low bitrate codec:  

http://celt-codec.org/

This one performed impressively in the recent 64kbps listening test at HydrogenAudio:



I'll assume this one is not supported in the latest public release of Rockbox (I haven't experimented myself yet, just discovered this little known codec), but I hope it's being explored for the future.
Logged

Offline Llorean

  • Member
  • *
  • Posts: 12931
Re: CELT/Opus Codec
« Reply #1 on: April 12, 2011, 10:42:46 PM »
It's not supported, but it's really not a good idea to post things here without at least checking first. It's quite common that people bring up an idea for something that already exists within Rockbox.

It also wouldn't make much sense until the codec reaches 1.0, since a changing bitstream means old files will lose compatibility.
Logged

Offline vinnie97

  • Member
  • *
  • Posts: 41
Re: CELT/Opus Codec
« Reply #2 on: April 12, 2011, 10:46:06 PM »
I'm sorry, sorry.  I *just* read on the CELT site that new versions would likely break backwards compatibility and was about to amend my post to state that (I also did a forum search to see if it had been brought up in the forum previously, as I always do before posting).

I did look in the codec lineup in the FAQ before posting and did not see it but posted on the off-chance that a daily build of recent might have added decoding capability (before reading about lack of bitstream backwards compatibility).  
« Last Edit: April 12, 2011, 10:47:52 PM by vinnie97 »
Logged

Offline halonachos117

  • Member
  • *
  • Posts: 65
Re: CELT/Opus Codec
« Reply #3 on: May 05, 2012, 09:50:50 PM »
I, too would like to eventually see Opus supported. It seems nearly complete now. Of course, there's still the possibility that they may need to rewrite a good portion of it, but I think it's still a good idea to look into (eventually) writing a codec.
Logged
...and may the Swartz be with you! You! You!

What a world!

Offline saratoga

  • Developer
  • Member
  • *
  • Posts: 8974
Re: CELT/Opus Codec
« Reply #4 on: May 06, 2012, 11:38:53 AM »
I doubt they would make huge changes to the decoder now, so if someone wanted they could probably safely port it with only minor effort needed to sync future improvements.
Logged

Offline gmaxwell

  • Member
  • *
  • Posts: 2
Re: CELT/Opus Codec
« Reply #5 on: July 14, 2012, 10:52:38 AM »

Opus is done, the standard has been approved and is going through its final purely-editorial revisions.  Support exists in Firefox (nightly and aurora) in the audio tag, gstreamer, and is now available in many GNU/Linux distributions. Support in ffmpeg and foobar2000 is coming soon.

Support in rockbox would be fantastic, and the Opus developers would be glad to answer questions and solve any issues that come up.
Logged

Offline saratoga

  • Developer
  • Member
  • *
  • Posts: 8974
Re: CELT/Opus Codec
« Reply #6 on: July 14, 2012, 02:57:32 PM »
Quote from: gmaxwell on July 14, 2012, 10:52:38 AM
Support in rockbox would be fantastic, and the Opus developers would be glad to answer questions and solve any issues that come up.

I don't have time for another project at the moment, but I did take a look at the source code.  One concern I have is all of the malloc/free calls.  Since we don't have MMUs, we can malloc, but have only limited ability to free.  Does the codec do malloc/free calls during decoding, or only during init/clean up?  How feasible would allocating worst-case memory be in place of malloc? 
Logged

Offline gmaxwell

  • Member
  • *
  • Posts: 2
Re: CELT/Opus Codec
« Reply #7 on: July 16, 2012, 08:26:18 AM »
No malloc/free is performed during decode (or encode for that matter) itself.  ... or, if you want, at all:

There are get_size() calls that tell you how much memory the decoder will need. If you allocate a contiguous block of at least that much and call _init() on it, you're good to go. The required memory only depends on the channel count (and stream count in the case of surround support), and all streams can be decoded as stereo.

A little more complicated is the stack handling. Part of the code uses alloca or var-arrays for data on the stack.  If these aren't available it can also be compiled in 'pseudostack' mode which just uses a static array for its variable stack usage, all compile time options.  This third option is generally discouraged because its not threadsafe. ... which is probably not an issue for rockbox.

The code has been tested on pretty limited platforms, including MMU-less ones... so there shouldn't be fundamental there. While it was previously running on TMS320c55 (where int==short==char==16bits) platforms where int is 16 bits are probably bitrotted at the moment and probably have some bugs.
« Last Edit: July 16, 2012, 08:35:08 AM by gmaxwell »
Logged

Offline wodz

  • Developer
  • Member
  • *
  • Posts: 390
Re: CELT/Opus Codec
« Reply #8 on: July 16, 2012, 12:20:52 PM »
Basically all platforms on which rockbox runs have int >= 32bits and short >= 16bits so this should be no issue.
Logged

Offline jxself

  • Member
  • *
  • Posts: 1
Re: CELT/Opus Codec
« Reply #9 on: September 11, 2012, 06:23:14 PM »
Quote from: Llorean on April 12, 2011, 10:42:46 PM
It also wouldn't make much sense until the codec reaches 1.0

I just wanted to point out that 1.0 is out now.
Logged

Offline Eyeballs

  • Member
  • *
  • Posts: 4
Re: CELT/Opus Codec
« Reply #10 on: September 27, 2012, 01:01:02 PM »
Hello everyone new poster.I was wondering if/when the celt/opus codec becomes available for Rockbox will it be available for  the Iriver h300 series? I think it sounds brilliant.Plus anyone have any idea when it will be done.Many thanks and a massive thank you to everyone involved with Rockbox.Its been my saviour for a long time now  :)
Logged

Offline bluebrother

  • Developer
  • Member
  • *
  • Posts: 3421
  • creature
Re: CELT/Opus Codec
« Reply #11 on: September 27, 2012, 01:30:42 PM »
When it's done. We don't estimate timeframes. If you want to speed up development get involved with development.
Logged
Rockbox Utility development binaries (updated infrequently) · How to ask questions the smart way · We do not estimate timeframes.

Offline Eyeballs

  • Member
  • *
  • Posts: 4
Re: CELT/Opus Codec
« Reply #12 on: September 27, 2012, 07:06:22 PM »
Quote from: bluebrother on September 27, 2012, 01:30:42 PM
When it's done. We don't estimate timeframes. If you want to speed up development get involved with development.
Blimey.It was just an innocent first post.Sorry if I have offended you. :o
As for getting involved I wouldn't know where to start.
Logged

Offline AlexP

  • Global Moderator
  • Member
  • *
  • Posts: 3688
  • ex-BigBambi
Re: CELT/Opus Codec
« Reply #13 on: September 28, 2012, 09:24:39 AM »
You didn't offend him, he just accurately answered the question :)
Logged
H140, F60, S120, e260, c240, Clip, Fuze v2, Connect, MP170, Meizu M3, Nano 1G, Android

Offline Eyeballs

  • Member
  • *
  • Posts: 4
Re: CELT/Opus Codec
« Reply #14 on: September 28, 2012, 10:35:16 AM »
Alex in what way could I help.I am technically inadequate though.  :)
Logged

  • Print
Pages: [1] 2
« previous next »
+  Rockbox Technical Forums
|-+  Rockbox Development
| |-+  Feature Ideas
| | |-+  CELT/Opus Codec
 

  • SMF 2.0.17 | SMF © 2019, Simple Machines
  • Rockbox Privacy Policy
  • XHTML
  • RSS
  • WAP2

Page created in 0.127 seconds with 14 queries.