[Speex-dev] Introduction and patch
Jean-Marc Valin
jean-marc.valin at usherbrooke.ca
Thu Mar 8 14:14:55 PST 2007
Hi Dan,
Thanks for the patch, I'll apply it to svn. One question, why do you
need this:
+void kiss_fftri2(kiss_fftr_cfg cfg,const kiss_fft_scalar
*freqdata,kiss_fft_scalar *timedata);
+
Cheers,
Jean-Marc
Dan Everton a écrit :
> Hi,
>
> I'm one of the people working on the Rockbox project
> (http://www.rockbox.org) which is an open source alternative firmware
> for a range Digital Audio Players. Recently we integrated support for
> the Speex codec using libspeex and seems to work well. If you could add
> Rockbox to your list of software that supports Speex, that'd be great.
>
> So that's the introduction done. Now for the patch. Integrating libspeex
> in to Rockbox generated some warnings while compiling, so the attached
> patch should include fixes for those warnings. Hope it's useful.
>
> Cheers,
> Dan
>
>
> ------------------------------------------------------------------------
>
> diff -bu ../../../speex/libspeex/fftwrap.c libspeex/fftwrap.c
> --- ../../../speex/libspeex/fftwrap.c 2007-03-08 18:46:57.000000000 +1000
> +++ libspeex/fftwrap.c 2007-03-08 20:45:23.000000000 +1000
> @@ -165,7 +165,6 @@
>
> void spx_fft(void *table, spx_word16_t *in, spx_word16_t *out)
> {
> - int i;
> int shift;
> struct kiss_config *t = (struct kiss_config *)table;
> shift = maximize_range(in, in, 32000, t->N);
> @@ -188,9 +187,10 @@
> }
> #endif
>
> +void kiss_fftri2(kiss_fftr_cfg cfg,const kiss_fft_scalar *freqdata,kiss_fft_scalar *timedata);
> +
> void spx_ifft(void *table, spx_word16_t *in, spx_word16_t *out)
> {
> - int i;
> struct kiss_config *t = (struct kiss_config *)table;
> kiss_fftri2(t->backward, in, out);
> }
> diff -bu ../../../speex/libspeex/jitter.c libspeex/jitter.c
> --- ../../../speex/libspeex/jitter.c 2007-03-08 18:46:57.000000000 +1000
> +++ libspeex/jitter.c 2007-03-08 20:43:01.000000000 +1000
> @@ -188,7 +188,7 @@
>
> /* Copy packet in buffer */
> jitter->buf[i]=(char*)speex_alloc(packet->len);
> - for (j=0;j<packet->len;j++)
> + for (j=0;((unsigned)j)<packet->len;j++)
> jitter->buf[i][j]=packet->data[j];
> jitter->timestamp[i]=packet->timestamp;
> jitter->span[i]=packet->span;
> @@ -251,7 +251,7 @@
> float ontime_ratio_long;
> float early_ratio_short;
> float early_ratio_long;
> - int chunk_size;
> + int chunk_size = 0;
> int incomplete = 0;
>
> if (jitter->interp_requested)
> @@ -369,7 +369,7 @@
> /* Check for potential overflow */
> packet->len = jitter->len[i];
> /* Copy packet */
> - for (j=0;j<packet->len;j++)
> + for (j=0;((unsigned)j)<packet->len;j++)
> packet->data[j] = jitter->buf[i][j];
> /* Remove packet */
> speex_free(jitter->buf[i]);
> @@ -438,7 +438,7 @@
> /* Let the jitter buffer know it's the right time to adjust the buffering delay to the network conditions */
> int jitter_buffer_update_delay(JitterBuffer *jitter, JitterBufferPacket *packet, spx_uint32_t *start_offset)
> {
> - int i, j;
> + int i;
> float late_ratio_short;
> float late_ratio_long;
> float ontime_ratio_short;
> diff -bu ../../../speex/libspeex/kiss_fft.c libspeex/kiss_fft.c
> --- ../../../speex/libspeex/kiss_fft.c 2007-02-09 20:12:29.000000000 +1000
> +++ libspeex/kiss_fft.c 2007-03-08 20:33:21.000000000 +1000
> @@ -85,7 +85,7 @@
> tw3 = tw2 = tw1 = st->twiddles;
>
> if (!st->inverse) {
> - int i;
> + unsigned int i;
> kiss_fft_cpx *x=Fout;
> for (i=0;i<4*m;i++)
> {
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Speex-dev mailing list
> Speex-dev at xiph.org
> http://lists.xiph.org/mailman/listinfo/speex-dev
More information about the Speex-dev
mailing list