Hello I'm working on a fix-point decoder for AOS/Bluebottle - the proprietary OS of ETH Zurich. I've some problems with Floor0-curve-computation: I don't know what the little omega [cos(w)] stands for, line 3 of the official Vorbis documentation. Does anybody knows what this value means? I've tried to get the answer from the jOrbis and Tremor, but both seem to do - among other things - Floor0-Curve-Computation somehow different than the official documentation. Btw, isn't it recommed to implement as the official documentation proposes? Thanks Christian Wassmer --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'vorbis-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
> -----Original Message----- > From: owner-vorbis-dev@xiph.org > [mailto:owner-vorbis-dev@xiph.org] On Behalf Of Christian Wassmer > Sent: Wednesday, October 15, 2003 12:27 PM > To: vorbis-dev@xiph.org > Subject: [vorbis-dev] Floor0-decode-curve > > Hello > > I'm working on a fix-point decoder for AOS/Bluebottle - the > proprietary > OS of ETH Zurich. > > I've some problems with Floor0-curve-computation: I don't > know what the > little omega [cos(w)] stands for, line 3 of the official Vorbis > documentation. Does anybody knows what this value means?Indeed not described but looking at libvorbis I would tend to assume w = pi*map[i]/floor0_bark_map_size. André --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'vorbis-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
On Wed, 2003-10-15 at 06:27, Christian Wassmer wrote:> [...] Btw, isn't it recommed to implement as > the official documentation proposes?Yes and no. It is not only recommended but actually required for a spec-compliant decoder to implement the decoding process as described in the specification (minus possible errors and omissions in the spec). However, the implementation only needs to be mathematically equivalent to the one set forth in the spec. It is permitted to deviate from the exact algorithms for optimization purposes, as long as the end result is the same (or close enough within some epsilon that probably ought to be defined somewhere :) -Carsten <p>--- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'vorbis-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
In lsp.c of an older distribution (I did not check if this is still in lsp.c): /* side effect: changes *lsp to cosines of lsp */ void mudec_lsp_to_curve(float *curve,int *map,int n,int ln,float *lsp,int m, float amp,float ampoffset){ int i; float wdel=M_PI/ln; for(i=0;i<m;i++)lsp[i]=2.f*cos(lsp[i]); i=0; while(i<n){ int j,k=map[i]; float p=.5f; float q=.5f; float w=2.f*cos(wdel*k); for(j=1;j<m;j+=2){ q *= w-lsp[j-1]; p *= w-lsp[j]; } if(j==m){ /* odd order filter; slightly assymetric */ /* the last coefficient */ q*=w-lsp[j-1]; p*=p*(4.f-w*w); q*=q; }else{ /* even order filter; still symmetric */ p*=p*(2.f-w); q*=q*(2.f+w); } q=fromdB(amp/sqrt(p+q)-ampoffset); curve[i]*=q; while(map[++i]==k)curve[i]*=q; } } Hope this helped, Csaba> -----Original Message----- > From: owner-vorbis-dev@xiph.org [mailto:owner-vorbis-dev@xiph.org]On > Behalf Of Christian Wassmer > Sent: Wednesday, October 15, 2003 12:27 PM > To: vorbis-dev@xiph.org > Subject: [vorbis-dev] Floor0-decode-curve > > > Hello I'm working on a fix-point decoder for AOS/Bluebottle - > the proprietary OS of ETH Zurich. I've some problems with > Floor0-curve-computation: I don't know what the little omega > [cos(w)] stands for, line 3 of the official Vorbis > documentation. Does anybody knows what this value means? I've > tried to get the answer from the jOrbis and Tremor, but both seem > to do - among other things - Floor0-Curve-Computation somehow > different than the official documentation. Btw, isn't it > recommed to implement as the official documentation proposes? > Thanks Christian Wassmer --- >8 ---- List archives: > http://www.xiph.org/archives/ Ogg project homepage: > http://www.xiph.org/ogg/ To unsubscribe from this list, send a > message to 'vorbis-dev-request@xiph.org' containing only the word > 'unsubscribe' in the body. No subject is needed. Unsubscribe > messages sent to the list will be ignored/filtered. > --- > Incoming mail is certified Virus Free. > Checked by AVG anti-virus system (http://www.grisoft.com). > Version: 6.0.509 / Virus Database: 306 - Release Date: 8/12/2003 >--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.509 / Virus Database: 306 - Release Date: 8/12/2003 --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'vorbis-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
On Wed, 15 Oct 2003, Christian Wassmer wrote:> Hello > > I'm working on a fix-point decoder for AOS/Bluebottle - the proprietary > OS of ETH Zurich. > > I've some problems with Floor0-curve-computation: I don't know what the > little omega [cos(w)] stands for, line 3 of the official Vorbis > documentation. Does anybody knows what this value means?Check the mail archive. I posted a similar question which got anwered. I think the subject was "some more spec questions" bye, Sebastian --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'vorbis-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
On Wed, 15 Oct 2003 12:27:11 +0200, Christian Wassmer <chwassme@student.ethz.ch> wrote:> I've some problems with Floor0-curve-computation: I don't know what the > little omega [cos(w)] stands for, line 3 of the official Vorbis > documentation. Does anybody knows what this value means?You already got some great answers but I thought I'd pitch in as well. In signal processing in general little omega (or w) stands for frequency. In particular, a frequency normalized so that 2*Pi equals the sampling frequency. I wouldn't know about Vorbis spec. -- Tuomo --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'vorbis-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.